Giáo trình Vi xử lý - Chương 4: Hoạt động của bộ định thời (Timer) - Phạm Quang Trí

Ứng dụng định thời gian (TIMER): bộ định thời được lập trình sao cho sẽ tràn sau một khoảng
thời gian đã qui định và khi đó cờ tràn của bộ định thời sẽ bằng 1.
• Ứng dụng đếm sự kiện (COUNTER): để xác định số lần xuất hiện của một kích thích từ bên
ngoài tới một chân của chip 8051 (kích thích là sự chuyển trạng thái từ 1 xuống 0).
• Ứng dụng tạo tốc độ baud cho port nối tiếp: xem thêm trong chương “Chương 5: Hoạt động
port nối tiếp.”
pdf 35 trang thamphan 28/12/2022 2680
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Vi xử lý - Chương 4: Hoạt động của bộ định thời (Timer) - Phạm Quang Trí", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfgiao_trinh_vi_xu_ly_chuong_4_hoat_dong_cua_bo_dinh_thoi_time.pdf

Nội dung text: Giáo trình Vi xử lý - Chương 4: Hoạt động của bộ định thời (Timer) - Phạm Quang Trí

  1. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. KintrúccaTimer0chñ3(Mode3). V.NGUNXUNGCLOCKCHOBðNHTHI: Ngunxungchobñnhthiñưctorat: • Mchdaoñngtrênchip →dùngchotínhnăngñnhthigian. • Xungkíchthíchbênngoài →dùngchotínhnăngñmskin. 1.Trưnghpñnhthigian: NuC/T=0 thì: • Bñnhthiñưcdùngññnhthigian( Timer ). • Ngunxungclockñnhthiñưclytmchdaoñngtrênchip. Lưuý: o Tnsxungclockcungcpchobñnhthibng1/12tnscamchdaoñngtrên chip8051. o Thigianñnhthi làkhongthigianñưctínhtlúcbñnhthibtñuñmlên( t giátrchatrongcácthanhghiTHx/TLx )choñnlúcbñnhthibtñutràn( thi giannàyphthucvàogiátrbanñuñưcnpchocácthanhghiTHxvàTLx ). GiáotrìnhVixlý. 129 Biênson:PhmQuangTrí
  2. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. • Víd:TínhtnskíchthíchtiñachophéptichânT0vàT1ñivitrưnghpcáchthng viñiukhinxâydngtrênchip8051vitnsthchanhnhưsau:11,0592MHz,12MHzvà 16MHz. Gii f 921 6, (KHz) f =11,0592()MHz → f = TIMER = = 460 8, ()KHz OSC T ,0 T (1 MAX ) 2 2 f 1(MHz) f =12()MHz → f = TIMER = = 500()KHz OSC T ,0 T (1 MAX ) 2 2 f ,1 333(MHz) f =16()MHz → f = TIMER = = 666 5, ()KHz OSC T ,0 T (1 MAX ) 2 2 o Slưngskin(sxung)màbñnhthiñmñưcsñưcchatrongcácthanhghi THx/TLx,giátrtrongcácthanhghinàystăngtheomixungkíchthíchbênngoàitiT0vàT1ca chip8051. o Mtkíchthích ñưcgilàmtskin(mtxung)khixyraschuyntrngtháit1 xung0 chânT0hocT1. VI.KHIðNG,DNGVÀðIUKHINCÁCBðNHTHI: • Cách1: ( thưngñưcdùngññnhthigian ). ðiukinsdng: bitGATE=0 (Phươngphápñiukhinbngphnmm ) ⇒⇒⇒BñnhthixchykhibitTRx=1. ⇒⇒⇒BñnhthixdngkhibitTRx=0. Víd: ðkhiñngbñnhthi0tadùnglnh: SETBTR0 ðdngbñnhthi0tadùnglnh: CLRTR0 • Cách2: ( thưngñưcdùngññoñrngxungtichânINTx\). ðiukinsdng: bitGATE=1vàbit/TRx=1 (Phươngphápñiukhinbngphncng ) ⇒⇒⇒BñnhthixchykhichânINTx\=1. ⇒⇒⇒BñnhthixdngkhichânINTx\=0. Víd:ðoñrngxung(tínhbngs)tichânINT0,vifOSC=12MHz. INT0\ t ( s) GiáotrìnhVixlý. 131 Biênson:PhmQuangTrí
  3. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. Giithích:  GATE=0 →ñiukhinbngphnmm( bitTR1).  C/T=0 →sdngmchdaoñngtrênchip( dùngññnhmtkhongthigian ).  M1=0,M1=1 →TIMER1hotñngchñ1( chññnhthi16bit ). o Víd2:Dùngbñnhthi1vídtrênññnhmtkhongthigianlà100 s.Gisvi ñiukhinsdngthchanh12MHz. Gii Tadùnglnh: MOVTL1,#9CH MOVTH1,#0FFH hoc MOVTL1,#LOW(100) MOVTH1,#HIGH(100) Giithích: f 12 f =12()MHz → f = OSC = =1()MHz OSC TIMER 12 12 1 1 → T = = =1()s TIMER f 1 MHz TIMER () Trongñó: fOSC :tnsthchanh. fTIMER :tnsxungclockñnhthi. TTIMER :chukỳxungclockñnhthi. Vycmi1s(tclàsaumichukỳcaxungclockñnhthi)thìbñnhthistănggiátr mtln. Màtañãbit: thigianñnhthilàkhongthigianñưctínhtlúcbñnhthibtñuñmlên choñnlúcbñnhthibtñutràn . Vyñbñnhthitrànstrànsaukhongthigian100sthìtaphikhiñngbñnhthiti thiñimcáchñimtràn( theochiuâm–vìbñnhthichñmlên )100chukỳxungclockñnh thi. Vìñimtràncógiátrlà0chonêngiátrcnnpchocácthanhghiTH1/TL1là100 ( hay FF9CH ). $ GiáotrìnhVixlý. 133 Biênson:PhmQuangTrí
  4. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. • Víd:ðcnidungcacácthanhghiTH1/TL1trongkhibñnhthi1ñanghotñng.Ni dungsaukhiñccathanhghiTH1chatrongR7,cathanhghiTL1chatrongR6. AGAIN: MOVA,TH1 MOVR6,TL1 CJNEA,TH1,AGAIN MOVR7,A VIII.CÁCKHONGTHIGIANðNHTHI: Khosáttrưnghp8051dùngthchanh 12MHz : • Khongthigianñnhthi ngnnht( s) : 1 • Khongthigianñnhthi dàinht( s) : o ≈≈≈10 ⇒ Dùngcáclnh. o ≤256 ⇒ Dùngbñnhthi8bittñngnpli. o ≤65536 ⇒ Dùngbñnhthi16bit. o Khônggiihn ⇒ Dùngbñnhthi16bit+cácvònglp. Khosáttrưnghptngquát: • Khongthigianñnhthingnnht : 1.TTIMER • Khongthigianñnhthidàinht : o ≈≈≈10.TTIMER ⇒ Dùngcáclnh. o ≤256.TTIMER ⇒ Dùngbñnhthi8bittñngnpli. o ≤65536.TTIMER ⇒ Dùngbñnhthi16bit. o Khônggiihn ⇒ Dùngbñnhthi16bit+cácvònglp. 12 vi T = T (s):chukỳxungclockñnhthi. TIMER f TIMER OSC fOSC (MHz):tnsthchanh. GiáotrìnhVixlý. 135 Biênson:PhmQuangTrí
  5. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. 2.CácbưccơbnñkhiñngCounter: • ChnchñhotñngchoCounter,chobitGATE=0vàC/T=1: MOVTMOD,# (1) • XoácácgiátrchatrongthanhghiTHxvàTLx( nghĩalàchosxungbanñubng0 ): MOVTHx,#00H MOVTLx,#00H • ChoCounterchy: SETBTRx • Kimtracbáotràn( kimtrasñmbtràn )ñxlýtrưnghpsñmbtràn. • Xóacbáotràn( saukhiñãxlýchotrưnghpsñmbtràn ): CLRTFx • DngCounter( saukhiñãhoànttquátrìnhñmxung ): CLRTRx • ðcsxungñmñưctrongthanhghiTHx vàTLx. Lưuý: x:SthtcaCountersdng. (1) :GiátrnàyphthucvàoCounterñưcchnvàchñhotñngcaCounter.Giátrnày phithomãnñiukinsau: o Chñ8bit:slưngxungtiñamàCounterñmñưct0ñn255 . o Chñ13bit:slưngxungtiñamàCounterñmñưct0ñn8191 . o Chñ16bit:slưngxungtiñamàCounterñmñưct0ñn65535 . Trong quá trình ñc s xung ñm ñưc cha trong cácthanhghiTHx/TLxtaphichúýñn trưnghpCounterbtràn.VìkhiñógiátrtrongthanhghiTHx/TLx( nơichasxungñmñưc )s trv0.Chonênnutakhôngcóbinphápxlýchotrưnghpnàythìktqulàsxungmàta nhnñưcsbsai.Vìth,nutagisbanñuCounterñưckhiñngvigiátrlà0thìcmiln Counterbtrànthìtaphicngthêmvàosxungñcv256xung ( trưnghp8bit )hoc8192xung (trưnghp13bit )hoc65536xung ( trưnghp16bit ). X.CÁCVÍDMINHHA: 1.Víd1: (Todngxung ) VitchươngtrìnhtodngxungtunhoàntrênchânP1.0cótnscaonhtcóthcó.Tns vàchukỳnhimvcadngxungnàylàbaonhiêu? Gii ORG8100H LOOP: SETBP1.0 ;1chukỳmáy CLRP1.0 ;1chukỳmáy SJMPLOOP ;2chukỳmáy END GiáotrìnhVixlý. 137 Biênson:PhmQuangTrí
  6. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. VitDelay =10ms,fOsc =12MHzthìtachn: [Rn]=20 và [Rm]=250 12 ⇔t = 20 × 250 × .2 = 10000s Delay 12 VitDelay =1s,fOsc =12MHzthìtachn: [Rn]=10 ,[Rm]=200 và [Ro]=250 12 ⇔t = 10× 200× 250× .2 =1000000s Delay 12 • Chươngtrình:Davàonhngtínhtoántrên,tacó: VitDelay =100 s: DELAY: ;tDelay =50x2.TTimer MOVR0,#50 ;lnh1.TTimer DJNZR0,$ ;lnh2.TTimer RET ;lnh2.TTimer VitDelay =10ms: DELAY: ;tDelay =20x250x2.TTimer MOVR0,#20 ;lnh1.TTimer AAA: MOVR1,#250 ;lnh1.TTimer DJNZR1,$ ;lnh2.TTimer DJNZR0,AAA ;lnh2.TTimer RET ;lnh2.TTimer VitDelay=1s: DELAY: ;tDelay =10x200x250x2.TTimer MOVR0,#10 ;lnh1.TTimer BBB: MOVR1,#200 ;lnh1.TTimer AAA: MOVR2,#250 ;lnh1.TTimer DJNZR2,$ ;lnh2.TTimer DJNZR1,AAA ;lnh2.TTimer DJNZR0,BBB ;lnh2.TTimer RET ;lnh2.TTimer • LưuývñchínhxáccatDelay :Khisdngphươngpháptothigiantrnhưtrên( phương phápdùnglnh,khôngdùngTimer )thìvicñnhthigianthưngcómtsaisnhtñnh.Vìñây,ñ ñơngintrongvictínhtoánmàtañãbquakhôngtínhñnthigiancnthitñthchintnglnh trongchươngtrình,chquantâmñnthigianthchincalnhDJNZ ( 2TTimer )vàslnthchin canó.Côngthctrìnhbàytrên(1)chlàcôngthctínhthigiantDelay cóñchínhxáctươngñi, muntínhthigiantDelay chínhxácthìtacnphitínhtngthigianthchin( nghĩalàtínhschukỳ máyhayschukỳTimer )cattccáclnhcótrongchươngtrình.ðchínhxáccachươngtrìnhto thigiantrtheophươngpháptínhtươngñinàyphthucvàoslnlplivàsvònglp . VitDelay =100 s,fOsc =12MHzthìtDelay chínhxáclà: t = .1 T + .2 T ×50 + .2 T =103.T Delay(cx) Timer Timer Timer Timer GiáotrìnhVixlý. 139 Biênson:PhmQuangTrí
  7. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. • ðchínhxác(xétvmtthigian)cachươngtrình:Khisdngphươngpháptothigian trnhưtrên( phươngphápdùngTimer )thìvicñnhthigiancũngxuthinmtsais.Vìñây,ñ ñơngintrongvictínhtoánmàtañãbquakhôngtínhñnthigiancnthitñthchintnglnh trongchươngtrình,chquantâmñngiátrcnphinpchobñnhthisaochoTimerñnhñưc khongthigianmàtayêucu.ðchínhxáccachươngtrìnhñnhthikhisdngphươngphápnày khôngphthucvàogiátrcnnpchoTimer(N)mànóchphthucvàoslưnglnhsdng trongchươngtrình . Vidngthnht( chñ2 )thìt chínhxáclà:t =11.T + t =111(s) Delay Delay(cx) Timer Delay Vidngthhai( chñ1 )thìt chínhxáclà:t =13.T + t =113(s) Delay Delay(cx) Timer Delay 4.Víd4: ( Tothigiantr) Vitchươngtrìnhcontothigiantr10msdùngTimer1.Bitrngtnsthchanhlà12 MHz. Gii • Tínhtoán:Tìmgiátrcnnpchobñnhthivàchñhotñngcabñnhthinày: Theoñbàitacó: t =10 ms và f =12 MHz Delay ( ) Osc ( ) Giátrcnnpchobñnhthiñưctínhtheocôngthc: f 12.106 N = − Osc ×t = − ×10.10−3 = −10000 12 Delay 12 Vy: N=10000 hocN=D8F0H. Tacó: t = 10 ms = 10000 s Delay ( ) ( ) 1 12 12 T = = = =10−6()()s =1 s Timer f f 6 Timer Osc 12.10 Vì t ≤ 65536.T (hayNnmtrongkhongt65535ñn1)nêntachnTimer Delay Timer chñ1 ( chñ16bit ). • Chươngtrình:Davàonhngtínhtoántrên,tacó: ⇒ChươngtrìnhconhoànchnhkhisdngTimer1chñ1: DELAY: MOVTMOD,#10H MOVTH1,#HIGH(10000) hoc MOVTH1,#0D8H MOVTL1,#LOW(10000) hoc MOVTL1,#0F0H SETBTR1 JNBTF1,$ CLRTF1 CLRTR1 RET • ðchínhxác(xétvmtthigian)cachươngtrình: Vivídtrên( chñ1)thìt chínhxáclà:t =13.T + t =10013(s) Delay Delay(cx) Timer Delay GiáotrìnhVixlý. 141 Biênson:PhmQuangTrí
  8. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. • ðchínhxác(xétvmtthigian)cachươngtrình:Trưnghpnàycũngtươngtnhưcác trưnghpñnhthisdngTimerñãnêucácvídtrên.Tuynhiênñây,ñchínhxáccachương trìnhñnhthikhisdngphươngphápnàykhôngphthucvàogiátrcnnpchoTimer(N)mànó phthucvàoslưnglnhsdngtrongchươngtrình,slnlplivàsvònglp. Vivídtrên( chñ1+vònglp )thìtDelay chínhxáclà:   t = .5 T + 11.T + t ×100 + .4 T Delay(cx) Timer  Timer Delay(Timer)  Timer =1001109()()s = ,1 001109 s VitDelay(Timer):thigianñnhthicaTimer( 10000s ). 6.Víd6: ( Tothigiantr) Vitchươngtrìnhcontothigiantr60sdùngTimer0.Bitrngtnsthchanhlà12MHz. Gii • Tínhtoán:Tìmgiátrcnnpchobñnhthivàchñhotñngcabñnhthinày: Theoñbàitacó: t = 60 s và f =12 MHz Delay ( ) Osc ( ) Giátrcnnpchobñnhthiñưctínhtheocôngthc: f 12.106 N = − Osc ×t = − × 60 = −60000000 12 Delay 12 Vy: N=60000000 (giátrquálnkhôngthnptrctipvàocácthanhghiTHx/TLx). Tacó: t = 60 s = 60000000 s Delay ( ) ( ) 1 12 12 T = = = =10−6()()s =1 s Timer f f 6 Timer Osc 12.10 Vì t > 65536.T nêntachnphiTimerchñ1 ( chñ16bit )kthpvicác Delay Timer thanhghi ñtovònglp. Gi: N’làgiátrcnnpchocácthanhghiñnhthi. [Rn]làgiátrcnnpchothanhghikthp( vònglp1 ). [Rm]làgiátrcnnpchothanhghikthp( vònglp2 ). ⇒ N=[Rn]x[Rm]xN’ Tatchn: N’=10000 → [Rm]=100 → [Rn]=60 o Lưuý:  N'ñưcchnsaochophùhpviquiñnhchngiátrcnnpchocácthanhghi ñnhthichñ1.  [Rn], [Rm] ≤≤≤255 ,ñcbitnuchn[Rn],[Rm]=0thìñiunàystươngñương vitrưnghptachn[Rn],[Rm]=256. ⇒Giátrcnnpchocácthanhghiñnhthilà10000 vàgiátrcnnpchocácthanhghikt hplà60 ( chovònglp1 ), 100 ( chovònglp2 ). GiáotrìnhVixlý. 143 Biênson:PhmQuangTrí
  9. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. Theoñbài,tacóchukỳlàmvicD=50%chonên: 1 1 t = 50%×T = 50% × = 5,0 × = .5 10− 5()()s = 50 s H 3 f 10.10 ⇒ tH=50( s)vàtL=50( s). VyñâytaphidùngTimer0ñtothigiantr50( s)chothigiansóngmccaovà 50( s)chothigiansóngmcthp. Theonhưtrên,tacó: t = 50 s và f =12 MHz Delay ( ) Osc ( ) Giátrcnnpchobñnhthiñưctínhtheocôngthc: f 12.106 N = − Osc ×t = − ×50.10−6 = −50 12 Delay 12 Vy: N=50 hocN=CEH . Tacó: t = 50 s Delay ( ) 1 12 12 T = = = =10−6()()s =1 s Timer f f 6 Timer Osc 12.10 Vì t ≤ 256.T ( hayNnmtrongkhongt255ñn1)nêntacóthchnTimer Delay Timer chñ1 ( chñ16bit )hocchñ2 ( chñ8bittñngnpli ). • Chươngtrình:Davàonhngtínhtoántrên,tacó: MAIN: SETBP1.0 ACALLDELAY50US CLRP1.0 ACALLDELAY50US SJMPMAIN DELAY50US: MOVTMOD,#02H MOVTH0,#(50) hoc MOVTH0,#0CEH SETBTR0 JNBTF0,$ CLRTR0 CLRTF0 RET END GiáotrìnhVixlý. 145 Biênson:PhmQuangTrí
  10. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. SETBTR0 JNBTF0,$ CLRTR0 CLRTF0 RET END 9.Víd9: ( Tosóngvuông ) Vitchươngtrìnhtosóngvuôngcótns100HzngõraP1.0vàcóchukỳlàmvicD=30%. Bitrngtnsthchanhlà12MHzvàsdngbñnhthi0. Gii • Tínhtoán: 8051 f = 100 Hz P1.0 30% 70% fOSC =12 MHz tH tL T Theoñbài,tacóchukỳlàmvicD=30%chonên: 1 1 t = 30% ×T = 30% × = 3,0 × = .3 10− 3 s = 3000 s H ()() f 100 ⇒ tH=3000( s)vàtL=7000( s). VyñâytaphidùngTimer0ñtothigiantr3000( s)chothigiansóngmccaovà 7000( s)chothigiansóngmcthp. Theonhưtrên,tacó( xéttrưnghptH): t = 3000 s và f =12 MHz Delay ( ) Osc ( ) Giátrcnnpchobñnhthiñưctínhtheocôngthc: f 12.106 N = − Osc × t = − × 3000.10−6 = −3000 12 Delay 12 Vy: N=3000 hocN=F448H. Tacó: t = 3000 s Delay ( ) 1 12 12 T = = = =10−6()()s =1 s Timer f f 6 Timer Osc 12.10 Vìt ≤ 65536.T ( hayNnmtrongkhongt65535ñn1)nêntachnTimerch Delay Timer ñ1 ( chñ16bit ). Tươngtnhưtrên,tacó( xéttrưnghp tL): t = 7000 s và f =12 MHz Delay ( ) Osc ( ) GiáotrìnhVixlý. 147 Biênson:PhmQuangTrí
  11. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. 10.Víd10: ( Giaotipvithitbngoivi ) MtcòiñưcnivichânP1.7vàmtchuynmch(cóchngdi)ñưcnivichânP1.6ca chip8051(xemtronghìnhv).Vitchươngtrìnhñiukhinñcmclogiccungcpbichuynmch (khichuynmchthayñitvtrítrênxungvtrídưithìmtxungmcthpñưctoratichân P1.6)vàhcòitrongthigian1secsaumilnpháthinschuyntrngtháit1xung0tichân P1.6. Vcc Vcc 8051 10K P1.6 P1.7 SW Vcc 10K P1.7=0 – Huï coøi. P1.7=1 – Im laëng. fOSC =12 MHz Gii HUNDRED EQU100 ;Khaibáobin COUNT EQU10000 ORG0000H MAIN: JNBP1.6,$ ;Chlogic1ngõvàoP1.6. JBP1.6,$ ;Chlogic0ngõvàoP1.6 SETBP1.7 ;Còih. ACALLDELAY ;Thigian1giây. CLRP1.7 ;Ttcòi. SJMPMAIN DELAY: PUSH00H MOVTMOD,#10H MOVR0,#HUNDRED AAA: MOVTH1,#HIGH(COUNT) MOVTL1,#LOW(COUNT) SETBTR1 JNBTF1,$ CLRTF1 CLRTR1 DJNZR0,AAA POP00H RET END GiáotrìnhVixlý. 149 Biênson:PhmQuangTrí
  12. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. 12.Víd12: ( ðmxung ) Mtchuynmch(cóchngdi)ñưcnivichânT0(P3.4)cachip8051.Vitchươngtrình ñiukhinñmslưngxungñưctorabichuynmch(khichuynmchthayñitvtrí(1) sangvtrí(2)thìmtxungmcthpñưctoratichânT0).SxungñmñưcschatrongRAM ni(dngsHEX)ticácônhcóñachbtñuti50H.Bitrngslưngxungtorañưc khngchnmtrongkhong0–65535xung. Gii • Tínhtoán: Theoyêucucañbài: o Vitchươngtrìnhñmxung→CuhìnhchoTimer0làmtbñmxung( Counter ). o Sxungnmtrongkhong0–65535xung→Chnchñ16bit( chñ1 ). • Chươngtrình:Davàonhngtínhtoántrên,tacó: MAIN: MOV TMOD,#05H ;ChñCounter16bit( chñ1 ). MOV TH0,#00H ;Giátrbanñucabñm( cao ). MOV TL0,#00H ;Giátrbanñucabñm( thp ). SETB P3.4 ;CuhìnhP3.4làngõvào. SETB TR0 ;Khiñngbñm. LOOP: ;ðcgiátrcabñmñanghotñng. MOV A,TH0 ;ðcsxungñmñưc( phncao ). MOV 50H,TL0 ;Ctsxungñmñưc( phnthp ). CJNE A,TH0,LOOP ;ðcsxungñmñưc( phncao ) ;lnnañkimtra. MOV 51H,A ;Ctsxungñmñưc( phncao ). JNB TF0,LOOP ;Tiptcquátrìnhñmxungnu ;bñmchưabtràn. CLR TF0 ;Xoáctràn. CLR TR0 ;Dngbñm. END ;Ktthúcchươngtrình. GiáotrìnhVixlý. 151 Biênson:PhmQuangTrí
  13. Chương4:Hotñngcabñnhthi(Timer). TrưngðHCôngnghipTp.HCM. Bài8: Vitñonlnhtochuixungvuôngcóf=10KHzvàcóchukỳlàmvicD=30%ti chânP1.3( fOSC =24MHz ). Bài9: Vitñonlnhtochuixungvuôngcóf=10HztichânP1.4( fOSC =12MHz ). Bài10: Vitñonlnhtochuixungvuôngcóf=10HzvàcóchukỳlàmvicD=25%ti chânP1.5( fOSC =11,0592MHz ). Bài11: VitñonlnhdùngTimertosóngvuôngf=500HztiP1.4.( fOSC =12MHz ). Bài12: VitñonlnhdùngTimertosóngvuôngf=20KHztiP1.5.( fOSC =24MHz ). Bài13: VitñonlnhdùngTimerto2sóngvuôngcócùngf=1KHztiP1.6vàP1.7.Bit rngsóngvuôngtiP1.7chmphahơnsóngvuôngtiP1.6là100s.( fOSC =12MHz ). Bài14: VitñonlnhdùngTimerñiukhinñèngiaothôngtimtgiaol.Chobitrng: ðèn Bitñiukhin Thigian Xanh1 P1.0 25s Vàng1 P1.1 3s ð1 P1.2 Xanh2 P1.3 33s Vàng2 P1.4 3s ð2 P1.5 ðènsángkhibitñiukhinbng0(fOSC =12MHz ). GiáotrìnhVixlý. 153 Biênson:PhmQuangTrí