Professional Documents
Culture Documents
Bi 7: Timer/Counter
1) Tng quan v Timer/Counter:
+Chc nng chnh ca cc b Timer/Counter, nh tn gi ca chng, l nh th (to ra 1 khong thi gian, m thi gian), v m s kin bn ngoi. +Ngoi ra trn cc chip AVR, cc b Timer/Counter cn c chc nng iu ch rng xung PWM(Pulse width Modulation), ng dng trong iu khin tc ng c v iu khin sng ti ca bng n +Cc b Timer c th hot ng vi tn s bn trong (ly t thch anh), cng c th hot ng vi tn s bn ngoi, a vo u vo ca b Timer. C th dng ng dng ny m sn phm, hay o rng xung. +Timer/Counter 0: y l 1 b timer 8 bit. C 4 ch hot ng c bn l: Normal, CTC, Past PWM, Phase correct PWM. + Timer/Counter 1: y l 1 b timer 16 bit. N cng c y cc ch hot ng nh ca Timer 0, tuy nhin v l b timer 16 bit nn phm vi hot ng ca n rng hn. Nu nh gi tr MAX trong Timer0 ch l 0xFF, th gi tr MAX trong Timer1 ln n 0xFFFF. Ngoi ra b Timer1 cn c th to ra 2 tn hiu PWM c lp cc chn OC1A (PORTD.5) v OC1B (PORTD.4), gip d dng khi iu khin 2 ng c cng 1 lc (2 ng c chy bnh). +Timer/Counter 2: y l 1 b Timer 8 bit. N cng c 4 ch hot ng c bn ging nh Timer0, l: Normal, CTC, Past PWM, Phase correct PWM.
y l 1 thanh ghi 8 bit cha gi tr vn hnh ca Timer0. C mi ln xut hin 1 tn hiu kch th gi tr ca thanh ghi ny tng thm 1 n v. Gi tr MAX m thanh ghi ny c th t n l 255. Sau nu xut hin thm 1 xung kch na th gi tr ca thanh ghi ny c xa v 0.
www.vtechco.org
y l 1 thanh ghi 8 bit. Gi tr vn hnh ca Timer TCNT0 s lin tc c so snh vi thanh ghi ny. Khi 2 gi tr ny bng nhau, th xy ra 1 s kin Compare Match. S kin ny s to ra 1 ngt (nu ngt c cho php), hay xut tn hiu ra chn OC0, ty theo ch thch\ thi ca Timer. +Thanh ghi TCCR0 (Timer/Counter Control Register):
y l thanh ghi iu khin hot ng ca Timer. -Cc bit 0,1,2 (CS00,CS01,CS02): y l cc bit quy nh xung cp cho hot ng ca Timer, nh bng di y.
www.vtechco.org
-Bit 4,5 (COM00,COM01): y l 2 bit quy nh u ra trong cc php so snh Trong qu trnh Timer m, gi tr ca thanh ghi TCNT0 s lin tc c so snh vi OCR0. Khi 2 gi tr ny bng nhau, th s c s kin Compare Match xy ra. Khi gi tr u ra OC0 (PORTB.3) s c xut ra mc tn hiu nh bng di y:
u ra, ch Fast-PWM
www.vtechco.org
u ra, ch Fhase Correct PWM Ch : chn OC0 phi OUT, tc DDRB.3=1; +Thanh ghi TIMSK (Timer/Counter Interrupt Mask Register):
y l thanh ghi iu khin ngt trong Timer. -Bit 0 (TOIE0-Timer/Counter0 Overflow Interrupt Enable): y l bit cho php ngt trn trong Timer0. Khi bit ny c ghi l 1 th cho php ngt trn b nh thi. Khi 1 ngt s xy ra mi khi b Timer trn. -Bit 1 (OCIE0-Timer/Counter0 Output Compare Match Interrupt Enable): y l bit cho php ngt so snh trong Timer0. Khi bit ny c ghi l 1 th cho php ngt so snh b nh thi. Khi 1 ngt s xy ra mi khi c s kin Compare Match.
3) Ch Normal:
+y l ch hot ng n gin nht ca Timer. Mi ln c 1 tn hiu clock th gi tr ca thanh ghi TCNT0 c tng ln 1, v tng n mc TOP l 255. Khi nhp tip theo th b Timer b trn, v 1 thanh ghi TCNT0 c t li mc 0, v li tip tc qu trnh m nh vy. Thi gian TCNT0 tng ln 1 n v ph thuc vo tn s ta chn, tn s cng ln th thi gian m cng nhanh +Thng s dng ch Normal m thi gian, v iu ch rng xung PWM. + m thi gian ta la chn 1 tn s ph hp, sao cho tnh ton ra thi gian p, VD: 125kHz. Sau la chn gi tr khi u cho thanh ghi TCNT0, gi tr ny
Gio trnh vi iu khin AVR
www.vtechco.org
+Ngi ta thng dng ch CTC m thi gian, v to xung vung. + m thi gian th cng ging nh ch Normal, ch khc ch l ch Normal th gi tr TOP s l 255, cn gi tr TOP ca CTC l OCR0, gi tr ny c th thay i c, v tnh ton thi gian bng cch tnh ton gi tr thanh ghi ny, thay
Gio trnh vi iu khin AVR
www.vtechco.org
5) Ch Fast PWM:
+Cho php to ra sng vi tn s cao. S khc bit c bn gia Fast PWM vi cc loi PWM khc l n ch s dng 1 sn dc. B m s m t BOTTOM n MAX sau khi ng li t BOTOM. Trong ch khng o (Non-inverted) u ra OC0 (PORTB.3) s bi xo khi c php ton so snh gia TCNT0 v thanh ghi OCR0 l bng nhau, v s c set ln 1 khi gi tr trn v t v Bottom. Trong ch o (inverted), u ra s c set ln 1 khi s so snh gia thanh ghi TCNT0 v gi tr thanh ghi OCR0 bng nhau v s b xo khi gi tr trn v t v Bottom. +S di y m t chu k thi gian ca ch :
www.vtechco.org
7) Bi tp:
a. To ra 1 khong thi gian bng Timer iu khin LED n, (khng dng delay) sau khong 1s th LED dch dn t tri sang phi, dch ht 8 LED th vng li. b. Dng timer qut LED 7 thanh. C sau khong 1s th s hin th li tng 1 n v. c. Dng timer qut LED 7 thanh, kt hp c nt n. 1 nt lm tng s, 1 nt lm gim s hin th.
Gio trnh vi iu khin AVR
www.vtechco.org
www.vtechco.org