Giáo trình Kỹ thuật vi điều khiển - Chương 4: Các bài tập thực hiện trên Kit - Lâm Tăng Đức
ꢀꢁ80ꢁꢀGi¸oꢁtr×nhꢁm«nꢁKüꢁthuËtꢁViꢁ§iÒuꢁKhiÓnꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁCh−¬ngꢁ3ꢁ:ꢁC¸cꢁbꢂiꢁtËpꢁthùcꢁhiÖn
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
Ch−¬ngꢀIVꢀ
C¸cꢀbꢁiꢀtËpꢀthùcꢀhiÖnꢀtrªnꢀKitꢀꢀ
ꢀ
ꢀ
ꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ
–ꢀLªꢀTiÕnꢀDòngꢀ
–
Béꢀm«nꢀT§Hꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
ꢀ
ꢁBiªnꢁso¹nꢁ:ꢁL©mꢁt¨ngꢁ§øcꢁ–ꢁLªꢁTiÕnꢁDòngꢁ– Béꢁm«nꢁT§HꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁTrangꢁꢁ80ꢀ
ꢁꢁꢁꢁꢁ
ꢀ
ꢀꢁ81ꢁꢀGi¸oꢁtr×nhꢁm«nꢁKüꢁthuËtꢁViꢁ§iÒuꢁKhiÓnꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁCh−¬ngꢁ3ꢁ:ꢁC¸cꢁbꢂiꢁtËpꢁthùcꢁhiÖn
ꢀ
Ch−¬ngꢀIVꢀ
C¸cꢀbꢁiꢀtËpꢀthùcꢀhiÖnꢀtrªnꢀKitꢀꢀ
Víiꢀmôcꢀ®Ýchꢀlꢁꢀ®ꢁoꢀt¹oꢀnªnꢀtÊtꢀc¶ꢀch−¬ngꢀtr×nhꢀDEMOꢀcñaꢀKITꢀ®Òuꢀ®−îcꢀviÕtꢀ
b»ngꢀhîpꢀng÷ꢀ(Assembly),ꢀ®iÒuꢀnꢁyꢀgiópꢀng−êiꢀhäcꢀcãꢀthÓꢀhiÓuꢀrâꢀvꢁꢀn¾mꢀv÷ngꢀvÒꢀcÊuꢀ
trócꢀphÇnꢀcøngꢀcñaꢀhäꢀviꢀ®iÒuꢀkhiÓnꢀ8051.ꢀNgoꢁiꢀraꢀcßnꢀlꢁmꢀquenꢀ®−îcꢀvíiꢀc¸chꢀlËpꢀ
tr×nhꢀkh«ngꢀcÊuꢀtróc,ꢀkh¸cꢀvíiꢀlËpꢀtr×nhꢀcãꢀcÊuꢀtrócꢀb»ngꢀc¸cꢀng«nꢀng÷ꢀbËcꢀcaoꢀnh−ꢀCꢀ
hayꢀBasic,ꢀquaꢀc¸cꢀbꢁiꢀthùcꢀhꢁnh.ꢀCuèiꢀcïngꢀng−êiꢀhäcꢀcãꢀthÓꢀtùꢀm×nhꢀtèiꢀ−uꢀ®−îcꢀmꢂꢀ
lÖnhꢀ®ÓꢀtiÕtꢀkiÖmꢀbéꢀnhí,ꢀ®iÒuꢀnꢁyꢀlꢁꢀcÇnꢀthiÕtꢀkhiꢀdungꢀl−îngꢀcñaꢀROMꢀvꢁꢀRAMꢀtÝchꢀ
hîpꢀs½nꢀtrªnꢀchipꢀcñaꢀc¸cꢀviꢀ®iÒuꢀkhiÓnꢀlꢁꢀkh«ngꢀlín.ꢀ
4.1ꢀC¸cꢀvÝꢀdôꢀvÒꢀ®iÒuꢀkhiÓnꢀchipꢀmëꢀréngꢀI/Oꢀ8255ꢀsöꢀdôngꢀtrªnꢀKITꢀ
Nh−ꢀ®ꢂꢀt×mꢀhiÓuꢀëꢀch−¬ngꢀ2ꢀvÒꢀcÊuꢀtróc,ꢀc¸cꢀchÕꢀ®éꢀho¹tꢀ®éngꢀcñaꢀchipꢀ8255,ꢀtrongꢀ
KITꢀnꢁyꢀtaꢀsöꢀdôngꢀ8255ꢀlꢁmꢀchipꢀmëꢀréngꢀI/Oꢀho¹tꢀ®éngꢀëꢀchÕꢀ®éꢀ0ꢀ–ꢀchÕꢀ®éꢀvꢁoꢀraꢀ
c¬ꢀb¶n.ꢀKhiꢀ8255ꢀlꢁmꢀviÖcꢀëꢀchÕꢀ®éꢀnꢁy,ꢀc¸cꢀcængꢀA,ꢀB,ꢀCL,ꢀCUꢀcãꢀthÓꢀ®−îcꢀlËpꢀtr×nhꢀ
lꢁmꢀ®ÇuꢀvꢁoꢀhoÆcꢀ®Çuꢀra.ꢀNªnꢀnhÊnꢀm¹nhꢀr»ng,ꢀëꢀchÕꢀ®éꢀ0ꢀth×ꢀtÊtꢀc¶ꢀc¸cꢀbitꢀhoÆcꢀlꢁmꢀ
®Çuꢀvꢁo,ꢀhoÆcꢀlꢁmꢀ®Çuꢀraꢀmꢁꢀkh«ngꢀthÓꢀ®iÒuꢀkhiÓnꢀriªngꢀrÏꢀtõngꢀbitꢀnh−ꢀc¸cꢀcængꢀP0ꢃꢀ
P3ꢀcñaꢀ8051.ꢀ
CÊuꢀtrócꢀtõꢀ®iÒuꢀkhiÓnꢀ(CW)ꢀëꢀchÕꢀ®éꢀnꢁyꢀcãꢀkhu«nꢀd¹ngꢀnh−ꢀh×nhꢀ2.15ꢀ
4.1.1.ꢀVÝꢀdôꢀ1:ꢀX¸cꢀ®Þnhꢀtõꢀ®iÒuꢀkhiÓnꢀcñaꢀ8255ꢀchoꢀc¸cꢀcÊuꢀh×nhꢀsau:ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
a)ꢀTÊtꢀc¶ꢀc¸cꢀcængꢀA,BꢀvꢁꢀCꢀ®Òuꢀlꢁꢀc¸cꢀcængꢀ®Çuꢀraꢀ(ëꢀchÕꢀ®éꢀ0).ꢀ
b)ꢀPAꢀlꢁmꢀ®Çuꢀvꢁo,ꢀPBꢀꢃꢀ®Çuꢀra,ꢀPCLꢀꢃꢀ®ÇuꢀvꢁoꢀvꢁꢀPCHꢀꢃꢀ®Çuꢀraꢀ
Gi¶i:ꢀTõꢀh×nhꢀ2.15ꢀtaꢀx¸cꢀ®Þnhꢀ®−îcꢀ
a)ꢀ10000000Bꢀ=ꢀ80Hꢀ
b)ꢀ10010001Bꢀ=ꢀ91Hꢀ
ꢀ
ꢁBiªnꢁso¹nꢁ:ꢁL©mꢁt¨ngꢁ§øcꢁ–ꢁLªꢁTiÕnꢁDòngꢁ– Béꢁm«nꢁT§HꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁTrangꢁꢁ81ꢀ
ꢁꢁꢁꢁꢁ
ꢀ
ꢀꢁ82ꢁꢀGi¸oꢁtr×nhꢁm«nꢁKüꢁthuËtꢁViꢁ§iÒuꢁKhiÓnꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁCh−¬ngꢁ3ꢁ:ꢁC¸cꢁbꢂiꢁtËpꢁthùcꢁhiÖn
ꢀ
NhãmꢀAꢀ
D5ꢀ
NhãmꢀBꢀ
D1ꢀ
ꢀ
D7ꢀ
D6ꢀ
D4ꢀ
D3ꢀ
D2ꢀ
D0ꢀ
ꢀ
ꢀ
Chänꢀmodeꢀ
0ꢀ=ꢀModeꢀ0ꢀ
1ꢀ=ꢀModeꢀ1ꢀ
CængꢀCꢀ
CængꢀAꢀ
1=ꢀInputꢀ
0ꢀ=ꢀOutputꢀ
1ꢀ=ꢀI/OꢀModeꢀ
0ꢀ=ꢀBSRꢀ
PC3–ꢀPC0ꢀ
1=ꢀInputꢀ
0ꢀ=ꢀOutputꢀ
ꢀ
ꢀ
ꢀ
ꢀ
CængꢀCꢀ
PC7ꢀ–ꢀPC4ꢀ
1=ꢀInputꢀ
Chänꢀmodeꢀ
00ꢀ=ꢀModeꢀ0ꢀ
01ꢀ=ꢀModeꢀ1ꢀ
1xꢀ=ꢀModeꢀ2ꢀ
CængꢀBꢀ
1=ꢀInputꢀ
0ꢀ=ꢀOutputꢀ
0ꢀ=ꢀOutputꢀ
ꢀ
ꢁ
H×nhꢁ2.15ꢁKhu«nꢀd¹ngꢀtõꢀ®iÒuꢀkhiÓnꢀcñaꢀ8255ꢀ(chÕꢀ®éꢀvꢁoꢀraꢀc¬ꢀsë)ꢁ
4.1.2.ꢀVÝꢀdôꢀ2:ꢀGi¶ꢀsöꢀnh−ꢀtaꢀcãꢀmétꢀchipꢀ8051ꢀ®−îcꢀnèiꢀvíiꢀchipꢀ8255ꢀsaoꢀchoꢀ®Þaꢀ
chØꢀcñaꢀꢀc¸cꢀPORTꢀvꢁꢀtõꢀ®iÒuꢀkhiÓnꢀcñaꢀ8255ꢀnh−ꢀsau:ꢀ
ꢀ
8004Hꢀ–PortA;ꢀ
8005Hꢀ–ꢀPortꢀB;ꢀ 8006Hꢀ–PortC;ꢀ
8007Hꢀ–CWꢀ
a)ꢀT×mꢀbyteꢀ®iÒuꢀkhiÓnꢀ®ÓꢀPAꢀlꢁꢀcængꢀvꢁo,ꢀPB,ꢀPCꢀlꢁꢀcængꢀraꢀ
b)ꢀViÕtꢀmétꢀch−¬ngꢀtr×nhꢀ®ÓꢀlÊyꢀd÷ꢀliÖuꢀëꢀPAꢀvꢁꢀgöiꢀ®ÕnꢀcængꢀBꢀvꢁꢀCꢀ
Gi¶i:ꢀꢀ
a)ꢀDùaꢀvꢁoꢀh×nhꢀ2.15ꢀtaꢀcãꢀ®−îcꢀtõꢀ®iÒuꢀkhiÓnꢀCWꢀ=ꢀ10010000Bꢀ=ꢀ90Hꢀ
b)ꢀCh−¬ngꢀtr×nh:ꢀ
;ꢀ################################################ꢀ
movꢀ A,ꢀ#90Hꢀ
ꢀ
ꢀ
;ꢀPAꢀlꢁꢀcængꢀvꢁo,ꢀPB,ꢀPCꢀlꢁꢀcængꢀraꢀ
;ꢀCWꢀ
movꢀ DPTR,ꢀ#8007Hꢀꢀ ꢀ
movxꢀ@DPTR,ꢀAꢀ ꢀ
Again:ꢀ
ꢀ
;ꢀXuÊtꢀtõꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢁBiªnꢁso¹nꢁ:ꢁL©mꢁt¨ngꢁ§øcꢁ–ꢁLªꢁTiÕnꢁDòngꢁ– Béꢁm«nꢁT§HꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁTrangꢁꢁ82ꢀ
ꢁꢁꢁꢁꢁ
ꢀ
ꢀꢁ83ꢁꢀGi¸oꢁtr×nhꢁm«nꢁKüꢁthuËtꢁViꢁ§iÒuꢁKhiÓnꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁCh−¬ngꢁ3ꢁ:ꢁC¸cꢁbꢂiꢁtËpꢁthùcꢁhiÖn
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
movꢀ DPTR,ꢀ#8004Hꢀ ;ꢀ§ÞaꢀchØꢀPAꢀ
movxꢀA,ꢀ@DPTRꢀ ꢀ ;ꢀNhËnꢀd÷ꢀliÖuꢀtõꢀPAꢀ
incꢀ DPTRꢀꢀ
movxꢀ@DPTR,ꢀAꢀ ꢀ
incꢀ DPTRꢀꢀ
movxꢀ@DPTR,ꢀAꢀ ꢀ
ꢀ
;ꢀ§ÞaꢀchØꢀcñaꢀcængꢀPBꢀ
;ꢀ§−aꢀd÷ꢀliÖuꢀraꢀcængꢀPBꢀ
;ꢀ§ÞaꢀchØꢀcñaꢀcængꢀPCꢀ
;ꢀ§−aꢀd÷ꢀliÖuꢀraꢀPCꢀ
ꢀ
;ꢀ#################################################ꢀ
Sauꢀkhiꢀ®ꢂꢀꢀhiÓuꢀrâꢀc¸cꢀthaoꢀt¸cꢀlꢁmꢀviÖcꢀvíiꢀ8255ꢀ®ÓꢀgiaoꢀtiÕpꢀvíiꢀc¸cꢀthiÕtꢀbÞꢀngo¹iꢀ
viꢀcñaꢀKITꢀtaꢀcãꢀtiÕnꢀhꢁnhꢀc¸cꢀbꢁiꢀthÝꢀnghiÖmꢀsau.ꢀ
4.2ꢀBꢁiꢀto¸nꢀ1ꢀ:ꢀ§iÒuꢀkhiÓnꢀ8ꢀbitꢀ®Çuꢀraꢀsèꢀ
§iÒuꢀkhiÓnꢀ8ꢀbitꢀ®Çuꢀraꢀsèꢀlꢁꢀmétꢀbꢁiꢀto¸nꢀ®¬nꢀgi¶nꢀnh»mꢀgiópꢀng−êiꢀhäcꢀlꢁmꢀquenꢀ
víiꢀviÖcꢀ®iÒuꢀkhiÓnꢀviꢀm¹chꢀ8255ꢀ®ÓꢀgöiꢀraꢀcængꢀmétꢀtÝnꢀhiÖuꢀsè.ꢀ
Bꢁiꢀto¸nꢀthùcꢀhiÖnꢀviÖcꢀxuÊtꢀraꢀmétꢀtÝnꢀhiÖuꢀsèꢀ8ꢀbitꢀ(1ꢀbyte)ꢀvꢁꢀkÕtꢀqu¶ꢀnꢁyꢀ®−îcꢀ
hiÓnꢀthÞꢀtrªnꢀ8ꢀ®ÌnꢀLEDꢀnháꢀt−¬ngꢀøngꢀvíiꢀ8ꢀbitꢀ®ꢂꢀ®−îcꢀbèꢀtrÝꢀtrªnꢀbéꢀKIT,ꢀnÕuꢀ1ꢀbitꢀ
b»ngꢀ1ꢀ(High)ꢀth×ꢀ®Ìnꢀt−¬ngꢀøngꢀsÏꢀt¾tꢀvꢁꢀng−îcꢀl¹i.ꢀ
4.3ꢀBꢁiꢀto¸nꢀ2ꢀ:ꢀ§iÒuꢀkhiÓnꢀnhËnꢀ®Çuꢀvꢁoꢀ8ꢀbitꢀsèꢀvꢁꢀgöiꢀ®Õnꢀ8ꢀbitꢀ®Çuꢀraꢀ
ꢀ Bꢁiꢀto¸nꢀthùcꢀhiÖnꢀviÖcꢀ®iÒuꢀkhiÓnꢀviꢀm¹chꢀ8255ꢀquiꢀ®Þnhꢀmétꢀcængꢀcñaꢀnãꢀlꢁmꢀ
®ÇuꢀvꢁoꢀnhËnꢀtÝnꢀhiÖuꢀsèꢀvꢁꢀgöiꢀtÝnꢀhiÖuꢀ®ãꢀ®Õnꢀmétꢀcængꢀraꢀkh¸c.ꢀ
4.4ꢀBꢁiꢀto¸nꢀ3ꢀ:ꢀ§iÒuꢀkhiÓnꢀhiÓnꢀthÞꢀtÜnhꢀmaꢀtrËnꢀLEDꢀ8x8ꢀꢀ
§iÒuꢀkhiÓnꢀhiÓnꢀthiꢀtÜnhꢀmaꢀtrËnꢀLEDꢀlꢁꢀmétꢀbꢁiꢀto¸nꢀ®iÒuꢀkhiÓnꢀ®¬nꢀgi¶nꢀmaꢀ
trËnꢀLEDꢀhiÓnꢀthÞꢀc¸cꢀ®iÓmꢀLEDꢀcãꢀmꢁuꢀs¾cꢀkh¸cꢀnhauꢀtheoꢀtõngꢀcétꢀxenꢀkÎꢀnhau,ꢀbꢁiꢀ
to¸nꢀnꢁyꢀgiópꢀng−êiꢀhäcꢀhiÓuꢀrâꢀh¬nꢀcÊuꢀt¹oꢀcñaꢀmaꢀtrËnꢀLEDꢀvꢁꢀlꢁmꢀquenꢀvíiꢀviÖcꢀ
®iÒuꢀkhiÓnꢀnã.ꢀ
4.5ꢀBꢁiꢀto¸nꢀ4ꢀ:ꢀ§iÒuꢀkhiÓnꢀhiÓnꢀthÞꢀ®éngꢀmaꢀtrËnꢀLEDꢀ8x8ꢀ
ꢀ
ꢁBiªnꢁso¹nꢁ:ꢁL©mꢁt¨ngꢁ§øcꢁ–ꢁLªꢁTiÕnꢁDòngꢁ– Béꢁm«nꢁT§HꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁTrangꢁꢁ83ꢀ
ꢁꢁꢁꢁꢁ
ꢀ
ꢀꢁ84ꢁꢀGi¸oꢁtr×nhꢁm«nꢁKüꢁthuËtꢁViꢁ§iÒuꢁKhiÓnꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁCh−¬ngꢁ3ꢁ:ꢁC¸cꢁbꢂiꢁtËpꢁthùcꢁhiÖn
ꢀ
§iÒuꢀkhiÓnꢀhiÓnꢀthÞꢀ®éngꢀmaꢀtrËnꢀLEDꢀlꢁꢀmétꢀbꢁiꢀto¸nꢀphøcꢀt¹pꢀh¬nꢀbꢁiꢀto¸nꢀhiÓnꢀ
thÞꢀtÜnhꢀëꢀtrªn.ꢀNéiꢀdungꢀcñaꢀbꢁiꢀto¸nꢀlꢁꢀthùcꢀhiÖnꢀviÖcꢀquÐtꢀliªnꢀlôcꢀtheoꢀtõngꢀdßngꢀcñaꢀ
maꢀtrËnꢀLEDꢀ®ÓꢀhiÓnꢀthÞꢀc¸cꢀch÷ꢀsèꢀtrongꢀhÖꢀHexaꢀtõꢀ0ꢃ9..ꢀ®ÕnꢀAꢃFꢀlªnꢀtrªnꢀb¶ngꢀLED.ꢀ
4.6ꢀBꢁiꢀto¸nꢀ5ꢀ:ꢀ§iÒuꢀkhiÓnꢀADC0809ꢀvꢁꢀꢀDAC0808ꢀ
VíiꢀADC0809:ꢀbꢁiꢀto¸nꢀthùcꢀhiÖnꢀviÖcꢀchuyÓnꢀ®æiꢀtÝnꢀhiÖuꢀAnalogꢀëꢀmétꢀtrongꢀ8ꢀ
kªnhꢀ®ÇuꢀvꢁoꢀthꢁnhꢀtÝnꢀhiÖuꢀsèꢀ8ꢀbitꢀëꢀ®ÇuꢀraꢀcñaꢀADC0809.ꢀSauꢀ®ãꢀ®äcꢀtÝnꢀhiÖuꢀsèꢀ®ꢂꢀ
chuyÓnꢀ®æiꢀnꢁyꢀhiÓnꢀthÞꢀlªnꢀLCD.ꢀëꢀphÇnꢀnꢁyꢀtrªnꢀKITꢀcßnꢀtrangꢀbÞꢀs½nꢀmétꢀc¶mꢀbiÕnꢀ
nhiÖtꢀ®é,ꢀbꢁiꢀto¸nꢀthÝꢀnghiÖmꢀ®Óꢀ®oꢀnhiÖtꢀ®éꢀ®−îcꢀthùcꢀhiÖnꢀkhiꢀtaꢀbËtꢀnótꢀthøꢀ4ꢀcñaꢀDIPꢀ
SWITCHꢀꢀ®ÓꢀnèiꢀtÝnꢀhiÖuꢀ®ÇuꢀraꢀcñaꢀLM35ꢀ®Õnꢀkªnhꢀ®Çuꢀvꢁoꢀ4ꢀcñaꢀADC0809,ꢀnhiÖtꢀ®éꢀ
phßngꢀcòngꢀ®−îcꢀhiÓnꢀthÞꢀtrªnꢀLCD.ꢀ
Víiꢀ DAC0808:ꢀ bꢁiꢀ to¸nꢀ thùcꢀhiÖnꢀ chuyÓnꢀ®æiꢀ tÝnꢀhiÖuꢀ sèꢀ8ꢀbitꢀ thꢁnhꢀ tÝnꢀhiÖuꢀ
t−¬ngꢀtùꢀcãꢀd¶iꢀ0ꢀꢃ10Vꢀëꢀ®ÇuꢀraꢀcñaꢀDAC0808,ꢀtÝnꢀhiÖuꢀnꢁyꢀcãꢀthÓꢀ®−aꢀvꢁoꢀm¸yꢀhiÖnꢀ
sãngꢀ(Oscilloscope)ꢀ®ÓꢀxemꢀkÕtꢀqu¶ꢀ®èiꢀvíiꢀch−¬ngꢀtr×nhꢀt¹oꢀsãngꢀ(sin)ꢀhoÆcꢀcãꢀthÓꢀ®oꢀ
b»ngꢀ®ångꢀhåꢀb×nhꢀth−êngꢀnÕuꢀchØꢀt¹oꢀraꢀëꢀ®Çuꢀraꢀ1ꢀgi¸ꢀtrÞꢀ®iÖnꢀ¸pꢀkh«ngꢀ®æi.ꢀ
4.7ꢀBꢁiꢀto¸nꢀ6ꢀ:ꢀ§iÒuꢀkhiÓnꢀ®éngꢀc¬ꢀb−ícꢀvꢁꢀ®éngꢀc¬ꢀ1ꢀchiÒuꢀ
Bꢁiꢀto¸nꢀthùcꢀhiÖnꢀviÖcꢀ®iÒuꢀkhiÓnꢀ®éngꢀc¬ꢀb−ícꢀquay,ꢀthayꢀ®æiꢀtècꢀ®é,ꢀ®¶oꢀchiÒu,ꢀ
dõngꢀ®éngꢀc¬.ꢀCh−¬ngꢀtr×nhꢀsöꢀdôngꢀ4ꢀ®Çuꢀvꢁoꢀxungꢀ®Óꢀlꢁmꢀc¸cꢀphÝmꢀlꢁmꢀthayꢀ®æiꢀc¸cꢀ
tr¹ngꢀth¸iꢀtrªnꢀcñaꢀ®éngꢀc¬ꢀb−íc.ꢀ
*ꢀTh−êngꢀc¸cꢀcuénꢀd©yꢀcñaꢀ®éngc¬ꢀb−ícꢀ®−îcꢀx¸cꢀ®Þnhꢀtheoꢀmꢁuꢀcñaꢀc¸cꢀd©y,ꢀ
tuyꢀnhiªnꢀ®èiꢀvíiꢀmétꢀ®éngꢀc¬ꢀb−ícꢀbÊtꢀkúꢀtaꢀcãꢀthÓꢀdïngꢀ®ångꢀhåꢀ®Óꢀx¸cꢀ®Þnhꢀc¸cꢀcuénꢀ
d©yꢀnh−ꢀh×nhꢀvÏ,ꢀëꢀ®©yꢀtr×nhꢀbꢁyꢀc¸chꢀx¸cꢀ®Þnhꢀchoꢀc¸cꢀ®éngꢀc¬ꢀcãꢀ5,ꢀ6ꢀd©yꢀ
1. Dïngꢁ®ångꢁhåꢁ®Óꢁx¸cꢁ®Þnhꢁ®ÇuꢁCommon:ꢀdïngꢀ®ångꢀhåꢀ®Óꢀëꢀthangꢀ®oꢀtrë,ꢀ®oꢀ
trëꢀgi÷aꢀc¸cꢀcÆpꢀd©y,ꢀ®ÇuꢀCommonꢀlꢁꢀ®Çuꢀcãꢀtrëꢀgi÷aꢀnãꢀc¸cꢀ®Çuꢀkh¸cꢀb»ngꢀ1/2ꢀ
®iÖnꢀtrëꢀcñaꢀc¸cꢀ®Çuꢀkh¸cꢀvíiꢀnhau.ꢀ
ꢀ
ꢀ
ꢁBiªnꢁso¹nꢁ:ꢁL©mꢁt¨ngꢁ§øcꢁ–ꢁLªꢁTiÕnꢁDòngꢁ– Béꢁm«nꢁT§HꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁTrangꢁꢁ84ꢀ
ꢁꢁꢁꢁꢁ
ꢀ
ꢀꢁ85ꢁꢀGi¸oꢁtr×nhꢁm«nꢁKüꢁthuËtꢁViꢁ§iÒuꢁKhiÓnꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁCh−¬ngꢁ3ꢁ:ꢁC¸cꢁbꢂiꢁtËpꢁthùcꢁhiÖn
ꢀ
2. X¸cꢁ®Þnhꢁthøꢁtùꢁc¸cꢁcuénꢁd©yꢀb»ngꢀc¸chꢀcÊpꢀnguånꢀvꢁoꢀ®ÇuꢀCommonꢀvꢁꢀnèiꢀ
®Êtꢀ1ꢀtrongꢀ4ꢀd©yꢀcßnꢀl¹i,ꢀ®ångꢀthêiꢀnèiꢀ®Êtꢀ1ꢀtrongꢀ3ꢀd©yꢀcßnꢀl¹iꢀxemꢀph¶nꢀøngꢀ
(chiÒuꢀquay)ꢀcñaꢀ®éngꢀc¬ꢀvꢁꢀ®¸nhꢀdÊuꢀthøꢀtùꢀchoꢀnãꢀnh−ꢀtrongꢀb¶ngꢀsau:ꢀꢀ
Nèiꢀmassꢀmétꢀ®Çu,ꢀ®¸nhꢀdÊuꢀnãꢀlꢁꢀ®Çuꢀ4ꢀ
ꢀ
Gi÷ꢀnguyªnꢀnã,ꢀnèiꢀmassꢀtiÕpꢀlÇnꢀl−îtꢀmétꢀtrongꢀ3ꢀd©yꢀcßnꢀl¹iꢀꢀ
NÕuꢀ®éngꢀc¬ꢀquayꢀtheoꢀchiÒuꢀkimꢀ®ångꢀhå,ꢀ®ãꢀlꢁꢀcuénꢀ3ꢀ
ꢀ
NÕuꢀ®éngꢀc¬ꢀquayꢀng−îcꢀchiÒuꢀkimꢀ®ångꢀhå,ꢀ®ãꢀlꢁꢀcuénꢀ1ꢀ
ꢀ
D©yꢀkh«ngꢀcãꢀph¶nꢀøngꢀg×ꢀc¶ꢀlꢁꢀcuénꢀ2ꢀꢀ
ꢀ
ꢁ
KhiꢀbiÕtꢀ®−îcꢀthøꢀtùꢀc¸cꢀcuénꢀd©y,ꢀtaꢀkÝchꢀxungꢀtheoꢀthøꢀtùꢀ®ãꢀ®éngꢀc¬ꢀsÏꢀch¹yꢀ
VÝꢀdôꢀmétꢀ®o¹nꢀch−¬ngꢀtr×nhꢀnh−ꢀsau,ꢀgi¶ꢀsöꢀ4ꢀ®Çuꢀcñaꢀ®éngꢀc¬ꢀ®−îcꢀ4ꢀbitꢀP1.0ꢀ–
P1.3ꢀcñaꢀ8051ꢀ®iÒuꢀkhiÓn:ꢀ
;ꢀ################################ꢀ
ORGꢀ0000Hꢀ
ꢀꢀ
MOVꢀR3,#00000011Bꢀ
ꢀ
ꢁBiªnꢁso¹nꢁ:ꢁL©mꢁt¨ngꢁ§øcꢁ–ꢁLªꢁTiÕnꢁDòngꢁ– Béꢁm«nꢁT§HꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁTrangꢁꢁ85ꢀ
ꢁꢁꢁꢁꢁ
ꢀ
ꢀꢁ86ꢁꢀGi¸oꢁtr×nhꢁm«nꢁKüꢁthuËtꢁViꢁ§iÒuꢁKhiÓnꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁCh−¬ngꢁ3ꢁ:ꢁC¸cꢁbꢂiꢁtËpꢁthùcꢁhiÖn
ꢀ
ꢀꢀ
MOVꢀA,ꢀR3ꢀ
BACK:ꢀMOVꢀP1,Aꢀ ꢀ
ꢀ
ꢀꢀ
ꢀꢀ
ꢀꢀ
RLꢀAꢀꢀ
ꢀ
;ꢀQuayꢀthanhꢀghiꢀAꢀ
ACALLꢀDELAYꢀ
SJMPꢀBACKꢀ
;ꢀTècꢀ®éꢀquayꢀcãꢀthÓꢀthayꢀdæiꢀb»ngꢀthayꢀ®æiꢀthêiꢀgianꢀDelayꢀ ꢀ
DELAY:ꢀ
ꢀꢀ MOVꢀR1,#50ꢀ
ꢀ
ꢀ
H1:ꢀ MOVꢀR2ꢀ,#255ꢀ
H2:ꢀ DJNZꢀR2,H2ꢀ
ꢀꢀ
ꢀꢀ
ꢀꢀ
DJNZꢀR1,H1ꢀ
RETꢀ
ꢀ
ꢀ
ENDꢀ
ꢀ
;###########################ꢀ
4.8ꢀBꢁiꢀto¸nꢀ7ꢀ:ꢀGiaoꢀtiÕpꢀvíiꢀm¸yꢀtÝnhꢀb»ngꢀgiaoꢀthøcꢀRS232ꢀsöꢀdôngꢀcængꢀnèiꢀ
tiÕp.ꢀCh−¬ngꢀtr×nhꢀDEMOꢀch¹yꢀtrªnꢀPCꢀ®−îcꢀviÕtꢀb»ngꢀDelphiꢀ7,ꢀcãꢀsöꢀdôngꢀth−ꢀviÖnꢀ
CPortꢀ3.0ꢀhçꢀtrîꢀgiaoꢀtiÕp.ꢀ
C¸cꢀh−íngꢀdÉnꢀsöꢀdôngꢀcãꢀthÓꢀxemꢀtrùcꢀtiÕpꢀphÇnꢀtrîꢀgiópꢀcñaꢀch−¬ngꢀtr×nh.ꢀ
ꢀ
ꢀ
ꢁBiªnꢁso¹nꢁ:ꢁL©mꢁt¨ngꢁ§øcꢁ–ꢁLªꢁTiÕnꢁDòngꢁ– Béꢁm«nꢁT§HꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁꢁTrangꢁꢁ86ꢀ
ꢁꢁꢁꢁꢁ
ꢀ
Bạn đang xem tài liệu "Giáo trình Kỹ thuật vi điều khiển - Chương 4: Các bài tập thực hiện trên Kit - Lâm Tăng Đức", để 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:
giao_trinh_ky_thuat_vi_dieu_khien_chuong_4_cac_bai_tap_thuc.pdf

