Giáo trình Vi xử lý - Chương 6: Hoạt động ngắt (Interrupt) - Phạm Quang Trí

I. MỞ ĐẦU:
1 CPU CHỈ THỰC THI ĐƯỢC 1 LỆNH TẠI MỘT THỜI ĐIỂM.
Ngắt (Interrupt) là việc xảy ra một điều kiện (một sự kiện) làm cho chương trình đang thực thi
(chương trình chính) bị tạm dừng để quay sang thực thi một chương trình khác (chương trình xử lý
ngắt) rồi sau đó quay trở về để thực thi tiếp chương trình đang bị tạm dừng. Các ngắt đóng vai trò quan
trọng trong việc thiết kế và hiện thực các ứng dụng của bộ vi điều khiển. Các ngắt cho phép hệ thống
đáp ứng một sự kiện theo cách không đồng bộ và xử lý sự kiện trong khi một chương trình khác đang
thực thi. Một hệ thống được điều khiển bởi ngắt cho ta ảo tưởng nhiều công việc đang được vi xử lý
thực hiện đồng thời.
pdf 24 trang thamphan 28/12/2022 1120
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Vi xử lý - Chương 6: Hoạt động ngắt (Interrupt) - 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_6_hoat_dong_ngat_interrupt_pham_q.pdf

