AVR progr AVR p rograma amació ción n en e n C – 09 0 9 Timer/Coun Timer/ Counter0 ter0 del ATmeg AT mega16 a16 – Parte Pa rte 1 (Modo (M odo Norm Normal al Po!ted "# alfreedom alfreedom on on August August 17, 2014 2014 Po!ted in$ AT in$ ATmega16 mega16%% AV AVR R% C% Tutoriale! Tutoriale!&& Tagged$ atmega atmega%% AT ATmega16 mega16%% AT ATmega' mega'%% a)r % C% progamacion progamacion%% timer %timer/counter0 timer/counter0%% timer0 timer0%% tutorial tutorial&& * Comment!
+o! +o !
tim ti mer er! !
o
tem te mpo porri, i,ad ador ore! e!
!on !o n
carrac ca actter er--!t !tiica ca! !
e!t !t.n .nda darr
de
ca!i ca !i
todo to do! !
lo! lo !
microcontroladore!% a!- ue e! mu# importante aprender !u u!o& +o! microcontrolador AVR tiene tie ne tem tempor pori,a i,ador dore! e! mu# pod podero ero!o! !o! # mul multi tiunc unciona ionale! le!%% pue pueden den med medir ir tie tiempo mpo%% gen genera erar r recuencia!% contar e)ento! eterno!% 2acer comparacione!% !incroni,ar tarea!% generar una onda P3M% etc&
4l tema de lo! timer! e! un tanto complicado # eten!o% en e!ta !erie de po!t !e trata de dar una "re)e eplicación del uncionamiento # programación del timer0 en el ATmega16&
4l timer0 del ATmega16 e! un contador/tempori,ador de 5 "it! (puede contar 2a!ta !-ncrono% e! decir% ue depende del relo7 del CP8 (!ólo !u relo7% no el CP8 para uncionar% e! un módulo independiente del ncleo del AVR AVR lo ue reduce la carga del micro&
Cada timer tiene a!ociado un relo7 ue i7a el pa!o ue de"e marcar # una o m.! unidade! compradora!& 4l relo7 del timer0 e! deri)ado del relo7 del CP8 # puede tener do! uente! di!tinta!$ !i !e u!a la uente de relo7 interna del CP8% el relo7 del CP8 pa!a primero por un di)i!or de recuencia (pre!caler # la !alida de e!te di)i!or )a al timer% !i !e u!a una uente de relo7 eterna por el pin T0% primero !er. !incroni,ada con el relo7 interno ante! de pa!ar al pre!caler& +o! )alore! de di)i!ión (pre!caler #a e!t.n e!ta"lecido! para cada timer% en el ca!o del timer0 la recuencia del CP8 puede !er di)idida por un actor de 1% 5% 6:% 6 o 10:% generando a!la recuencia de conteo& Por cada unidad comparadora ei!te un pin a!ociado a ella% normalmente marcado como ;C (;utput Compare ue e! donde !e puede generar una recuencia de !alida por la unidad comparadora del timer&
4l timer0 tiene : modo! de uncionamiento ue !e pueden conigurar programando !u! regi!tro! a!ociado!$
Modo Normal$ 4l timer cuenta de!de 0 a # !e de!"orda reiniciando la cuenta& Puede generar interrupción al de!"ordar!e o cuando la comparación del conteo concuerde con un )alor determinado&
Modo CTC$ 4n e!te modo el timer0 e! reiniciado a 0 cuando una comparación entre el timer # un )alor determinado coincide& ;pcional mente puede conigurar!e para ue al 2a"er una coincidencia genera una interrupción o cam"ie el e!tado de un pin&