Vous êtes sur la page 1sur 4
etn -Dipuimert ecroie ane sym ne LUEM TP sstimes’ micocontréleurs ‘TPN3 Les Timers du Microcontrbleur ATMEGA 328, LUnemege 328 passe 3timers/eompteurs TC} Is sont nerémentés tous les N teks etroroges ‘Le TIMER O est un timer/compteur de & bits qui compte jusqu’ 256 (08 258), ‘Le TIMER 1 est un timer/compteur de 16 bits qui compte jusqu's 65536 (08 65535), + Le TIMER 2 est un timer/compteur de 8 bits qui compte jusqu’a 256 (08255 mais diffrent du Le signal thorloge d'un comteur pout van du signal horloge du mcrocontréleur at dans ce csi ‘ot posible de diminuor ss valour utilisant un prescoter (visor). ‘Chaque timer/compteur: TCest quips, *'D’un prédivseur (presale) associé au TC correspondant, + De deux rgitres indépendants de comparison par TC, de all dentique au tnet/eompteur: ‘Ten Contrle Registre A et Ten Controle Registre 8 * D’une posit de faire fonctonner le compteuren mode Normal ou CTC (Clese-Timer-on Compare}. ‘De 3 sources d'interruption indépendantes: + Interruption par déassement du comptage d'un timer/compteur : OVERFLOW, Sigraé par un Flog (rapeau) Téa FR Overtow, + Interruption parégalé entre les valeurs contenues dans un a les deux regltes de comparaizon ‘Aer, Signalé par un Flag (drapeau) Ten IFRA ou. + D’un masque dinteruption,autorisantindvcvellement les interruptions + Par Comparaison + Par Comparaison , * Par Over, + D’une autorsation générale des interruptions. ‘Chaque patie permetant le délenchement d'une Interruption eet contréie par des reqitres internes au mirocontréleur- Le tier/compteur peut se rerésenter comme un escale. Pour un rmlcrocontrdleur Ataga328 cadencf 4 16M. un top dhorioge surviant tous les 62,5 n= {ranoseconde) etn -Dipuimert ecroie ane sym ne ‘Achaque top harloge on gavte une marche de escalor Tren + Pour le imer/compteur 0 ou2 :Trnen=1/16Mh2=625 ns, Lescalier est gravien 62,5 ns * 256=16 1s (62,5 Kr), + Pour le timer/compteur 1 62,5 ns * €5536~ 6,096 ms, Lesa est graven 4,098 ms (248 Ha). — drcompreer Aegistres de base et drapeaux des timers Tenth (Timer/Counter Resistor: ogistre Timer/Counter: permet de stocker a valour actuelle du timer lLeomnpte 8 chaque Impulson éhorege Se ntaise (TENT = 0} quard il attein ls valeur Max Registre on lecture/éeriture. “TOV: indicateur de débordement de Timer/Counter chaque Timer/Counter aun ndiatour de dépassement, Loraqily aun débordement, cat indicateur est activg ‘TECRa (n=0A,18,24,0818 26) (Timer/Counter Contra Register): Registre de conte du Timer/Counter (est un registe de configuration ulsé pour réglerles modes du Timer (ermal, CTC PWM) le che de thoroge(intere/ extern, fréquence ahoroge, ‘Ockon{n=A.8) (Output Compare Reecter: registre de comparaizon de sorte Le valeurde ce este est comparée au contenu du cegste TCNTh. Quand is sont eau edrepeau locrn sera ati. {ex > Input Capture Register, juste pour le timert; “TIM (x20,1,2]- Timer/Counter Interrupt Mask Reiser, reise qui perme de valider ou non les Jmerruptions ede cis les interruptions décienchés; “TuFRx (x20,3,2)-3Tier/Counter Interrupt Fag Register Le micocontroleur ATeg9328° content en ‘3 regstresdrapeaux flag en anglais) aul permettentoalerter url fat qu'il sest prodult un Gvanementparticaler sur un timer. Ces egstres portent ls noms de ‘+ TERO pour letimero + TERL pour letimort 4+ TIER2 pour etimer2 Les bits TOVO, TOV1, et TOV2, correspondantrespectivoment2uxtimer0, 1, et2, quipassent «1 48s lors quily a dabordement overiow). Ce bit est rns (zero) chaaue fis quel routine de rue ass Dissent erent ane sym ne rue ass Dissent erent ane sym ne senice dintaruption (15) est exécutéa, Sil nya pas dISR 3 exécuter, nous powonsafacar rente rmanullament en y érivant un x ” Remarque importante: Un dapeau ext eve lreque son i eorespondan et passe 81» ltetion, pour remete eb 2, ine favre pas inser la valeur 0 par-dessus, mals fara pot insite valewr 1 dans ce Bt, pour qu repasse 30 (Cte fgon de faite est surprenante, mais Cet construct gus ater) Timer © | Timer 1 | Timer? Rate TCNTO_|TCNTHL_|TCNT? | Finer OHO 7) TENTH = Timer tit 8415) "TCCRTA [TCCRIA | TOCRDA | Registre de cone "TCCROB | TCCRIB | TOCR2B [Registre de contle TecRic |= ‘Registre de comrale ‘OCRON | OCRIAL. [OCRIA [Output Compare ta) : ‘OCRIAIT = ‘Ouiput Compare bit 8 15) ‘OCROB_| OCRIBL [OCRSB | Output Compare bit0a7) 5 OCRIBHT| = ‘Output Compare bit 8 15) = eri [= Tnput Caprre (bit 047) : TcRIH— [= Input Capture bit 15) “THMISKD-[ TIMISKT_| TINS [rterrupe Mask TTHERO | TIFR1 | TIFR? _[Toverrup Flag Usiisation et made defonctionnement Le eho du mode de fontionnerents fat danse relstre TCR. Modenormel (Cest le mode le plus simple. Le TIMER se comporte comme un compteur stander part de sa valeur la plus basse BOTTOM (0x00) et incrémente le reste TENT 8 chaque coup d’horoge, puis repart de (BOTTOM) apres avoir tents valeur max TOP (OxFF pour ls TIMER Oe 1, OxFFF pour le TIMER 2. Le flag OVER FLOW du roglstre TIER passe 1 sur Fimpusion horloge ql sult Tatteinte dela valeur max et peut étre utilis comme un neuvibme bit, En conigurant le cegste TIMSK, il ert possible de <éctencher ne interruption sur le TOP ou sur une valeur de comparason dine dans le registre OCR. Lancement dela routine ——- 6) Te256*TTagn. 256°N"Tue ‘Mode €T¢ clear Timer an Compare) Dans ce mode de fonctionnement,laremise 0 du compteur’ lieu quand la valeur dureisre TCNTX cat dane bla valeur intiliade dans le egstre Oi Lancemant dela routne interupton Uri ie i Diurtmet ecn ane seenyamrer (commode os tise pour: Ingestion de déclenchamant &événament&itervale de tern gulls Pour cela i sufi ators les interruptions sur comparaison dar le regstre TMSK, ‘erie traiteent de Fvénerent donee routine interruption Nousavons 2 possibltés pourla génération des signaux horloge 1. soften contbant état det sortas dun PORT dans une routine interruption (vir ci- dessus) 2. soit enactvant tcontrlant sorte OCx asroce au TIMER par les bits 4 at Sd este TCR ‘Evemple 1: 0CDconfgurée en Toggle OCO on compare match la Sortie OCO charge d'état & chaque {ols que TENT=OCRO — oot a VT. i “ eS to waa Vole & quo! correspondent les diferentes interruptions ‘+ Compare Match > quand le timer atteint une certaine valeur, defnie dans le registre de comparason OCRKA/B, + Timer OVerfow - quand le timer ative s valour maximale i recommence 8 compter partir: e 20.e une interruption ost génére. + Input Capture > quand une brache spécfique (ICP2) change état la valeur courante du timer {ICRI) ext copige don le registre ICRI pour une consultation utérieur Cele permet de savoir ‘quand. eulie le deer changement pour sins mesurer le temps antee chaque impulse, |r | Tart t ‘ens conn tweet weno Pour exécutor une Sf, uff sppelerla fonction et duties le vectour associ, Pat example, pour Nieteruption TIMERS cOMPA: IsR(TIMERL_COMPA vec 1/080. ) Leprescaler: Avec une réquence horloge de Mhz, un cycle dhovioge T=i/fe1/16000000=82.Sns 1+ lestimers0 et 2, de tala 8 bits, ne pourons compte qu’une valeur de 2 permet de calculerun temps maxde 16 us (256° 625ns) + letimer 1, ce tate 16 bts, ne pourra compter qu'un temps de 4,096ms (62,5ns * 65536); 56 ce quinous Pour powvolr comer des valeurs de temps plus grandes que 4ms, suit de dlvser la base de temps, ‘Ceath-ir ne pas nerémenter a valourdu timer tous este @horlge. La modifestion da base de temps de increment est rendu possible rice au prescoler qui permat un ierdment tous les 8, 64,128, 256.04 1024 Heke Configuration d'un Timer/Counter DATABUS Diagramme d'un Timer Un timer gore deux broches de sori; la gure c- permet de comprendrearchitectare d'un boc ter ‘Surcette figure, lo etre« n» et utlsge pour désgner le numéro du timer (n= 0, 1,2). Le signal ahovloge ck artve la logigue de conte, en provenance de Fetéreur (Ta) ou bien de Thocloge interne et du prscaer La legiaue de contrée incrémente ou décrémante la timer TENTH at celuel est comparé oun volours des registres OCRNA et OGRA). Lorsguly @ 66, un signal est abr 5 abr = Uri de i Diurenet ecrni ane tanya ‘envoy aun boc appels © Waveform Generation» (énération del forme ond) et est ce bloc gui met en forme la PWIM en positionnant 80 ou le registre des braches OCMA ou CAB. Bien entend, ces broches doivent avoir été déclardes comme ds sorties auparavant. Travail a faire ‘exercice 1: Timer bits en mode Normale sans utlsation des interuptons Explque le programme suivant ensue lteter pratiquerent suri carte Arduino, ‘lncudecaveast> {define LED PDS lit maint) t ‘int UerOverflonCount0; ‘DDRD=0610000; ‘TeNTO=0300; TecROA=C; ‘TeCROS = (1<=50) { PORTO Ms (1 << LED); timerOverflowCount-0; ) ‘Exercice 2: Timer 16 bis en made Normale sans wtlsotion des interruptions Reprende exemple 1 du timer? de dignotement de a LED surPDS toutes les 100 ms mas sure Timer. ‘xercice 3: Timer en mode Normale avec utisation des interruptions: Completers programme sant pour changer état une LED de facon pode (chaque second) sir la broche P82. Pour le Time 2,2 chaque debordement de TCNT2(pasage de OxF a 300) uneintetuption TMER2 OVE vect peut etre explotée, faut donc acer ce mecanlsme en ulsantleregtre 1] "Semon? on mode nomais avec interruption our dibordenant, Uf Fonction dm seaitemne 29 diner 8 over mena; _// actives interruption over flow ds Himes? 1] abtatation dee interruption rota Leept) ( /* ssoun teastenent/ ‘Exercice 4: Timerl en mode CTC ans interruption = Compléter le programme suvant pour faieclgnoter une LED 8 une fréquence 1 He sur un rierocontréleur ATMEGA329,fonetionnant 3 26MHs Sion utilise un préiviseur par 1024, quelle este nombre de tks quilfaut compter pour une lode de 1. Usiizer le made de baseulement debt (ogee ftepetade 11 configures ta proche relative A o2ih “y if snitaatasee “Ovi avee 2 iee"1024 (Choer/ioz0 JMgeeosier i sortic 4 chaqe conparaicon avec grice aur bits cOMAD et CoMIAL , Exercice 5 :Exemple Timer] en mode CTC avec interruption de comparaison Motif le code de Fexercice précédont pour rempacer le basculemont matériel de la broche OCIA parle basculement dela broche PES (tovjoure 3 un Her). Hinetuds TEAST gar pintine ow Yonconas cown vest) 11 anotament de 523 , de masnt 7/ initiatseation pour ta sompareteon Soman s/f ctntigarer Bos am sortie Uf Proncater 2026 (Clock/3026) ious f 1 7)ias as tamer quanc compazateon (C7) [i Reroter ie ie bacculenent aateriel tur OCIA svec Lee bite COMLAO ot COMIAL Zinon sitiaiioe ie vogiatre de compazaseoe G7 ratociaation ies’ Witermuptions du timer Compase & {Jourrer de nowves les interruptions 4 , ‘Som 11 contigueer FE row nas /) baa a0 ‘xercice 6: Timer 1 en mode CTC AO ncten einer 2 Faire basculer une LED chaque seconde écoulée,Utlser un prescaler de 256 et interruption de eckaae sy 1/ ode toral (pas m9 comparaion, ecnape > //sueseater 2024 (eleck/1020) abi 7 abr 7

Vous aimerez peut-être aussi