Nội dung text: Giáo trình Vi xử lý - Chương 6: Hoạt động ngắt (Interrupt) - Phạm Quang Trí

  1. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. Cutrúcngtca8051: IV.XLÝNGTVÀCÁCVECTƠNGT: 1.Quitrìnhxlýngt: CácthaotácsxyrakhicómtngtxuthinvànóñưcCPUchpnhn: • Hoànttthcthilnhtithiñimñóvàdngchươngtrìnhchính. • GiátrcathanhghiPCñưcctvàostack. • Trngtháicangttithiñimñóñưclưugili. • Cácngtñưcgilimcngt. • ðachcaISRcangttươngngñưcnpvàothanhghiPC. • ISRcangttươngngñưcthcthi. (ISRthcthixongkhigplnhRETI ). • Giátrtrongstack( caPCcũ)ñưcphchilivàothanhghiPC. • Trngtháicácngtñưcphchili. • Chươngtrìnhchínhtiptcñưcthcthitichbtmdng. ISRñưcthcthiññápngcôngviccangt.VicthcthiISRktthúckhigplnhRET (trvtmttrìnhphcvngt ).LnhnàylyligiátrcũcabñmchươngtrìnhPCtstackvà phchitrngtháicangtcũ.Victhcthichươngtrìnhchínhñưctiptcnơibtmngưng. GiáotrìnhVixlý. 183 Biênson:PhmQuangTrí
  2. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. Tchcbnhkhisdngngt: Khuôngmuchomtchươngtrìnhcósdngngt: ORG 0000H ;ðimnhpcareseththng. LJMPMAIN ;LnhnhyñvưtquacácISR. ;ðimnhpcacácISR. ORG 0030H ;ðimnhpcachươngtrìnhchính. MAIN: ;Chươngtrìnhchínhbtñu. END 2.ThitkcácchươngtrìnhISRkíchthưcnh: ðiukin:KhiISRcókíchthưckhôngquá8byte(kclnhRETI). ⇒ISRphiñưcvittrongphmviñimnhptươngngcanótrongbnhchươngtrình( xem phntchcbnhkhisdngngt ). Lưuý: • NuchcómtnguyênnhânngtñưcsdngthìISRcanócóthñưcvittràn sangñimnhpcacácISRkhác( nghĩalàISRcókíchthưclnhơn8byte,nhưngphinhhơn46 byte ).VìkhiñóvùngnhcacácISRkháckhôngñưcdùngñnnêntacóthtndngñsdng choISRnày. • Nucónhiunguyênnhânngtñưcsdngthìtaphicnthnññmbochocác ISRñưcbtñuñúngvtrímàkhôngtrànsangISRk( nghĩalàISRcókíchthưckhôngquá8byte ). GiáotrìnhVixlý. 185 Biênson:PhmQuangTrí
  3. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. • Nhnxéttngquát: o ðñơngin,cácchươngtrìnhcachúngtachlàmvicthiñimbtñu.Chương trìnhchínhkhiñngportnitip,bñnhthivàcácthanhghingtsaochothíchhpviyêucu ñtravàrikhônglàmgìc.CôngvichoàntoànñưcthchinbêntrongcácISR.Saucáclnh khiñng,chươngtrìnhchínhchavàthchinlnhsauñây( lnhnhytich–khônglàmgìc): SJMP$ o Khicómttínhiungtxuthin,chươngtrìnhchínhtmthibdnglitrongkhiISR ñưcthcthi.LnhRETIcuicacácISRstrñiukhinvchochươngtrìnhchínhvàchương trìnhchínhtiptckhônglàmgìc( lnhnhytich).ðiunàykhôngcógìlàkhôngtnhiênñi vichúngta.Trongnhiungdnghưngñiukhin,phnlncôngvicñưcthchintrongtrình phcvngt.Cácvídminhhadưiñâyschotathyñiunày. VI.CÁCVÍDMINHHA: 1.VídminhhaxlýngtTimer: Víd1: VitchươngtrìnhsdngTimer0vàcácngtñtoramtsóngvuôngcótns10 KHztrênchânP1.0,fOsc =12MHz. Gii ORG 0000H ;ðimnhpreset. LJMP MAIN ;Nhyquakhicácvectơngt. ORG 000BH ;ðimnhpISRcaTimer0. T0ISR: ;ISRcaTimer0. CPL P1.0 ;Lybù. RETI ;KtthúcISRcaTimer0. ORG 0030H ;ðimnhpchươngtrìnhchính. MAIN: ;Chươngtrìnhchínhbtñu. MOV TMOD,#02H ;Chnchñ2choTimer0. MOV TH0,#(50) ;ðnhthi50s. SETB TR0 ;ChoTimer0hotñng. MOV IE,#82H ;ChophépngtTimer0. SJMP $ ;Khônglàmgì(nhytich). END ;Ktthúcchươngtrình. Lưuý:LnhSJMP$cóthñưcthaythbngmtñonlnhñthcthinhngcông vickhác.Victhaythnàykhôngnhhưnggìñnvictosóngvuôngf=10KHztichânP1.0.Vì csaumi50sthìnhngcôngvicñósbtmdng( ngtTimer0xuthin )ñCPUthchinvic tosóngvuôngriquayvthchintipnhngcôngvicñó. Ngaysaukhireseththng,bñmchươngtrìnhPCñưcnp0000H.Lnhñutiênñưc thcthilàLJMP MAIN ,lnhnàyrnhánhñnchươngtrìnhchínhñach0030Htrongbnh chươngtrình.BalnhñutiêncachươngtrìnhchínhskhiñngTimer0chñ8bittñngnp li( Mode2 ),saochoTimer0strànsaumi50s.LnhMOVIE,#82HchophépcácngtdoTimer0 tora.Mimtlntràn,Timerstoramtngt.Dĩnhiênlàlntrànñutiênskhôngxuthinsau GiáotrìnhVixlý. 187 Biênson:PhmQuangTrí
  4. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. Lưuý:LnhSJMP$cóthñưcthaythbngmtñonlnhñthcthinhngcông vickhác.Victhaythnàykhôngnhhưnggìñnvictosóngvuôngf=7KHzvàf=500Hzti chânP1.7vàchânP1.6.Vìcsaumi71svà1msthìnhngcôngvicñósbtmdng( ngtTimer 0vàngtTimer1xuthin )ñCPUthchinvictosóngvuôngriquayvthchintipnhng côngvicñó. Victhpcácngõranàyrtkhótorañưctrênmththngkhôngsdngñiukhin ngt.Timer0hotñngchñ2,ñưcsdngñtoradngsóng7KHztrênchânP1.7.Timer1 hotñngchñ1,ñưcsdngñtoradngsóng500HztrênchânP1.6.Sdĩtrongtrưnghp này,Timer1phiñưcthitlpñhotñngchñ1làdodngsóng500Hzyêucuthigianmc caovàthigianmcthplà1ms,chñ2khôngsdngñưctrongtrưnghpnày. CũngcnchúýlàcácthanhghiTH1/TL1khôngñưckhiñngñuchươngtrìnhchínhnhư trưnghpcathanhghiTH0.DoTH1/TL1phiñưcnplisaumilnbñnhthitràn,TF1ñưc setbng1trongchươngtrìnhchínhbiphnmm( lnhSETBTF1)ñưcsdngñbucphicó mtngtbanñungaytrưckhicácngtñưcchophép.ðiunàycóhiuquchovicbtñudng sóng500Hz. Víd3: Vitchươngtrìnhliêntcnhndliu8bitcngP0vàsauñógidliunàyñn cngP1.TrongthigiannàycntoratrênchânP2.1mtsóngvuôngcóchukỳlà200s.Sdng Timer0ñtosóngvuông,fOsc =11,0592MHz. Gii ORG 0000H ;ðimnhpreset. LJMP MAIN ;Nhyquakhicácvectơngt. ORG 000BH ;ðimnhpISRcaTimer0. CPL P2.1 ;ðotrngtháichânP2.1,toxung. RETI ;KtthúcISRcaTimer0. ORG 0030H ;ðimnhpchươngtrìnhchính. MAIN: ;Chươngtrìnhchínhbtñu. MOV TMOD,#02H ;Chnchñ2choTimer0. MOV P0,#0FFH ;CuhìnhPort0làcngvào. MOV TH0,#(92) ;ðnhthi100s(nachukỳ). MOV IE,#82H ;ChophépngtTimer0hotñng. SETB TR0 ;ChoTimer0hotñng. BACK: MOV A,P0 ;NhndliutP0. MOV P1,A ;XutdliuvanhnñưcraP1. SJMP BACK END ;Ktthúcchươngtrình. GiáotrìnhVixlý. 189 Biênson:PhmQuangTrí
  5. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. 2.Vídminhhaxlýngtportnitip: CácngtdoportnitipxuthinkhicngtphátTIhoccngtthuRIñưcsetbng1.Mt ngtphátxuthinkhivicphátmtkýtñãghivàoSBUFhoàntt.Mtngtthuxuthinkhimt kýtñưcthunhnñyñvàñangtrongSBUFñchñưcñc.Nhưvy,ngtphátxyrakhib ñmphátSBUFrng,ngtthuxyrakhibñmthuSBUFñy. Cácngtdoportnitipcókhácvicácngtdobñnhthi.Cgâyrangtportnitip khôngñưcxóabiphncngkhiCPUtrtitrìnhphcvngt.Lýdolàvìñâytacóhaingyên nhântorangtportnitip,cthlàhaingttorabihaicTIvàRI.Nguyênnhânngtphi ñưcxácñnhtrongtrìnhphcvngtvàctorangtñưcxóabiphnmm.Cnnhclilàvi cácngtdobñnhthi,ctorangtñưcxóabiphncngkhiCPUtrtitrìnhphcvngt. Víd1:VitchươngtrìnhsdngcácngtñliêntcphátñimãASCII(cógiátrt20Hñn 7EH)ñnmtthitbñucuinivi8051quaportnitip.BitrngfOsc =11,0592MHz. Gii ORG 0000H ;ðimnhpreset. LJMP MAIN ;Nhyquakhicácvectơngt. ORG 0023H ;ðimnhpISRportnitip. LJMP SPISR ;LnhnhyñnISRportnitip. ORG 0030H ;ðimnhpchươngtrìnhchính. MAIN: ;Chươngtrìnhchínhbtñu. MOV SCON,#42H ;Chnchñ1choportni ;tip,TI=1ñbuccóngt ;vàgikýtñutiên. MOV TMOD,#20H ;Chnchñ2choTimer1. MOV TH1,#(24) ;Tcñbaud=1200. SETB TR1 ;ChoTimer1hotñng. MOV A,#20H ;Npmãchokýtñutiên. MOV IE,#90H ;Chophépngtportnitip. SJMP $ ;Khônglàmgì( nhytich). SPISR: ;ISRcangtportnitip. CJNE A,#7FH,SKIP ;Kimtraktthúcbngmã. MOV A,#20H ;Trlikýtñutiên. SKIP: MOV SBUF,A ;Truynkýtraportnitip. INC A ;Lymãcakýtktip. CLR TI ;Xóacngtphát. RETI ;KtthúcISRcaportnitip. END ;Ktthúcchươngtrình. Lưuý:LnhSJMP$cóthñưcthaythbngmtñonlnhñthcthinhngcông vickhác.VicthaythnàykhôngnhhưnggìñnvicphátmãASCIIthôngquaportnitip.Vìc saumilnportnitiptruynxongmtkýtthìnhngcôngvicñósbtmdng( ngtportni tipxuthin )ñCPUthchinvickimtrakýtktthúcbngmãvàlymãcakýtktipñ tiptcphátñiriquayvthchintipnhngcôngvicñó. BngmãASCIIbaogm128mã7bit( xemthêmtrongphnphlc“ Phlc4–Bngmã ASCII ”).SaukhinhyñnnhãnMAINñach0030H,balnhñutiêndùngkhiñngTimer1ñ cungcpxungclock1200baudchoportnitip,lnhMOVSCON,#42Hkhiñngportnitip GiáotrìnhVixlý. 191 Biênson:PhmQuangTrí
  6. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. RETI ;KtthúcISRcaportnitip. END ;Ktthúcchươngtrình. Víd3: Vitchươngtrìnhñiukhin8051ñcdliutcngP1vàghiliêntcticngP2. TrongkhiñódliunhnñưctportnitipthìñưcgiñncngP0.Bitrngtcñtruynlà 9600baudvàfOsc =11,0592MHz Gii ORG 0000H ;ðimnhpreset. LJMP MAIN ;Nhyquakhicácvectơngt. ORG 0023H ;ðimnhpISRportnitip. LJMP SPISR ;LnhnhyñnISRportnitip. ORG 0030H ;ðimnhpchươngtrìnhchính. MAIN: ;Chươngtrìnhchínhbtñu. MOV P1,#0FFH ;CuhìnhPort1làcngvào. MOV SCON,#52H ;Chnchñ1choportnitip. MOV TMOD,#20H ;Chnchñ2choTimer1. MOV TH1,#(3) ;Tcñbaud=9600. MOV IE,#90H ;Chophépngtportnitip. SETB TR1 ;ChoTimer1hotñng. BACK: MOV A,P1 ;ðcdliutP1. MOV P2,A ;XutdliunhnñưcraP2. SJMP BACK ;Lplicácthaotáctrên. SPISR: ;ISRcangtportnitip. CLR RI ;XóacngtthuRI. MOV A,SBUF ;Nhndliutportnitip. MOV P0,A ;XutdliunhnñưcraP0. RETI ;KtthúcISRcaportnitip. END ;Ktthúcchươngtrình. Víd4: Vitchươngtrìnhcósdngcácngtñthchincáccngvicsau: • Nhndliutportnitip,sauñóthìgidliunàyñncngP0. • NhndliutcngP1,sauñóthìgidliunàyñnportnitipvàcngP2. • SdngTimer0ñtosóngvuôngcótns5KHztiP0.1. Bitrngtcñtruynlà4800baudvàfOsc =11,0592MHz Gii ORG 0000H ;ðimnhpreset. LJMP MAIN ;Nhyquakhicácvectơngt. ORG 000BH ;ðimnhpISRTimer0. CPL P0.1 ;LybùchânP1.0,toxung. RETI ;KtthúcISRcaportnitip. ORG 0023H ;ðimnhpISRportnitip. LJMP SPISR ;LnhnhyñnISRportnitip. ORG 0030H ;ðimnhpchươngtrìnhchính. MAIN: ;Chươngtrìnhchínhbtñu. MOV P1,#0FFH ;CuhìnhPort1làcngvào. GiáotrìnhVixlý. 193 Biênson:PhmQuangTrí
  7. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. ORG 0000H ;ðimnhpreset. LJMP MAIN ;Nhyquakhicácvectơngt. ORG 0003H ;ðimnhpISRngtngoài0. EX0ISR: CLR P1.7 ;Ttlò. RETI ;KtthúcISRcangtngoài0. ORG 0013H ;ðimnhpISRngtngoài1. EX1ISR: SETB P1.7 ;Mlò. RETI ;KtthúcISRcangtngoài1. ORG 0030H ;ðimnhpchươngtrìnhchính. MAIN: ;Chươngtrìnhchínhbtñu. MOV IE,#85H ;Chophépngtngoài0và1. SETB IT0 ;Ngtngoàikíchkhicnhâm. SETB IT1 ðiukhintt/mlòtùy SETB P1.7 ;Mlò. thuctrngtháinhitñ JB P3.2,SKIP ;Nut>125 OC. hinticalò. CLR P1.7 ;Ttlò. SKIP: SJMP $ ;Khônglàmgì( nhytich). END ;Ktthúcchươngtrình. Lưuý:LnhSJMP$cóthñưcthaythbngmtñonlnhñthcthinhngcông vickhác.Victhaythnàykhôngnhhưnggìñnvicñiukhinhotñngttmlòtheonhitñ. Vìcsaumilncótínhiutácñngtcmbinthìnhngcôngvicñósbtmdng( ngtngoài0 và1xuthin )ñCPUthchinvicñiukhinttmlòtheonhitñquiñnhriquayvthchin tipnhngcôngvicñó. Balnhñutiêntrongchươngtrìnhchínhchophépcácngtngoàivàxácñnhcácngtngoài thucloitácñngcnhâm.DotrngtháihinticacácngõvàoHOT\vàCOLD\chưabitñưc nênbalnhtiptheosñiukhinlòtt/mtùythucvàotrngtháinhitñhinticalò.Trưc tiên,lòñưcm( lnhSETBP1.7 )vàngõvàoHOTñưclymu( lnh JBP3.2,SKIP ).Nungõvào HOTmccao,nghĩalàT 125 OC,thìlnhktipCLRP1.7 ñưcthcthiñttlò trưkhiñivàovònglp“khônglàmgì”. GiáotrìnhVixlý. 195 Biênson:PhmQuangTrí
  8. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. T1ISR: ;ISRcangtTimer1. CLR TR1 ;DngTimer1. MOV TH1,#HIGH(1250) ;ðnhthi1,25ms. MOV TL1,#LOW(1250) SETB TR0 ;ChoTimer1hotñng. RETI ;KtthúcISRcangtTimer1. END ;Ktthúcchươngtrình. Lưuý:LnhSJMP$cóthñưcthaythbngmtñonlnhñthcthinhngcông vickhác.Victhaythnàykhôngnhhưnggìñnvicñiukhinhotñngcaloaphátraâm thanhtheotínhiutbcmbincam.Vìcsaumilncótínhiutácñngtcmbinthì nhngcôngvicñósbtmdng( ngtngoài0xuthin )ñCPUthchinvicñiukhinphátra âmthanhtiloatrongmtkhongthigianxácñnhriquayvthchintipnhngcôngvicñó. Giiphápchovídnàylàsdngbangt:ngtngoài0( bcmbinca ),ngtTimer0( âm hiu400Hz )vàngtTimer1( ñnhthi1s). Chươngtrìnhgmnămphnphânbit:vtrícácvectơngt,chươngtrìnhchínhvàbatrình phcvngt.CácvtrívectơngtchacáclnhLJMP ñchuynñiukhinñncáctrìnhphcv ngttươngng.Chươngtrìnhchínhbtñuñach0030Hchchabnlnh.LnhSETBIT0cho phépngõvàongtghépvibcmbincañưckíchkhicnhâm. LnhMOVTMOD,#11Hxácñnhchñhotñngcachaibñnhthilàchññnhthi 16bit.Chcóngtngoài0ñưcphépbtñu( lnhMOVIE,#81H)doñiukincamlàñiukin cnphicótrưckhimtngtnàoñóñưcchpthun.CuicùnglnhSJMP$ ñtchươngtrìnhvào vònglp“khônglàmgì”.Khiñiukincamñưcpháthin( bngschuyntrngtáitmccao xungmcthpchânINT0\),ngtngoài0ñưctora. Trìnhphcvchongtngoài0,EX0ISR,btñubngvicnphngs20choR7,risetc tràncachaibñnhthibng1ñbuccácngtdobñnhthixuthin.Tuynhiêncácngtdo bñnhthischxuthinkhicácbittươngngtrongthanhghiIEñưcchophép.Hailnhktip SETBET0vàSETBET1chophépcácngtdobñnhthi.Cuicùngtrìnhphcvchongtngoài 0,EX0ISR,ktthúcbnglnhRETI ñtrvchươngtrìnhchính. Bñnhthi0dùngñtorakhongthigianñnhthi1svàbñnhthi1dùngñtoraâm hiu400Hz.Saukhitrìnhphcvchongtngoài0,EX0ISR,ktthúcthìcácngtdobñnhthilp tcñưctora( vàñưcchpnhnsaukhithcthimtlnhSJMP$ ).Davàothttrongchui vòngnênngtdobñnhthi0sñưcphcvtrưctiên.Khongthigianñnhthi1sñưctora bngcáchlptrìnhñlpli20lnthigianñnhthi50000s( 20x50000s=1s).ThanhghiR7 hotñngnhưlàmtbñm. TrìnhphcvngtT0ISRhotñngnhưsau:trưctiênbñnhthi0ñưcñiukhinngng hotñngvàR7ñưcgiãmñimtñơnv.KñnTH0/TL0ñưcnplibigiátr(50000),sauñó bñnhthi0ñưcñiukhinhotñngtrlivàtrìnhphcvngtñưcktthúc.lnngtth20, R7ñưcgiãmxung0( 1sñãtrôiqua ).Cácngtdochaibñnhthiñưcvôhiu( lnhCLRET0 vàCLRET1)vàtrìnhphcvngtktthúc.Khôngcònngtdobñnhthitoranachoñnkhi ñiukincamxuthinmtlnna.Âmhiu400Hzñưclptrìnhbngcáchsdngngtdob ñnhthi1.Tns400Hzyêucuchukỳlà2500s,trongñócó1250smccaovà1250smc thp.Trìnhphcvngtchobñnhthi1chñơnginnpgiátr(1250)choTH1/TL1,sauñóly bùbitcaportñkíchloavàriktthúctrìnhphcvngt. GiáotrìnhVixlý. 197 Biênson:PhmQuangTrí
  9. Chương6:Hotñngngt(Interrupt). TrưngðHCôngnghipTp.HCM. Víd4: NgtngoàikíchkhicnhâmChomchñinnhưhìnhv.ChânINT0\ñưcnivi mtcôngtcbìnhthưngmccao,mikhichânnàycóschuyntrngtháitmccaoxungmc thp(nhncôngtc)thìñiukhinbtLED(bìnhthưngthìLEDtt).KhiLEDñãñưcbtthìphi sángtrongmtkhongthigian(vàitrms)trưckhitt,khicôngtcñưcnhnvàgithìLED khôngñưcsángliêntc. Gii ORG 0000H ;ðimnhpreset. LJMP MAIN ;Nhyquakhicácvectơngt. ORG 0003H ;ðimnhpISRngtngoài0. CLR P1.3 ;BtLED. MOV R3,#255 ;ThigianLEDduytrìtrngtháisánglà DJNZ R3,$ ;255.TMachine . SETB P1.3 ;TtLED. RETI ;KtthúcISRcangtngoài0. ORG 0030H ;ðimnhpchươngtrìnhchính. MAIN: ;Chươngtrìnhchínhbtñu. SETB TCON.0 ;Ngtngoài0kíchkhicnhâm. MOV IE,#81H ;Chophépngtngoài0. SJMP $ ;Khônglàmgì( nhytich). END ;Ktthúcchươngtrình VII.PHNBÀITP: Bài1: VitñonlnhdùngngtTimerñtosóngvuôngf=2KHztiP1.7.( fOSC =12MHz ). Bài2: VitñonlnhdùngngtTimerñtosóngvuôngf=200HztiP1.6.( fOSC =12MHz ). Bài3: VitñonlnhdùngngtTimerñtoñngthihaisóngvuông1KHzvà50HztiP1.0 vàP1.1.( fOSC =6MHz ) Bài4: VitñonlnhlymtchuidatachatrongRamngoàibtñutñach6200Hñn ñach62FFHvàxutraPort1,milnxutcáchnhau50ms.SdngngtTimer.fOSC =12MHz. Bài5: Vitñonlnhnhpdatatthitbngoàiktnivi8051quaPort1,milnnhpcách nhau5s,datanhpvñưcghivàovùngRamnibtñutñach50Hñnñach5FH.Bitrng saukhighivàoônhcuicùngthìtrlighivàoônhñu.SdngngtTimer.fOSC =12MHz. Bài6: Vitñonlnhphátliêntcchuist0ñn9raportnitiptheochñUART8bit, 2400baud.Sdngngtserial.fOSC =12MHz. GiáotrìnhVixlý. 199 Biênson:PhmQuangTrí