Bonjour,
En complément de ma réponse d'hier soir, le fonctionnement des PIC 8bits que je connais, est basé sur des instructions qui durent 4 cycles d'horloge principale.
C'est vrai du 12F683, cf DS page 101:
"One instruction cycle consists of four oscillator periods; for an oscillator frequency of 4 MHz, this gives a nominal instruction execution time of 1 μs. All instructions are executed within a single instruction cycle, unless a conditional test is true, or the program
counter is changed as a result of an instruction. When this occurs, the execution takes two instruction cycles, with the second cycle executed as a NOP."
L'horloge est fournie soit en interne, soit en externe. Dans le cas interne, ta fréquence System Clock (page 19) va de 8 MHz à 31 KHz (ie par divisions par 2, soit 1/2^n) selon le choix que tu fais. Cette horloge System clock va donc être divisée par 4 pour fournir le CYCLE d'INSTRUCTION et les entrées FOSC/4 de chacun des timers.
Pour chaque timer il existe la possibilité de diviser ou non par une puissance de 2 l'entrée FOSC/4 afin d'allonger la période d'incrément des Compteurs Timers.
Tu as donc la possibilité d'une période de comptage de 0.5 µs (si tu pars de 8 MHz)...jusqu'à beaucoup plus long selon les valeurs que tu auras chargées dans les prescalers de tes timers (mais valeurs en nombre limité et toujours en 1/2^n). Autrement dit ta période d'incrémentation des compteursTimers ne prend que certaines valeurs. La précision maximale que tu pourras obtenir du Timer0 sera donc, si tu pars de 8 MHz, de 0.5 µs.
Par pré-chargement des timers à une valeur donnée (à calculer par tes soins donc) tu pourras alors générer des évènements avec cette précision sur une plage pas très large (TMR 8 bits) ou plus large (TMR 16 bits). Par ex si tu charges TMR0 à 47 (decimal) tu pourras avoir un événement (débordement de TMR0 donc INTerruption) toutes les 47*0.5µs = 23.5 µs (Horloge à 8 MHz). Pour un TMR16 bits, avec 2000 (décimal) tu pourras avoir un évènement chaque 1 ms (Horloge à 8 MHz).
Voilà le principe, à toi de jouer !
PS: Si d'aventure tu ne connaissais pas les
super tutos de BigOnOff sur les pics 8 bits en français, je viens de vérifier que son site était toujours vivant. Voici l'URL:
https://www.abcelectronique.com/bigonoff/Cdlt
Yffig