Giáo trình Kỹ thuật vi điều khiển - Chương 2: Thiết kế Kit vi điều khiển
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
Ch−¬ngꢀIIꢀ
ThiÕtꢀkÕꢀKITꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
ꢀ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ꢀꢀ29
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
Ch−¬ngꢀIIꢀ
ThiÕtꢀkÕꢀKITꢀviꢀ®iÒuꢀkhiÓnꢀ
2.1ꢀChänꢀph−¬ngꢀ¸nꢀthiÕtꢀkÕꢀ
Häꢀviꢀ®iÒuꢀkhiÓnꢀmꢁꢀbéꢀKITꢀchänꢀlꢁmꢀthꢁnhꢀphÇnꢀtrungꢀt©mꢀlꢁꢀhäꢀ8051,ꢀv×ꢀnh÷ngꢀ
lÝꢀdoꢀsauꢀ®©y:ꢀ
ꢀꢀ
+ꢀHäꢀ8051ꢀlꢁꢀhäꢀviꢀ®iÒuꢀkhiÓnꢀphæꢀbiÕnꢀnhÊtꢀhiÖnꢀnay,ꢀ®−îcꢀsöꢀdôngꢀrÊtꢀ
réngꢀrꢂiꢀtrongꢀc¸cꢀøngꢀdôngꢀc«ngꢀnghiÖpꢀcòngꢀnh−ꢀtrongꢀviÖcꢀchÕꢀt¹oꢀc¸cꢀs¶nꢀphÈmꢀd©nꢀ
dông.ꢀꢀ
ꢀꢀ
+ꢀHäꢀ8051ꢀ®ꢂꢀvꢁꢀ®angꢀlꢁꢀm«nꢀhäcꢀ®−îcꢀn»mꢀtrongꢀch−¬ngꢀtr×nhꢀ®ꢁoꢀt¹oꢀ
cñaꢀc¸cꢀtr−êngꢀtrungꢀhäc,ꢀcaoꢀ®¼ngꢀvꢁꢀ®¹iꢀhäcꢀtrongꢀc¶ꢀn−íc,ꢀ®©yꢀcßnꢀlꢁꢀmétꢀ®èiꢀt−îngꢀ
côꢀthÓꢀchoꢀsinhꢀviªnꢀkhiꢀb¾tꢀ®ÇuꢀnhËpꢀm«nꢀviꢀ®iÒuꢀkhiÓn.ꢀV×ꢀvËy,ꢀviÖcꢀchänꢀhäꢀ8051ꢀ
lꢁmꢀthꢁnhꢀphÇnꢀtrungꢀt©mꢀcñaꢀbéꢀKITꢀlꢁꢀphïꢀhîpꢀvíiꢀch−¬ngꢀtr×nhꢀ®ꢁoꢀt¹oꢀvꢁꢀ®iÒuꢀkiÖnꢀ
häcꢀtËpꢀcñaꢀsinhꢀviªn.ꢀ
V×ꢀnh÷ngꢀlÝꢀdoꢀtrªn,ꢀvꢁꢀxuÊtꢀph¸tꢀtõꢀmôcꢀ®Ých,ꢀyªuꢀcÇuꢀcñaꢀ®åꢀ¸nꢀlꢁꢀthiÕtꢀkÕꢀmétꢀ
béꢀ KITꢀ viꢀ®iÒuꢀkhiÓnꢀ phôcꢀvôꢀ môcꢀ®Ýchꢀ®ꢁoꢀ t¹oꢀm«nꢀhäcꢀnꢁy,ꢀ taꢀ quyÕtꢀ®Þnhꢀ chänꢀ
ph−¬ngꢀ¸nꢀsöꢀdôngꢀchipꢀviꢀ®iÒuꢀkhiÓnꢀ89C52ꢀcñaꢀhꢂngꢀATMELꢀ®ÓꢀlꢁmꢀthꢁnhꢀphÇnꢀ
trungꢀt©mꢀcñaꢀKIT,ꢀcïngꢀvíiꢀc¸cꢀthꢁnhꢀphÇnꢀbéꢀnhíꢀROM,ꢀRAMꢀbªnꢀngoꢁiꢀvꢁꢀc¸cꢀthiÕtꢀ
bÞꢀngo¹iꢀviꢀphongꢀphó.ꢀꢀ
Chipꢀviꢀ®iÒuꢀkhiÓnꢀAT89C52ꢀlꢁꢀmétꢀbéꢀviꢀ®iÒuꢀkhiÓnꢀcòngꢀthuécꢀhäꢀ8051,ꢀdoꢀ®ãꢀ
nãꢀcãꢀtÊtꢀc¶ꢀnh÷ngꢀ®Æcꢀtr−ngꢀc¬ꢀb¶nꢀcñaꢀhäꢀnꢁy.ꢀNgoꢁiꢀraꢀnãꢀcßnꢀcãꢀthªmꢀ1ꢀbéꢀ®Þnhꢀ
thêiꢀTimerꢀ2ꢀvꢁꢀ3ꢀnguånꢀng¾tꢀsoꢀvíiꢀ8051.ꢀ
72.2ꢀX©yꢀdùngꢀs¬ꢀ®åꢀkhèiꢀcñaꢀKITꢀ
Sauꢀ®©yꢀtaꢀsÏꢀx©yꢀdùngꢀs¬ꢀ®åꢀkhèiꢀcñaꢀbéꢀKITꢀviꢀ®iÒuꢀkhiÓnꢀnh−ꢀsau:ꢀ
ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ30
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
LCD
PC
CPU
bµN PHÝM
§ÇU VµO
XUNG
stepper
motor
VµO/RA
DIGITAL
LED
A/D
D/A
LED
7
MATRIX
8
xꢀ8
THANH
ꢀ
ꢀ
H×nhꢀ2.1ꢀꢁꢀS¬ꢀ®åꢀkhèiꢀcñaꢀKITꢀ
ꢀ
ꢀ
Trongꢀs¬ꢀ®åꢀkhèiꢀcñaꢀbéꢀKITꢀnh−ꢀtrªn,ꢀchøcꢀn¨ngꢀcñaꢀc¸cꢀkhèiꢀnh−ꢀsauꢀ
- KhèiꢀCPUꢀ:ꢀ§©yꢀlꢁꢀkhèiꢀtrungꢀt©mꢀcñaꢀhÖꢀthèng.ꢀNãꢀbaoꢀgåmꢀchipꢀviꢀ®iÒuꢀ
khiÓnꢀAT89C52,ꢀEEPROM,ꢀRAM,ꢀc¸cꢀcængꢀgiaoꢀtiÕpꢀmëꢀréng,ꢀm¹chꢀchèt,ꢀgi¶iꢀmꢂꢀ®Þaꢀ
chØ...ꢀKhèiꢀnꢁyꢀlꢁmꢀnhiÖmꢀꢀvôꢀtrungꢀt©mꢀ®iÒuꢀhꢁnhꢀho¹tꢀ®éngꢀcñaꢀc¶ꢀbéꢀKIT.ꢀ
- KhèiꢀPCꢀ:ꢀ§©yꢀlꢁꢀkhèiꢀgiaoꢀtiÕpꢀgi÷aꢀhÖꢀviꢀ®iÒuꢀkhiÓnꢀcñaꢀbéꢀKITꢀvꢁꢀm¸yꢀ
tÝnh.ꢀPCꢀgiópꢀchoꢀng−êiꢀsöꢀdôngꢀcãꢀthÓꢀph¸tꢀtriÓnꢀc¸cꢀøngꢀdôngꢀtrªnꢀbéꢀKITꢀtõꢀm¸yꢀ
tÝnh.ꢀNg−êiꢀsöꢀdôngꢀdïngꢀPCꢀ®Óꢀn¹pꢀc¸cꢀch−¬ngꢀtr×nhꢀøngꢀdôngꢀchoꢀbéꢀKIT.ꢀNgoꢁiꢀraꢀ
PCꢀcßnꢀchoꢀphÐpꢀng−êiꢀsöꢀdôngꢀn¹pꢀc¸cꢀch−¬ngꢀtr×nhꢀ®iÒuꢀhꢁnhꢀcñaꢀng−êiꢀsöꢀdôngꢀviÕtꢀ
choꢀbéꢀKITꢀhoÆcꢀthayꢀ®æiꢀch−¬ngꢀtr×nhꢀ®iÒuꢀhꢁnhꢀhiÖnꢀ®angꢀcãꢀtrongꢀbéꢀKIT.ꢀCh−¬ngꢀ
tr×nhꢀ®iÒuꢀhꢁnhꢀph¶iꢀ®−îcꢀn¹pꢀtõꢀc¸cꢀm¹chꢀn¹pꢀngoꢁiꢀvꢁꢀcèꢀ®ÞnhꢀtrªnꢀKIT.ꢀCh−¬ngꢀ
tr×nhꢀøngꢀdôngꢀcñaꢀng−êiꢀsöꢀdôngꢀ®−îcꢀn¹pꢀchoꢀbéꢀKITꢀtõꢀm¸yꢀtÝnhꢀth«ngꢀquaꢀphÇnꢀ
mÒmꢀn¹pꢀ®iꢀkÌmꢀtheoꢀKIT.ꢀꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ31
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
- BꢁnꢀphÝm:ꢀ§©yꢀlꢁꢀkhèiꢀthiÕtꢀbÞꢀ®ÇuꢀvꢁoꢀgiaoꢀtiÕpꢀgi÷aꢀviꢀ®iÒuꢀkhiÓnꢀvꢁꢀng−êiꢀ
söꢀdông.ꢀBꢁnꢀphÝmꢀchoꢀphÐpꢀng−êiꢀsöꢀdôngꢀsöꢀdôngꢀnãꢀ®Óꢀ®iÒuꢀkhiÓnꢀho¹tꢀ®éngꢀcñaꢀ
KITꢀtheoꢀh−íngꢀdÉnꢀtrªnꢀmꢁnꢀh×nhꢀLCDꢀnh−:ꢀ
Ch¹yꢀch−¬ngꢀtr×nhꢀtõngꢀb−ícꢀ(nótꢀSTEP)ꢀ
Xem,ꢀsöaꢀ®æiꢀc¸cꢀthanhꢀghiꢀ(R0ꢃR7),ꢀc¸cꢀthanhꢀghiꢀ®ÆcꢀbiÖtꢀ(SFR),ꢀc¸cꢀ
PORTꢀ(P0,P1,P2,ꢀP3),ꢀc¸cꢀ«ꢀnhíꢀRAMꢀ...ꢀ
ChuyÓnꢀ®æiꢀquaꢀl¹iꢀgi÷aꢀc¸cꢀkiÓuꢀhiÓnꢀthÞꢀd÷ꢀliÖuꢀnh−ꢀnhÞꢀph©n,ꢀhexaꢀhayꢀ
thËpꢀph©n.ꢀ
- KhèiꢀLCD:ꢀmꢁnꢀh×nhꢀtinhꢀthÓꢀlángꢀvíiꢀkÝchꢀth−ícꢀlínꢀ24x8ꢀkÝꢀtùꢀgiópꢀtaꢀcãꢀthÓꢀ
quanꢀs¸tꢀdÔꢀdꢁngꢀgi¸ꢀtrÞꢀcñaꢀc¸cꢀthanhꢀghiꢀ(R0ꢃR7),ꢀc¸cꢀthanhꢀghiꢀ®ÆcꢀbiÖtꢀ(SFR)ꢀc¸cꢀ
PORTꢀ(P0,P1,P2,ꢀP3),ꢀc¸cꢀ«ꢀnhíꢀtrongꢀRAMꢀ...ꢀNgoꢁiꢀraꢀtrªnꢀmꢁnꢀh×nhꢀcßnꢀcãꢀc¸cꢀ
h−íngꢀdÉnꢀng−êiꢀsöꢀdông,ꢀchøcꢀn¨ngꢀcñaꢀc¸cꢀphÝmꢀtïyꢀtheoꢀng÷ꢀc¶nh.ꢀLCDꢀt¹oꢀraꢀsùꢀ
tiÖnꢀlîi,ꢀth©nꢀthiÖnꢀchoꢀng−êiꢀsöꢀdôngꢀtrongꢀlꢁmꢀquenꢀcòngꢀnh−ꢀthÝꢀnghiÖmꢀtrªnꢀKIT.ꢀ
- KhèiꢀA/Dꢀ:ꢀCãꢀchøcꢀn¨ngꢀchuyÓnꢀ®æiꢀtÝnꢀhiÖuꢀ®iÖnꢀ¸pꢀt−¬ngꢀtùꢀꢀ0ꢀ–ꢀ5Vꢀthꢁnhꢀ
tÝnꢀhiÖuꢀsèꢀ8ꢀbitꢀ®Óꢀ®−aꢀvꢁoꢀviꢀ®iÒuꢀkhiÓnꢀxöꢀlÝ.ꢀTÝnꢀhiÖuꢀvꢁoꢀ0ꢃ5VꢀcãꢀthÓꢀ®−îcꢀ®−aꢀtõꢀ
bªnꢀngoꢁiꢀhoÆcꢀth«ngꢀquaꢀDIPꢃSWITCHꢀ(DualꢀInlineꢀPakageꢀꢃꢀSWITCH)ꢀ®Óꢀnèiꢀc¸cꢀtÝnꢀ
hiÖuꢀt−¬ngꢀtùꢀcãꢀs½nꢀtrªnꢀkitꢀnhêꢀbéꢀchiaꢀ¸pꢀlꢁꢀ3ꢀbiÕnꢀtrëꢀviꢀchØnhꢀvꢁꢀ®ÆcꢀbiÖtꢀlꢁꢀ®Çuꢀraꢀ
cñaꢀ1ꢀbéꢀc¶mꢀbiÕnꢀnhiÖtꢀ®éꢀLM35,ꢀcãꢀthÓꢀtiÕnꢀhꢁnhꢀëꢀ®©yꢀmétꢀbꢁiꢀthÝꢀnghiÖmꢀvÒꢀ®oꢀ
nhiÖtꢀ®éꢀphßng.ꢀ
- KhèiꢀD/Aꢀ:ꢀLꢁꢀkhèiꢀchoꢀphÐpꢀchuyÓnꢀ®æiꢀtÝnꢀhiÖuꢀsèꢀ8ꢀbitꢀthꢁnhꢀtÝnꢀhiÖuꢀt−¬ngꢀ
tùꢀ0ꢀ–ꢀ10Vꢀ®−aꢀraꢀngoꢁi,ꢀcãꢀthÓꢀhiÓnꢀthÞꢀ®−îcꢀtrªnꢀm¸yꢀhiÖnꢀsãng.ꢀ
- Khèiꢀvꢁo/raꢀxungꢀsèꢀꢂꢀ®iÒuꢀkhiÓnꢀ®éngꢀc¬ꢀb−ícꢀvꢁꢀ®éngꢀc¬ꢀ1ꢀchiÒu:ꢀꢀ
Lꢁꢀkhèiꢀvꢁo/raꢀtÝnꢀhiÖuꢀsè,ꢀchoꢀphÐpꢀbéꢀKITꢀnhËnꢀvꢁoꢀmétꢀtÝnꢀhiÖuꢀsèꢀ8ꢀbit,ꢀ4ꢀtÝnꢀ
hiÖuꢀvꢁoꢀd¹ngꢀxungꢀb»ngꢀc¸cꢀnótꢀÊn,ꢀ4ꢀtÝnꢀhiÖuꢀvꢁoꢀd¹ngꢀxungꢀtõꢀbªnꢀngoꢁiꢀnh−ꢀc¸cꢀbéꢀ
encoder,ꢀngoꢁiꢀraꢀcßnꢀcãꢀ6ꢀ®Çuꢀraꢀxung,ꢀcãꢀ®ÖmꢀtÇngꢀkhuyÕchꢀ®¹iꢀ®Óꢀ®iÒuꢀkhiÓnꢀ®éngꢀ
c¬ꢀb−ícꢀvꢁꢀ®éngꢀc¬ꢀ1ꢀchiÒu.ꢀNgoꢁiꢀraꢀng−êiꢀsöꢀdôngꢀcãꢀthÓꢀsöꢀlùaꢀchänꢀlo¹iꢀ®iÖnꢀ5Vꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ32
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
hoÆcꢀ12Vꢀtïyꢀtheoꢀlo¹iꢀ®éngꢀc¬ꢀb»ngꢀc«ngꢀt¾cꢀthayꢀ®æiꢀnguånꢀcÊpꢀchoꢀ®éngꢀc¬ꢀtrªnꢀ
m¹ch.ꢀ
- LEDꢀ7ꢀthanhꢀ:ꢀLꢁꢀkhèiꢀhiÓnꢀthÞꢀLEDꢀ7ꢀthanh,ꢀcãꢀthÓꢀdïngꢀ®ÓꢀhiÓnꢀthÞꢀc¸cꢀgi¸ꢀ
trÞꢀtheoꢀch−¬ngꢀtr×nhꢀcñaꢀng−êiꢀsöꢀdông.ꢀ
- KhèiꢀLEDꢀMatrixꢀ(8x8)ꢀ:ꢀLꢁꢀmétꢀmaꢀtrËnꢀ®ÌnꢀLEDꢀgåmꢀ8ꢀhꢁngꢀxꢀ8ꢀcét,ꢀt¹iꢀ
mçiꢀ®iÓmꢀcñaꢀmaꢀtrËnꢀLEDꢀcãꢀ2ꢀ®Ìnꢀvíiꢀ2ꢀmꢁuꢀxanhꢀvꢁꢀ®á,ꢀnÕuꢀ®iÒuꢀkhiÓnꢀchoꢀs¸ngꢀ
cïngꢀlócꢀc¶ꢀ2ꢀ®Ìnꢀth×ꢀtaꢀsÏꢀ®−îcꢀmꢁuꢀcam.ꢀ
2.3ꢀChänꢀthiÕtꢀbÞ,ꢀgi¶iꢀmꢁꢀvꢂꢀthiÕtꢀkÕꢀm¹chꢀnguyªnꢀlýꢀcñaꢀhÖꢀthèng:ꢀ
2.3.1.ꢀChänꢀdungꢀl−îngꢀbéꢀnhíꢀvꢂꢀthiÕtꢀbÞꢀngo¹iꢀvi:ꢀ
Taꢀchänꢀc¸cꢀthꢁnhꢀphÇnꢀcñaꢀbéꢀnhíꢀtrªnꢀKITꢀbaoꢀgåm:ꢀ
- 8Kꢃbyteꢀparallelꢀ(songꢀsong)ꢀEEPROMꢀ–ꢀchipꢀsöꢀdôngꢀAT28C64.ꢀ
- 32KꢃbyteꢀRAMꢀngoꢁiꢀ–ꢀchipꢀsöꢀdôngꢀHM62256.ꢀ
- 5ꢀchipꢀ8255ꢀmëꢀréngꢀI/Oꢀ®ÓꢀgiaoꢀtiÕpꢀvíiꢀc¸cꢀthiÕtꢀbÞꢀsau:ꢀ
LCDꢀ–ꢀ24x8ꢀkýꢀtùꢀ
BꢁnꢀphÝmꢀ5x4ꢀ
8ꢀLEDꢀ®¬nꢀ
4ꢀLEDꢀ7ꢀ®o¹nꢀ
LEDꢀmaꢀtrËnꢀ2ꢀmꢁuꢀ8x8ꢀ
C¸cꢀbéꢀchuyÓnꢀ®æiꢀADC,ꢀDACꢀ
Vꢁoꢀ raꢀ xungꢀ sè,ꢀ c¸cꢀ tÇngꢀkhuyÕchꢀ ®¹iꢀ ®Ömꢀ ®Óꢀ ®iÒuꢀ khiÓnꢀ®éngꢀ c¬ꢀ
b−íc,ꢀ®éngꢀc¬ꢀ1ꢀchiÒu.ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ33
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
2.3.2.ꢀGi¶iꢀmꢁꢀ®ÞaꢀchØ:ꢀ
Taꢀs¾pꢀxÕp béꢀnhíꢀvꢁꢀ®ÞaꢀchØꢀcñaꢀc¸cꢀthiÕtꢀbÞꢀngo¹iꢀviꢀgiaoꢀtiÕpꢀvíiꢀKITꢀtrongꢀ
b¶ngꢀ2.1ꢀnh−ꢀsauꢀꢀ
§ÞaꢀchØꢀ
ThiÕtꢀbÞꢀ
EEPROMꢀ
RAMꢀ
Ghiꢀchóꢀ
0000hꢀꢃꢀ1FFFhꢀ
4000hꢀꢃꢀ7FFFhꢀ
Chøaꢀch−¬ngꢀtr×nhꢀMonitorꢀ
Chøaꢀch−¬ngꢀtr×nhꢀøngꢀdôngꢀ
8000hꢀꢃꢀPortAꢀ:ꢀ§iÒuꢀkhiÓnꢀLCD.ꢀ
8001hꢀꢃꢀPortBꢀ:ꢀDataꢀbusꢀcñaꢀLCD.ꢀ
8002hꢀꢃꢀPortCꢀ:ꢀNhËnꢀmꢂꢀcñaꢀbꢁnꢀphÝm.ꢀ
8003hꢀꢃꢀCWꢀꢀꢀꢀ:ꢀThanhꢀghiꢀ®iÒuꢀkhiÓn.ꢀ
8000hꢀꢃꢀ8003hꢀ 8255ꢀ(1)ꢀ
8004hꢀꢁꢀPortA:ꢀ§iÒuꢀkhiÓnꢀcÊpꢀnguånꢀchoꢀc¸cꢀAnotꢀ
ꢀ chungꢀcñaꢀLEDꢀmatrixꢀ(c¸cꢀhꢁng).ꢀ
8005hꢀꢃꢀPortB:ꢀ§iÒuꢀkhiÓnꢀ®ÌnꢀmꢁuꢀxanhꢀcñaꢀLEDꢀ
8255ꢀ(5)ꢀ ꢀ
matrixꢀ(c¸cꢀcétꢀxanh).ꢀ
8006hꢀ ꢃꢀ PortC:ꢀ §iÒuꢀ khiÓnꢀ ®Ìnꢀ mꢁuꢀ ®áꢀ cñaꢀ LEDꢀ
8004hꢀꢃꢀ8007hꢀ
ꢀ matrixꢀ(c¸cꢀcétꢀ®á).ꢀ
8007hꢀꢁꢀCW:ꢀThanhꢀghiꢀ®iÒuꢀkhiÓn.ꢀ
8008hꢀꢃꢀPortAꢀ:ꢀ§−êngꢀDataꢀcñaꢀADC0809.ꢀ
8009hꢀꢃꢀPortBꢀ:ꢀ§−êngꢀDataꢀcñaꢀDAC0808.ꢀ
800AhꢀꢃꢀPortCꢀ:ꢀ§iÒuꢀkhiÓnꢀADC0809.ꢀ
800BhꢀꢃꢀCWꢀꢀꢀꢀ:ꢀThanhꢀghiꢀ®iÒuꢀkhiÓn.ꢀ
8008hꢀꢃꢀ800Bhꢀ 8255ꢀ(2)ꢀ
800ChꢀꢃꢀPortAꢀ:ꢀ§ÇuꢀvꢁoꢀDigital.ꢀ
800DhꢀꢃꢀPortBꢀ:ꢀ§iÒuꢀkhiÓnꢀ®éngꢀc¬ꢀb−íc(PB0ꢂPB3)ꢀ
ꢀ vꢁꢀ®éngꢀc¬ꢀmétꢀchiÒuꢀ(PB4ꢀꢂꢀPB5).ꢀ
800Chꢀꢃꢀ800Fhꢀ 8255ꢀ(3)ꢀ 800Ehꢀ ꢃꢀ PortCꢀ :ꢀ 4ꢀ ®Çuꢀ vꢁoꢀ xungꢀ d¹ngꢀ nótꢀ Ênꢀꢀ
ꢀ
ꢀ
(PC4ꢂPC7),ꢀ4ꢀ®Çuꢀvꢁoꢀchoꢀc¸cꢀthiÕtꢀbÞꢀngoꢁiꢀ
nh−ꢀencoderꢀ(PC0ꢀꢂꢀPC3).ꢀ
800FhꢀꢃꢀCWꢀꢀꢀꢀ:ꢀThanhꢀghiꢀ®iÒuꢀkhiÓn.ꢀ
C000hꢀꢃꢀPortAꢀ:ꢀHiÓnꢀthÞꢀ8ꢀLEDꢀ®¬n.ꢀ
C001hꢀꢃꢀPortBꢀ:ꢀHiÓnꢀthÞꢀ2ꢀLEDꢀ7ꢀthanhꢀ(tr¸i).ꢀ
C002hꢀꢃꢀPortCꢀ:ꢀHiÓnꢀthÞꢀ2ꢀLEDꢀ7ꢀthanhꢀ(ph¶i).ꢀ
C003hꢀꢃꢀCWꢀꢀꢀꢀ:ꢀThanhꢀghiꢀ®iÒuꢀkhiÓn.ꢀ
8255ꢀ(4)ꢀ
C000hꢀꢃꢀC003hꢀ
8255ꢃEXꢀ BUSꢀmëꢀréngꢀdùꢀtr÷,ꢀcãꢀthÓꢀg¾nꢀthªmꢀ1ꢀmoduleꢀkh¸cꢀ
C004hꢀ–ꢀC007hꢀ
ꢀ
B¶ngꢀ2.1ꢀS¾pꢀxÕpꢀbéꢀnhíꢀvꢁꢀc¸chꢀph©nꢀ®ÞaꢀchØꢀchoꢀc¸cꢀthiÕtꢀbÞꢀngo¹iꢀviꢀcñaꢀKITꢀ
ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ34
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
Dùaꢀvꢁoꢀb¶ngꢀ2.1ꢀtrªnꢀtaꢀcãꢀs¬ꢀ®åꢀbéꢀnhíꢀcôꢀthÓꢀnh−ꢀb¶ngꢀ2.2ꢀsau:ꢀ
Addressꢀ 15ꢀ 14ꢀ 13ꢀ 12ꢀ 11ꢀ 10ꢀ 9ꢀ 8ꢀ 7ꢀ 6ꢀ 5ꢀ 4ꢀ 3ꢀ 2ꢀ 1ꢀ 0ꢀ
0000hꢀ
EEPROMꢀꢀꢀ
AT28C64ꢀꢃꢀ
8Kbyteꢀ
0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
1FFFhꢀ
ꢀ
4000hꢀ
0ꢀ 0ꢀ
ꢀꢀ ꢀꢀ
0ꢀ 1ꢀ
0ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
ꢀꢀ
RAMꢀꢀꢀꢀꢀꢀꢀ
HM62256ꢀꢃꢀ
32Kbyteꢀ
7FFFhꢀ
ꢀ
0ꢀ 1ꢀ
ꢀꢀ ꢀꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
ꢀꢀ ꢀꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
ꢀꢀ ꢀꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
ꢀꢀ ꢀꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
1ꢀ 0ꢀ
ꢀꢀ ꢀꢀ
1ꢀ 1ꢀ
1ꢀ 1ꢀ
1ꢀ 1ꢀ
1ꢀ 1ꢀ
ꢀꢀ ꢀꢀ
1ꢀ 1ꢀ
1ꢀ 1ꢀ
1ꢀ 1ꢀ
1ꢀ 1ꢀ
1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ 1ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ
ꢀꢀ
8000hꢀ
8001hꢀ
8002hꢀ
8003hꢀ
ꢀ
0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ
0ꢀ 0ꢀ 1ꢀ
0ꢀ 0ꢀ 1ꢀ
0ꢀ 0ꢀ 1ꢀ
0ꢀ 0ꢀ 1ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ
0ꢀ 1ꢀ 0ꢀ
0ꢀ 1ꢀ 0ꢀ
0ꢀ 1ꢀ 0ꢀ
0ꢀ 1ꢀ 0ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ
0ꢀ 1ꢀ 1ꢀ
0ꢀ 1ꢀ 1ꢀ
0ꢀ 1ꢀ 1ꢀ
0ꢀ 1ꢀ 1ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ
0ꢀ 1ꢀ
1ꢀ 0ꢀ
1ꢀ 1ꢀ
ꢀꢀ ꢀꢀ
8255ꢃ1ꢀ
KEYPADꢀ
LCDꢀ
ꢀꢀ
ꢀꢀ
8004hꢀ
8005hꢀ
8006hꢀ
8007hꢀ
ꢀ
0ꢀ 0ꢀ
0ꢀ 1ꢀ
1ꢀ 0ꢀ
1ꢀ 1ꢀ
ꢀꢀ ꢀꢀ
8255ꢃ5ꢀ
MATRIXꢀꢀ
LEDꢀ
ꢀꢀ
ꢀꢀ
8008hꢀ
8009hꢀ
800Ahꢀ
800Bhꢀ
ꢀ
0ꢀ 0ꢀ
0ꢀ 1ꢀ
1ꢀ 0ꢀ
1ꢀ 1ꢀ
ꢀꢀ ꢀꢀ
8255ꢃ2ꢀ
ADCꢀ
DACꢀ
ꢀꢀ
ꢀꢀ
800Chꢀ
800Dhꢀ
800Ehꢀ
800Fhꢀ
ꢀ
0ꢀ 0ꢀ
0ꢀ 1ꢀ
1ꢀ 0ꢀ
1ꢀ 1ꢀ
8255ꢃ3ꢀ
XUNG Sè
STEPPERꢀ
DCꢀMOTOR
ꢀ
ꢀꢀ
ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ
C000hꢀ
C001hꢀ
C002hꢀ
C003hꢀ
ꢀ
0ꢀ
0ꢀ
0ꢀ
0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ ꢀꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ 0ꢀ
0ꢀ 0ꢀ
0ꢀ 1ꢀ
1ꢀ 0ꢀ
1ꢀ 1ꢀ
ꢀꢀ ꢀꢀ
8255ꢃ4ꢀ
LEDꢀ7ꢀꢀ
®o¹n
LED ®¬Nꢀ
ꢀꢀ
ꢀꢀ
C004hꢀ
C005hꢀ
C006hꢀ
C007hꢀ
1ꢀ
1ꢀ
1ꢀ
1ꢀ
0ꢀ 0ꢀ
0ꢀ 1ꢀ
1ꢀ 0ꢀ
1ꢀ 1ꢀ
8255ꢃEXꢀ
ꢀꢀ
ꢀꢀ
ꢀꢀ
ꢀ
ꢀ
ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ35
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
Nh×nꢀvꢁoꢀc¸cꢀcétꢀcãꢀmꢁuꢀx¸mꢀtrongꢀb¶ngꢀ2.2ꢀtrªnꢀtaꢀcãꢀ®−îcꢀc¸chꢀph©nꢀc«ngꢀ
gi¶iꢀmꢂꢀnh−ꢀsau:ꢀꢀ
Taꢀsöꢀdôngꢀ3ꢀchipꢀgi¶iꢀmꢂꢀchuyªnꢀdôngꢀlꢁꢀviꢀm¹chꢀ74HC138ꢀ®ÓꢀphôcꢀvôꢀviÖcꢀ
gi¶iꢀmꢂꢀ®ÞaꢀchØꢀchoꢀc¸cꢀchipꢀnhíꢀcòngꢀnh−ꢀc¸cꢀchipꢀmëꢀréngꢀI/Oꢀlꢁꢀ8255,ꢀ®Çuꢀvꢁoꢀvꢁꢀraꢀ
cñaꢀc¸cꢀchipꢀgi¶iꢀmꢂꢀ®−îcꢀtr×nhꢀbꢁyꢀtrongꢀb¶ngꢀsau:ꢀ
ꢀ
Chipꢀgi¶iꢀmꢁꢀ
Aꢀ
Bꢀ
Cꢀ
G2Aꢀ
0ꢀ
A4ꢀ Y2(U9)ꢀ Y2(U9)ꢀ
0ꢀ Y3(U9)ꢀ Y3(U9)ꢀ
G2Bꢀ
74HC138ꢀꢃꢀ1ꢀ(U9)ꢀ A14ꢀ A15ꢀ 0ꢀ
0ꢀ
74HC138ꢀꢃꢀ2ꢀ(U10)ꢀ A2ꢀ
74HC138ꢀꢃꢀ3ꢀ(U11)ꢀ A2ꢀ
A3ꢀ
0ꢀ
ꢀ
§ÇuꢀvꢁoꢀchänꢀchipꢀCSꢀ(ChipꢀSelect)ꢀcñaꢀc¸cꢀchipꢀEEPROM,ꢀRAM,ꢀvꢁꢀ8255ꢀnh−ꢀb¶ngꢀ
sau:ꢀ
Chipꢀ
EEPROMꢀꢃꢀ28C64ꢀ
CSꢀ(ChipꢀSelect)ꢀ
A13ꢀ+ꢀY0(U9)ꢀ(*)ꢀ
Y1(U9)ꢀ
Ghiꢀchóꢀ
RAMꢀꢃꢀ62256ꢀ
8255(1)ꢀꢃꢀKeypad,ꢀLCDꢀ
8255(5)ꢀꢃꢀLEDꢀmaꢀtrËnꢀ
8255(2)ꢀꢃꢀADC,ꢀDACꢀ
Y0(U10)ꢀ
U9,U10,U11ꢀ
xemꢀs¬ꢀ®åꢀ
nguyªnꢀlý.ꢀ
Y2(U10)ꢀ
Y3(U10)ꢀ
8255(3)ꢀꢃꢀXungꢀsè,ꢀstepper,ꢀDCꢀmotorꢀ Y1(U10)ꢀ
8255(4)ꢀꢃꢀLEDꢀ7ꢀ®o¹n,ꢀLEDꢀ®¬nꢀ
8255(EX)ꢀ
Y0(U11)ꢀ
Y1(U11)ꢀ
(*)ꢀDoꢀyªuꢀcÇuꢀthiÕtꢀkÕꢀcñaꢀbéꢀKIT,ꢀc¸cꢀchipꢀnhíꢀRAMꢀvꢁꢀEEPROMꢀvõaꢀph¶iꢀcãꢀkh¶ꢀ
n¨ngꢀlꢁmꢀbéꢀnhíꢀd÷ꢀliÖuꢀvꢁꢀbéꢀnhíꢀch−¬ngꢀtr×nhꢀnªnꢀc¸cꢀch©nꢀOEꢀ(OutputꢀEnable)ꢀcñaꢀ
c¸cꢀchipꢀnhíꢀnꢁ
B¶ngꢀ2.2.ꢀB¶nꢀ®åꢀbéꢀnhíꢀvꢁꢀgi¶iꢀmꢂꢀ®ÞaꢀchØꢀcñaꢀKIT
ꢀ
§Óꢀrâꢀh¬nꢀtaꢀt×mꢀhiÓuꢀküꢀvÒꢀchøcꢀn¨ngꢀcñaꢀch©nꢀ/PSENꢀvꢁꢀEAꢀtrongꢀøngꢀdôngꢀ
mëꢀréngꢀbéꢀnhíꢀngoꢁiꢀcñaꢀhäꢀ8051.ꢀPSENꢀ(ProgramꢀStoreꢀEnable)ꢀcãꢀnghÜaꢀlꢁꢀchoꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ36
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
phÐpꢀcÊtꢀch−¬ngꢀtr×nh.ꢀ§©yꢀlꢁꢀtÝnꢀhiÖuꢀraꢀvꢁꢀ®−îcꢀnèiꢀvíiꢀch©nꢀOEꢀcñaꢀbéꢀnhíꢀch−¬ngꢀ
tr×nhꢀngoꢁi.ꢀKhiꢀch©nꢀEAꢀ®−îcꢀnèiꢀ®Êtꢀth×ꢀ8031/51ꢀn¹pꢀmꢃꢀlÖnhꢀtõꢀbéꢀnhíꢀngoꢁiꢀth«ngꢀ
quaꢀch©nꢀPSEN,ꢀëꢀ®©yꢀbéꢀnhíꢀngoꢁiꢀ®ãngꢀvaiꢀtrßꢀlꢁꢀbéꢀnhíꢀch−¬ngꢀtr×nh.ꢀNgoꢁiꢀraꢀkhiꢀ
béꢀnhíꢀngoꢁiꢀlꢁmꢀchøcꢀn¨ngꢀlꢁꢀbéꢀnhíꢀd÷ꢀliÖuꢀth×ꢀtÝnꢀhiÖuꢀRDꢀ®−îcꢀsöꢀdôngꢀ®Óꢀtruyꢀ
cËpꢀkh«ngꢀgianꢀd÷ꢀliÖuꢀngoꢁiꢀ(dïngꢀlÖnhꢀMOVX),ꢀnªnꢀRDꢀ®−îcꢀnèiꢀ®ÕnꢀOEꢀcñaꢀchipꢀ
nhí.ꢀTrongꢀthiÕtꢀkÕꢀphÇnꢀmÒmꢀcñaꢀKITꢀ®ßiꢀháiꢀc¶ꢀ2ꢀchøcꢀn¨ngꢀnꢁyꢀcñaꢀbéꢀnhí,ꢀvõaꢀlꢁꢀ
béꢀnhíꢀch−¬ngꢀtr×nh,ꢀvõaꢀlꢁꢀbéꢀnhíꢀd÷ꢀliÖuꢀdoꢀ®ãꢀc¸cꢀch©nꢀOEꢀcñaꢀc¸cꢀchipꢀnhíꢀph¶iꢀ
cãꢀmøcꢀlogicꢀnh−ꢀtrªnꢀ/OEꢀ=ꢀ/PSENꢀ*ꢀ/RD.
2.3.3ꢀGiíiꢀthiÖuꢀvÒꢀchøcꢀn¨ngꢀcñaꢀc¸cꢀthiÕtꢀbÞꢀ®−îcꢀsöꢀdôngꢀtrªnꢀKIT:ꢀ
2.3.3.1ꢀCPUꢀ
ꢀ
CPU
ꢀ
R10
VCC
D0
D1
D2
D3
D4
D5
D6
D7
1
2
3
4
5
6
7
8
9
VCC
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
10k
VCC
VCC
CR3
104
VCC
ADRRESS:
0000H-1FFFH
ADRRESS:
4000H-7FFFH
CR4
104
GND
GND
U3 62256
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
U13
28
10
9
8
7
6
5
4
3
25
24
21
23
2
VCC
A0
A1
U420
74HC573
U2
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
AT28C64
VCC
2
A0
A1
A2
A3
A4
A5
A6
A7
D0
D0
D1
D2
D3
D4
D5
D6
D7
A8
A9
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
19
18
17
16
15
14
13
12
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
10
9
8
7
6
5
4
3
25
24
21
23
2
11
12
13
15
16
17
18
19
11
12
13
15
16
17
18
19
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
D0
3
P0.0/AD0
P0.1/AD1
P2.0/A8
P2.1/A9
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
A2
A3
A4
A5
A6
A7
A8
A9
GND
D1
D2
D3
D4
D5
D6
D7
D1
4
A10
A11
A12
A13
A14
A15
D2
5
P0.2/AD2 P2.2/A10
P0.3/AD3 P2.3/A11
P0.4/AD4 P2.4/A12
P0.5/AD5 P2.5/A13
P0.6/AD6 P2.6/A14
P0.7/AD7 P2.7/A15
D3
6
CR5
104
D4
7
D5
8
D6
9
D7
11
VCC
A10
A11
A12
A13
A14
ALE
T2
T2-EX
STEP
RXD
TXD
/INT0
/INT1
T0
T1
/WR
/RD
1
2
3
4
5
6
7
8
10
11
12
13
14
15
16
17
A14
1
LE
1
P1.0/T2
P1.1/T2-EX P3.1/TXD
P3.0/RXD
OE
GND
10
A13 26
26
1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
/CS_62256
GND
U5A 7408
20
27
22
CS
WR
OE
/PSEN
/WR
1
2
3
22
27
20
GND
OE
WE
CE
14
VSS
7
Ñaàu vaøo cho
T0, T1, T2, T2-EX
ôû cheá ñoä CAPTURE
GND
ALE
/PSEN
19
18
30
29
28
VCC
XTAL1
XTAL2
ALE/PROG
PSEN
VCC
/EA
RST
J10
31
9
EA/VPP
RST
40
VCC
GND
T0
T1
T2
1
2
3
4
CR2
104
CR1
104
AT89C52
T2-EX
Y1.1
U11A
GND
GND
1
2
VCC
VCC
CHÖÔNG TRÌNH
NGÖÔØI SÖÛ DUÏNG
VCC
3
A13
12 MHz
7432
VCC
7404
7
SW7.1
1
GND
C1.1
33pF
C1.2
33pF
U6A
CR6
104
CR7
104
1
2
2
/EA
2
1
3
3
P_COM
U7B
/WR
1
6
2
7
3
8
4
9
5
14
4
5
SWITCH
VCC
ꢀ
GND
GND
VCC
6
GND
RXD OUT
TXD IN
7432
7
VCC
CR8
104
MONITOR
GND
ꢀ
GND
U186
MAX232/SO
VCC
VCC
VCC
R1OUT
R2OUT
TXD IN
TXD
RXD
13
8
12
9
CR10
104
CR9
104
R1IN
R2IN
VCC
CR12
104
RXD OUT
C8.4
10uF
11
10
14
7
T1IN
T2IN
T1OUT
T2OUT
74HC138
74HC138
74HC138
16
16
16
U10
U9
U12
VCC
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
VCC
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
VCC
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
A14
A15
A2
/CS_8255_7SEG_LED
/CS_8255_7SEG_EX
A2
A3
A4
/CS_8255_LCD_KEYPAD
/CS_8255_MATRIX_LED
/CS_8255_ADC_DAC
1
3
4
5
2
6
1
2
3
15
14
13
12
11
10
9
1
2
3
15
14
13
12
11
10
9
1
2
3
15
14
13
12
11
10
9
C1+
C1-
C2+
C2-
V+
A
B
C
A
B
C
A
B
C
/CS_62256
GND
VCC
/CS_8255_7SEG_LED_EX12
VCC
/CS_8255_PULSE_STEPPER
C8.1
10uF
6
4
5
6
4
5
VCC
6
4
5
V-
G1
G2A
G2B
G1
G2A
G2B
G1
G2A
G2B
15
VCC
GND
7
7
7
8
8
8
GND
GND
GND
C8.2
10uF
C8.3
10uF
GND
GND
VCC
VCC
H×nhꢀ2.3ꢀ–ꢀS¬ꢀ®åꢀnguyªnꢀlýꢀkhèiꢀCPUꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ37
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
ꢀ
§©yꢀlꢁꢀphÇnꢀ®iÒuꢀkhiÓnꢀtrungꢀt©mꢀcñaꢀbéꢀKIT,ꢀlꢁꢀbéꢀphËnꢀquanꢀträngꢀnhÊt.ꢀKhèiꢀ
CPUꢀgåmꢀcãꢀchipꢀviꢀ®iÒuꢀkhiÓnꢀchÝnhꢀAT89C52,ꢀEEPROM,ꢀRAM,ꢀm¹chꢀchèt,ꢀgi¶iꢀmꢂꢀ
®ÞaꢀchØ...ꢀS¬ꢀ®åꢀnguyªnꢀlýꢀcñaꢀkhèiꢀCPUꢀnh−ꢀh×nhꢀ2.3.ꢀꢀ
C¸cꢀlinhꢀkiÖnꢀchÝnhꢀcãꢀtrongꢀkhèiꢀ:ꢀ
ꢀViꢀ®iÒuꢀkhiÓnꢀAT89C52ꢀ
ꢀ
VíiꢀthùcꢀtÕꢀthÞꢀtr−êngꢀcñaꢀ§ꢁꢀN½ng,ꢀvꢁꢀc¶ꢀkhuꢀvùcꢀMiÒnꢀTrungꢀꢃꢀT©yꢀNguyªnꢀ
nãiꢀchungꢀtaꢀchänꢀAT89C52ꢀlꢁꢀchipꢀdÔꢀdꢁngꢀmuaꢀ®−îc,ꢀbéꢀnhíꢀ8Kbyteꢀvõaꢀ®ñꢀchoꢀ
ch−¬ngꢀtr×nhꢀMONITORꢀ®iÒuꢀhꢁnhꢀKIT.ꢀ
- AT89C52ꢀ cãꢀ 8Kꢀ Flashꢀ ROMꢀ lꢁmꢀ béꢀ nhíꢀ ch−¬ngꢀ tr×nh,ꢀ 256ꢀ byteꢀ RAM,ꢀ 32ꢀ
®−êngꢀxuÊtꢀnhËp,ꢀ3ꢀbéꢀ®Þnhꢀthêi,ꢀmétꢀcÊuꢀtrócꢀng¾tꢀ2ꢀmøcꢀ−uꢀtiªnꢀvꢁꢀ8ꢀnguånꢀng¾t,ꢀmétꢀ
portꢀnèiꢀtiÕpꢀsongꢀc«ngꢀ(fullꢀduplex).ꢀꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ38
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
- TimerꢀT2ꢀcñaꢀ89C52ꢀcãꢀthÓꢀlꢁmꢀviÖcꢀnh−ꢀTimerꢀT0,ꢀT1ꢀtrongꢀchÕꢀ®éꢀReloadꢀ
ngayꢀc¶ꢀëꢀlócꢀlꢁmꢀTimerꢀ16ꢀbit.ꢀ
ꢃꢀVïngꢀnhíꢀFlashꢀROMꢀcãꢀ
thÓꢀ n¹pꢀ vꢁꢀ xãaꢀ kho¶ngꢀ
1000ꢀlÇn.ꢀ
- Viꢀ ®iÒuꢀ khiÓnꢀ AT89C52ꢀ
hçꢀ trîꢀ tÇnꢀ sèꢀ lꢁmꢀ viÖcꢀ ®Õnꢀ 24ꢀ
MHz.ꢀ
-
Cãꢀ chÕꢀ ®éꢀ Powerꢀ Downꢀ
®ÓꢀtiÕtꢀkiÖmꢀ®iÖnꢀꢀn¨ngꢀꢀcñaꢀhÖꢀ
thèngꢀtuyꢀnhiªnꢀvÉnꢀduyꢀtr×ꢀnéiꢀ
dungꢀ RAMꢀ nh−ngꢀ kh«ngꢀ choꢀ
m¹chꢀ daoꢀ ®éngꢀ cÊpꢀ xungꢀ clockꢀ
nh»mꢀv«ꢀhiÖuꢀhãaꢀc¸cꢀho¹tꢀ®éngꢀ
kh¸cꢀ choꢀ chipꢀ choꢀ ®Õnꢀ khiꢀ cãꢀ
H×nhꢀ2.4ꢀꢃꢀS¬ꢀ®åꢀch©nꢀcñaꢀAT89C52ꢀ
resetꢀcøngꢀtiÕpꢀtheo.ꢀChÕꢀ®éꢀIdleꢀhayꢀcßnꢀgäiꢀlꢁꢀchÕꢀ®éꢀnghØꢀdõngꢀCPUꢀtrongꢀkhiꢀvÉnꢀ
choꢀphÐpꢀRAM,ꢀc¸cꢀbéꢀ®Þnhꢀthêi/ꢀ®Õm,ꢀportꢀnèiꢀtiÕpꢀvꢁꢀhÖꢀthèngꢀng¾tꢀtiÕpꢀtôcꢀho¹tꢀ
®éng.
ꢀ
U1
19
18
17
16
15
14
13
12
2
3
4
5
6
7
8
9
M¹chꢀchètꢀtÝnꢀhiÖuꢀ74HC573ꢀ
Q0
D0
D1
D2
D3
D4
D5
D6
D7
Q1
Q2
Q3
Q4
Q5
Q6
Q7
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
11
1
LE
OE
74HC573
H×nhꢀ2.5ꢀꢃꢀS¬ꢀ®åꢀch©nꢀcñaꢀ74HC573ꢀ
74HC573ꢀlꢁꢀm¹chꢀchètꢀtÝnꢀhiÖuꢀtècꢀ®éꢀcaoꢀ®−îcꢀchÕꢀt¹oꢀtheoꢀc«ngꢀnghÖꢀCMOS.ꢀ
C¸cꢀ®Æcꢀ®iÓmꢀcñaꢀviꢀm¹chꢀ:ꢀ
- Tècꢀ®éꢀtruyÒnꢀtÝnꢀhiÖuꢀtõꢀ®Çuꢀvꢁoꢀsangꢀ®ÇuꢀraꢀchØꢀcãꢀ18ꢀns.ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ39
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
- Ph¹mꢀviꢀ®iÖnꢀ¸pꢀho¹tꢀ®éngꢀ:ꢀ2ꢀ–ꢀ6ꢀVꢀ
- Dßngꢀ®iÖnꢀ®Çuꢀvꢁoꢀ:ꢀlínꢀnhÊtꢀ1 A.ꢀ
Ho¹tꢀ®éngꢀ:ꢀKhiꢀch©nꢀ/LEꢀëꢀmøcꢀcao,ꢀ®ÇuꢀraꢀQꢀphôꢀthuécꢀvꢁoꢀ®ÇuꢀvꢁoꢀD.ꢀKhiꢀch©nꢀ
/LEꢀëꢀmøcꢀthÊp,ꢀtÝnꢀhiÖuꢀ®ÇuꢀvꢁoꢀDꢀ®−îcꢀgi÷ꢀl¹iꢀëꢀ®Çuꢀraꢀchoꢀ®Õnꢀkhiꢀnꢁoꢀch©nꢀ/LEꢀtrëꢀ
l¹iꢀmøcꢀcao.ꢀKhiꢀch©nꢀ/OEꢀëꢀmøcꢀcao,ꢀtÊtꢀc¶ꢀc¸cꢀ®ÇuꢀraꢀQꢀ®Òuꢀëꢀmøcꢀcao.ꢀꢀ
ꢀ
M¹chꢀgi¶iꢀmꢃꢀ®ÞaꢀchØꢀ74HC138
ꢀ
ꢀ
U6
ꢀ
ꢀ
ꢀ
ꢀ
1
2
3
15
14
13
12
11
10
9
A
B
C
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
6
4
5
G1
G2A
G2B
7
ꢀ
ꢀ
ꢀ
74HC138
H×nhꢀ2.6ꢀꢃꢀS¬ꢀ®åꢀch©nꢀcñaꢀ74HC138ꢀ
§©yꢀlꢁꢀviꢀm¹chꢀ®−îcꢀchÕꢀt¹oꢀtheoꢀc«ngꢀnghÖꢀCMOS.ꢀViꢀm¹chꢀnꢁyꢀ®−îcꢀdïngꢀ®Óꢀ
gi¶iꢀmꢂꢀ®ÞaꢀchØꢀkhiꢀhÖꢀthèngꢀcãꢀnhiÒuꢀlinhꢀkiÖnꢀcÇnꢀ®Þnhꢀ®ÞaꢀchØꢀghÐpꢀnèi.ꢀNãꢀlꢁꢀmétꢀ
trongꢀnh÷ngꢀviꢀm¹chꢀphæꢀbiÕnꢀnhÊtꢀtrongꢀc¸cꢀm¹chꢀviꢀ®iÒuꢀkhiÓn.ꢀC¸cꢀch©nꢀ®Çuꢀraꢀ®¶oꢀ
Ykꢀphôꢀthuécꢀvꢁoꢀc¸cꢀch©nꢀtÝnꢀhiÖuꢀ®ÇuꢀvꢁoꢀA,ꢀB,ꢀC.ꢀTuyꢀnhiªnꢀc¸cꢀtÝnꢀhiÖuꢀ®ÞaꢀchØꢀchØꢀ
®−îcꢀgi¶iꢀmꢂꢀkhiꢀch©nꢀG1(E3)ꢀëꢀmøcꢀHigh,ꢀcßnꢀc¸cꢀch©nꢀ/G2A(/E1),ꢀ/G2B(/E2)ꢀëꢀmøcꢀ
Low.ꢀꢀ
ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ40
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
B¶ngꢀchøcꢀn¨ngꢀcñaꢀviꢀm¹chꢀnh−ꢀsau:ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
Chóꢀý:ꢀL:ꢀLowꢀꢁMøcꢀthÊp;ꢀH:ꢀHighꢀꢁꢀMøcꢀcao;ꢀX:ꢀkh«ngꢀquanꢀt©mꢀ
U4
ꢀ
13
8
12
9
R1IN
R2IN
R1OUT
R2OUT
ꢀ
11
10
14
7
T1IN
T2IN
T1OUT
T2OUT
1
3
4
5
2
6
C1+
C1-
C2+
C2-
V+
ꢀ
ꢀ
V-
H×nhꢀ2.7ꢀ–ꢀS¬ꢀ®åꢀch©nꢀcñaꢀMAX232ꢀ
ꢀ
Viꢀm¹chꢀMAX232ꢀ
Viꢀm¹chꢀMAX232ꢀcãꢀnhiÖmꢀvôꢀchuyÓnꢀmøcꢀ®iÖnꢀ¸pꢀtõꢀ0ꢀ ꢀ5ꢀVꢀthꢁnhꢀ®iÖnꢀ¸pꢀ–
12Vꢀ ꢀ+12ꢀVꢀtheoꢀtiªuꢀchuÈnꢀRSꢃ232ꢀ®ÓꢀphôcꢀvôꢀchoꢀviÖcꢀtruyÒnꢀth«ngꢀnèiꢀtiÕp.ꢀ
Trªnꢀviꢀm¹chꢀcãꢀ2ꢀngâꢀvꢁoꢀcñaꢀch©nꢀRxD,ꢀ2ꢀngâꢀraꢀcñaꢀch©nꢀRxD,ꢀ2ꢀngâꢀvꢁoꢀcñaꢀ
ch©nꢀTxD,ꢀ2ꢀngâꢀraꢀcñaꢀch©nꢀTxD.ꢀTÝnꢀhiÖuꢀtõꢀch©nꢀRxDꢀcñaꢀcængꢀnèiꢀtiÕpꢀtrongꢀ
m¸yꢀtÝnhꢀ®−îcꢀnèiꢀvꢁoꢀch©nꢀ/R1OUT,ꢀtÝnꢀhiÖuꢀtõꢀch©nꢀTxDꢀcñaꢀcængꢀnèiꢀtiÕpꢀtrongꢀ
m¸yꢀtÝnhꢀ®−îcꢀnèiꢀT1INꢀcñaꢀMAX232.ꢀT−¬ngꢀtù,ꢀch©nꢀRxDꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀ®−îcꢀ
nèiꢀvíiꢀch©nꢀ/T1OUT,ꢀcßnꢀch©nꢀTxDꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀ®−îcꢀnèiꢀvíiꢀch©nꢀR1INꢀcñaꢀ
MAX232.ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ41
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
BéꢀnhíꢀRAMꢀ32Kꢀ62256ꢀ
Viꢀm¹chꢀ62256ꢀ®−îcꢀdïngꢀlꢁmꢀbéꢀnhíꢀd÷ꢀliÖuꢀngoꢁiꢀchoꢀc¸cꢀviꢀ®iÒuꢀkhiÓn.ꢀꢀ
- A0ꢀ ꢀA14ꢀ:ꢀlꢁꢀ15ꢀbitꢀdïngꢀ®Óꢀx¸cꢀ®Þnhꢀ®ÞaꢀchØꢀcñaꢀc¸cꢀvïngꢀnhíꢀtrongꢀRAM.ꢀ
- /OEꢀ:ꢀOutputꢀEnable,ꢀchoꢀphÐpꢀ®äcꢀd÷ꢀliÖuꢀtõꢀꢀRAMꢀraꢀDataꢀBus.ꢀ
- ꢀ/WEꢀ:ꢀWriteꢀEnable,ꢀchoꢀphÐpꢀghiꢀd÷ꢀꢀliÖuꢀvꢁoꢀRAM.ꢀ
- ꢀCS1,ꢀCS2ꢀ:ꢀDïngꢀ®Óꢀchänꢀchip.ꢀ
-
ꢀD0ꢀ ꢀD7ꢀ:ꢀlꢁꢀc¸cꢀch©nꢀnèiꢀvꢁoꢀDataꢀBusꢀcñaꢀhÖꢀthèng.ꢀ
ꢀ
U3 62256
28
10
9
8
7
6
5
4
3
25
24
21
23
2
26
1
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
VCC
A0
A1
11
12
13
15
16
17
18
19
D0
D1
D2
D3
D4
D5
D6
D7
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
20
27
22
CS
WR
OE
14
VSS
H×nhꢀ2.8ꢀ–ꢀS¬ꢀ®åꢀch©nꢀcñaꢀ62256ꢀ
BéꢀnhíꢀEEPROMꢀ8Kꢀ28C64ꢀ
§©yꢀlꢁꢀbéꢀnhíꢀkh«ngꢀbayꢀh¬iꢀcãꢀthÓꢀ®äcꢀvꢁꢀghiꢀ®−îcꢀb»ngꢀch−¬ngꢀtr×nhꢀnh−ꢀbéꢀ
RAMꢀmꢁꢀkh«ngꢀcÇnꢀsöꢀdôngꢀnh÷ngꢀm¹chꢀn¹pꢀchuyªnꢀdông,ꢀnh−ngꢀcãꢀkh¶ꢀn¨ngꢀb¶oꢀvÖꢀ
d÷ꢀliÖuꢀkhiꢀmÊtꢀnguån.ꢀ
- A0ꢀ ꢀ A12ꢀ :ꢀ lꢁꢀ 12ꢀ bitꢀ dïngꢀ ®Óꢀ x¸cꢀ ®Þnhꢀ ®Þaꢀ chØꢀ cñaꢀ c¸cꢀ vïngꢀ nhíꢀ trongꢀ
EEPROM.ꢀ
-
/OEꢀ:ꢀOutputꢀEnable,ꢀchoꢀphÐpꢀ®äcꢀd÷ꢀliÖuꢀtõꢀꢀEEPROMꢀraꢀDataꢀBus.
ꢀ
- /WRꢀ:ꢀWriteꢀEnable,ꢀchoꢀphÐpꢀghiꢀd÷ꢀꢀliÖuꢀvꢁoꢀEEPROM.ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ42
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
- /CEꢀ:ꢀDïngꢀ®Óꢀchänꢀchip.ꢀ
- ꢀD0ꢀ ꢀD7ꢀ:ꢀlꢁꢀc¸cꢀch©nꢀnèiꢀvꢁoꢀDataꢀBusꢀcñaꢀhÖꢀthèng.ꢀ
ꢀ
U2
A0
AT28C64
10
9
8
7
6
5
4
3
25
24
21
23
2
11
12
13
15
16
17
18
19
D0
D1
D2
D3
D4
D5
D6
D7
ꢀ
A1
A2
A3
A4
A5
A6
A7
A8
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
1
A9 RDY/BUSY
A10
A11
A12
22
27
20
OE
WE
CE
28
VCC
H×nhꢀ2.9ꢀ–ꢀS¬ꢀ®åꢀch©nꢀcñaꢀ28C64ꢀ
Ngoꢁiꢀc¸cꢀlinhꢀkiÖnꢀchÝnhꢀ®ꢂꢀkÓꢀraꢀëꢀtrªn,ꢀkhèiꢀCPUꢀcßnꢀcãꢀrÊtꢀnhiÒuꢀthꢁnhꢀphÇnꢀ
kh¸cꢀnh−ꢀm¹chꢀResetꢀcñaꢀCPU,ꢀth¹chꢀanhꢀ11.0592ꢀMHzꢀ®Óꢀt¹oꢀdaoꢀ®éngꢀchoꢀviꢀ®iÒuꢀ
khiÓnꢀ89C52...ꢀTrongꢀkhèiꢀCPUꢀcãꢀc«ngꢀt¾cꢀ3ꢀtr¹ngꢀth¸iꢀSW2ꢀꢃꢀSelectꢀchoꢀphÐpꢀng−êiꢀ
söꢀdôngꢀthayꢀ®æiꢀmøcꢀ®iÖnꢀ¸pꢀ®Ætꢀlªnꢀch©nꢀEAꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀchÝnhꢀ®Óꢀchänꢀthùcꢀ
hiÖnꢀch−¬ngꢀtr×nhꢀl−uꢀëꢀbéꢀnhíꢀtrongꢀhayꢀbéꢀnhíꢀngoꢁi.ꢀMétꢀ®iÒuꢀcÇnꢀl−uꢀýꢀtrªnꢀm¹chꢀ
CPUꢀlꢁꢀ®ÇuꢀraꢀP0ꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀcÇnꢀtreoꢀtrëꢀv×ꢀcængꢀP0ꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀkh«ngꢀ
®−îcꢀthiÕtꢀkÕꢀcãꢀtrëꢀkh¸ngꢀtrong.ꢀNÕuꢀkh«ngꢀtreoꢀtrëꢀth×ꢀkhiꢀnu«iꢀt¶iꢀlínꢀsÏꢀlꢁmꢀsôtꢀ¸pꢀ
trªnꢀc¸cꢀch©nꢀtÝnꢀhiÖuꢀdÉnꢀ®ÕnꢀsùꢀsaiꢀlÖchꢀtÝnꢀhiÖu,ꢀlꢁmꢀhÖꢀthèngꢀmÊtꢀchÝnhꢀx¸c.ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ43
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
2.3.3.2ꢀGiaoꢀtiÕpꢀxuÊt/nhËpꢀ
PhÇnꢀgiaoꢀtiÕpꢀxuÊtꢀnhËpꢀgåmꢀ2ꢀkhèiꢀ:ꢀkhèiꢀhiÓnꢀthÞꢀLCDꢀvꢁꢀkhèiꢀbꢁnꢀphÝm.ꢀS¬ꢀ®åꢀ
nguyªnꢀlýꢀcñaꢀphÇnꢀnꢁyꢀnh−ꢀh×nhꢀ2.10ꢀ:ꢀ
ꢀ
VCC
VCC
VCC
R9
CR11
VCC
GND
ꢀ
ꢀ
ꢀ
GND
5K
104
4
LCD1
LCD BACK LIGHT POWER
DATA BUS
GND
VCC
U1526
8255
VCC
PA0
PA1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
D0
D1
D2
D3
D4
D5
D6
D7
34
33
32
31
30
29
28
27
SW7.8
D0
D1
D2
D3
D4
D5
D6
D7
J13
3
LCD_RS
LCD_R/W
LCD_E1
LCD_E2
2
1
40
39
38
37
1
3
2
1
PA2
PA3
PA4
PA5
PA6
PA7
1
3
VCC
GND
2
2
HEADER
2
LCD_D0
LCD_D1
LCD_D2
LCD_D3
LCD_D4
LCD_D5
LCD_D6
LCD_D7
SWITCH
A0
A1
LCD_D0
9
8
18
19
20
21
22
23
24
25
A0
A1
PB0
PB1
PB2
LCD_D1
LCD_D2
LCD_D3
LCD_D4
LCD_D5
LCD_D6
LCD_D7
GND
35
5
36
6
RESET PB3
/RD
VCC
VCC
RD
WR
CS
PB4
PB5
PB6
PB7
/WR
/CS_8255_LCD_KEYPAD
14
15
16
17
13
12
11
10
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
R12.1
10K
R12.2
10K
ꢀ
ꢀ
J14
U14
AT89C2051
ROW1
ROW2
ROW3
ROW4
COL1
COL2
COL3
COL4
2
3
6
7
8
9
11
12
13
14
15
16
17
18
19
8
7
6
5
4
3
2
1
P3.0/RXD
P1.0/AIN0
P1.1/AIN1
P1.2
7
GND
GND
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.7
GND
P1.3
P1.4
P1.5
P1.6
/INT0
P1.7
5
4
XTAL1
XTAL2
KEYPAD
8255_1
KEYPAD, LCD
ADRRESS:
PA_1:8000H
PB_1:8001H
PC_1:8002H
CW_1:8003H
1
RST/VPP
VCC
Y12.1
20
ꢀ
ꢀ
ꢀ
ꢀ
C12.2
33p
C12.3
GND
12 MHz
33p
GND
GND
VCC
VCC
VCC
VCC
C12.1
BT22
10uF
CR13
104
GND
RST
R12.3
10k
GND
ꢀ
H×nhꢀ2.10ꢀ–ꢀS¬ꢀ®åꢀnguyªnꢀlýꢀphÇnꢀxuÊt/nhËpꢀ
BꢁnꢀphÝmꢀ
GiaoꢀtiÕpꢀbꢁnꢀphÝmꢀchoꢀphÐpꢀng−êiꢀsöꢀdôngꢀcãꢀthÓꢀnhËpꢀd÷ꢀliÖuꢀvꢁꢀth«ngꢀquaꢀc¸cꢀ
phÝmꢀchøcꢀn¨ngꢀ®iÒuꢀkhiÓnꢀho¹tꢀ®éngꢀcñaꢀbéꢀKIT.ꢀꢀ
VíiꢀyªuꢀcÇuꢀcñaꢀKIT,ꢀtaꢀsöꢀdôngꢀbꢁnꢀphÝmꢀd¹ngꢀmaꢀtrËnꢀ®ÓꢀnhËpꢀd÷ꢀliÖu.ꢀ§Óꢀqu¶nꢀ
lýꢀ®−îcꢀc¸cꢀphÝmꢀcñaꢀbꢁnꢀphÝmꢀmꢁꢀkh«ngꢀlꢁmꢀ¶nhꢀh−ëngꢀnhiÒuꢀtíiꢀqu¸ꢀtr×nhꢀthùcꢀhiÖnꢀ
tÝnhꢀto¸nꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀchÝnh,ꢀtaꢀsöꢀdôngꢀriªngꢀmétꢀviꢀ®iÒuꢀkhiÓnꢀlo¹iꢀnháꢀ®Óꢀqu¶nꢀ
lýꢀbꢁnꢀphÝm.ꢀBꢁnꢀphÝmꢀ®−îcꢀx©yꢀdùngꢀtheoꢀkiÓuꢀmaꢀtrËn,ꢀgåmꢀ4ꢀhꢁngꢀxꢀ5ꢀcét.ꢀꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ44
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
ꢀ+ꢀꢀꢀ4ꢀhꢁngꢀ®−îcꢀlÊyꢀtõꢀc¸cꢀch©nꢀP1.0ꢀ ꢀP1.3ꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ+ꢀꢀ5ꢀcétꢀ®−îcꢀlÊyꢀtõꢀc¸cꢀch©nꢀP1.4ꢀ ꢀP1.7ꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀvꢁꢀcétꢀcuèiꢀcïngꢀnèiꢀ
®Êt.ꢀ
Tæꢀchøcꢀc¸cꢀphÝmꢀgåmꢀc¸cꢀphÝmꢀtõꢀ0ꢀꢃ9ꢀtõꢀAꢃꢀFꢀlꢁmꢀthꢁnhꢀphÇnꢀnhËpꢀd÷ꢀliÖu.ꢀ
C¸cꢀphÝmꢀchøcꢀn¨ngꢀF1,ꢀF2ꢀlꢁꢀphÝmꢀlùaꢀchänꢀc¸cꢀlÖnhꢀtrªnꢀmenu,ꢀphÝmꢀBACKꢀSPACEꢀ
lꢁꢀphÝmꢀxãa,ꢀgiópꢀchØnhꢀsöaꢀkhiꢀnhËpꢀliÖuꢀnhÇm.ꢀPhÝmꢀENTERꢀ®ÓꢀkÝchꢀho¹tꢀlÖnhꢀhiÖnꢀ
hꢁnh,ꢀtïyꢀtheoꢀng÷ꢀc¶nh,ꢀ®−îcꢀhiÓnꢀthÞꢀtrªnꢀLCD.ꢀ
TrªnꢀbéꢀKIT,ꢀbꢁnꢀphÝmꢀ®−îcꢀdÆtꢀt¸chꢀrêiꢀsoꢀvíiꢀc¸cꢀphÇnꢀkh¸cꢀëꢀgãcꢀ®ÓꢀthuËnꢀ
tiÖnꢀchoꢀviÖcꢀthaoꢀt¸oꢀvãiꢀbꢁnꢀphÝm.ꢀS¬ꢀ®åꢀnguyªnꢀlýꢀcñaꢀbꢁnꢀphÝmꢀnh−ꢀh×nhꢀ2.11:ꢀ
ꢀ
BT1
BT2
BT3
BT4
BT5
ꢀ
ꢀ
ꢀ
ꢀ
0
1
2
3
F1
4
5
6
7
BT9
BT6
BT7
BT8
BT10
F2
8
9
A
B
BT11
BT12
BT13
BT14
BT15
J11
ROW1
ROW2
ROW3
ROW4
COL1
COL2
COL3
COL4
1
2
3
4
5
6
7
8
BACK SPACE
ꢀ
C
D
E
F
BT19
BT16
BT17
BT18
BT20
ENTER
HEADER
8
ꢀ
5X4 KEYPAD
ꢀ
ꢀ
ꢀ
H×nhꢀ2.11ꢀ–ꢀS¬ꢀ®åꢀbꢂnꢀphÝmꢀ
DoꢀchØꢀlꢁmꢀnhiÖmꢀvôꢀqu¶nꢀlýꢀc¸cꢀphÝmꢀ®−îcꢀbÊmꢀmꢁꢀkh«ngꢀcÇnꢀxöꢀlýꢀphøcꢀt¹pꢀ
nªnꢀtaꢀdïngꢀviꢀ®iÒuꢀkhiÓnꢀlo¹iꢀnháꢀ20ꢀch©nꢀrÊtꢀth«ngꢀdôngꢀtrªnꢀthÞꢀtr−êngꢀhiÖnꢀnayꢀlꢁꢀ
89C2051ꢀcñaꢀhꢂngꢀATMEL.ꢀ
Viꢀ®iÒuꢀkhiÓnꢀnꢁyꢀchØꢀcãꢀhaiꢀcængꢀgiaoꢀtiÕpꢀlꢁꢀP1ꢀvꢁꢀP3.ꢀRiªngꢀcængꢀgiaoꢀtiÕpꢀP3ꢀ
th×ꢀthiÕuꢀmÊtꢀbitꢀP3.6,ꢀchØꢀcãꢀc¸cꢀbitꢀP3.0ꢀ ꢀP3.5ꢀvꢁꢀP3.7.ꢀ§©yꢀlꢁꢀviꢀ®iÒuꢀkhiÓnꢀthuécꢀhäꢀ
8xC51ꢀnªnꢀnãꢀcãꢀtÊtꢀc¶ꢀnh÷ngꢀ®Æcꢀ®iÓmꢀchungꢀcñaꢀhäꢀnꢁy.ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ45
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
KhiꢀcãꢀmétꢀphÝmꢀ®−îcꢀÊn,ꢀ89C2051ꢀsÏꢀgi¶iꢀmꢂꢀvꢁꢀgöiꢀd÷ꢀliÖuꢀmꢂꢀphÝmꢀ®−îcꢀÊnꢀ
lªnꢀchoꢀviꢀ®iÒuꢀkhiÓnꢀchÝnhꢀth«ngꢀquaꢀc¸cꢀch©nꢀP3.0ꢀ ꢀP3.3.ꢀViÖcꢀth«ngꢀb¸oꢀchoꢀviꢀ
®iÒuꢀkhiÓnꢀchÝnhꢀbiÕtꢀcãꢀphÝmꢀ®−îcꢀÊnꢀthùcꢀhiÖnꢀquaꢀng¾tꢀngoꢁiꢀ1ꢀcñaꢀviꢀ®iÒuꢀkhiÓnꢀ
chÝnh.ꢀCh©nꢀP3.7ꢀsÏꢀ®−îcꢀnèiꢀvíiꢀch©nꢀng¾tꢀEX1ꢀcñaꢀ89C52.ꢀ
U1
2
3
6
7
8
9
12
13
14
15
16
17
18
19
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.7
P1.0/AIN0
P1.1/AIN1
P1.2
ꢀ
P1.3
P1.4
P1.5
P1.6
11
ꢀ
P1.7
5
4
XTAL1
XTAL2
ꢀ
ꢀ
1
RST/VPP
VCC
H×nhꢀ2.12ꢀꢃꢀꢀS¬ꢀ®åꢀch©nꢀcñaꢀ89C2051ꢀ
20
AT89C2051
MꢁnꢀtinhꢀthÓꢀlángꢀLCDꢀ2408ꢀ
§ÓꢀcãꢀthÓꢀhiÓnꢀthÞꢀmétꢀc¸chꢀthuËnꢀtiÖn,ꢀlinhꢀho¹tꢀc¸cꢀth«ngꢀsèꢀcñaꢀhÖꢀthèngꢀ®ångꢀthêiꢀ
®¶mꢀb¶oꢀ®−îcꢀtÝnhꢀmüꢀthuËt,ꢀtaꢀchänꢀmꢁnꢀh×nhꢀtinhꢀthÓꢀlángꢀLCDꢀ2408.ꢀ§©yꢀlꢁꢀlo¹iꢀ
mꢁnꢀtinhꢀthÓꢀlángꢀgåmꢀcãꢀ8ꢀdßng,ꢀmçiꢀdßngꢀcãꢀthÓꢀhiÓnꢀthÞꢀ24ꢀkýꢀtù,ꢀrÊtꢀtiÖnꢀchoꢀng−êiꢀ
söꢀdôngꢀtrongꢀkhiꢀlꢁmꢀviÖcꢀvíiꢀKITꢀëꢀchÕꢀ®éꢀmonitor.ꢀ
B¶ngꢀchøcꢀn¨ngꢀcñaꢀc¸cꢀch©nꢀ:ꢀꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ46
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
ꢀ
VCC
VCC
R8
GND
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
5K
LCD
LCD BACK LIGHT POWER
GND
VCC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
TÝn hiÖu ®iÒu khiÓn
SW7.2
J12
LCD_RS
LCD_R/W
LCD_E1
LCD_E2
1
3
2
1
1
3
VCC
GND
2
2
LCD_D0
HEADER 2
LCD_D1
LCD_D2
LCD_D3
LCD_D4
LCD_D5
LCD_D6
LCD_D7
SWITCH
LCD 24x8
DATA BUS
H×nhꢀ2.13ꢀ–ꢀS¬ꢀ®åꢀch©nꢀvꢂs¬ꢀ®åꢀcÊpꢀnguånꢀcñaꢀLCDꢀ2408ꢀ
LCDꢀ2408ꢀcãꢀ4ꢀch©nꢀ®iÒuꢀkhiÓnꢀvꢁꢀ8ꢀch©nꢀd÷ꢀliÖu,ꢀ4ꢀch©nꢀ®iÒuꢀkhiÓnꢀlꢁꢀRS,ꢀ
R/W,ꢀE1,ꢀE2.ꢀꢀ
Ch©nꢀE1,ꢀE2:ꢀ®−îcꢀgäiꢀlꢁꢀch©nꢀ“Enable”.ꢀCh©nꢀnꢁyꢀchoꢀphÐpꢀgöiꢀd÷ꢀliÖuꢀvꢁoꢀ
LCDꢀhayꢀkh«ng.ꢀE1ꢀdïngꢀchänꢀlꢁmꢀviÖcꢀvíiꢀ4ꢀdßngꢀtrªnꢀcñaꢀmꢁnꢀh×nh.ꢀE2ꢀlꢁmꢀviÖcꢀvíiꢀ
4ꢀdßngꢀd−íi.ꢀ§ÓꢀcãꢀthÓꢀgöiꢀd÷ꢀliÖuꢀvꢁoꢀLCD,ꢀ®Çuꢀtiªnꢀch©nꢀnꢁyꢀph¶iꢀ®−îcꢀsetꢀlªnꢀ“1”.ꢀ
SauꢀkhiꢀthùcꢀhiÖnꢀxongꢀc¸cꢀlÖnh,ꢀch©nꢀnꢁyꢀph¶iꢀsetꢀxuèngꢀ“0”ꢀ®Óꢀb¸oꢀchoꢀbiÕtꢀr»ngꢀ
LCDꢀ®ꢂꢀthùcꢀhiÖnꢀlÖnhꢀvꢁꢀ®angꢀchêꢀlÖnhꢀtiÕpꢀtheo.ꢀꢀ
Ch©nꢀRS:ꢀ“RegisterꢀSelect”.ꢀKhiꢀch©nꢀnꢁyꢀëꢀmøcꢀ“0”,ꢀLCDꢀsÏꢀbiÕtꢀr»ngꢀc¸cꢀd÷ꢀ
liÖuꢀtruyÒnꢀ®Õnꢀnãꢀdïngꢀ®Óꢀ®iÒuꢀkhiÓnꢀnh−ꢀc¸cꢀlÖnhꢀxãaꢀmꢁnꢀh×nh,ꢀ®ÆtꢀvÞꢀtrÝꢀconꢀtrá,ꢀ....ꢀ
NÕuꢀRSꢀëꢀmøcꢀ“1”ꢀc¸cꢀd÷ꢀliÖuꢀtruyÒnꢀ®ÕnꢀLCDꢀ®−îcꢀnãꢀhiÓuꢀlꢁꢀc¸cꢀd÷ꢀliÖuꢀd¹ngꢀkýꢀtùꢀ
cÇnꢀhiÓnꢀthÞꢀ
Ch©nꢀR/W:ꢀlꢁꢀch©nꢀ“Read/Write”.ꢀ§ÓꢀcãꢀthÓꢀghiꢀd÷ꢀliÖuꢀlªnꢀLCD,ꢀch©nꢀnꢁyꢀph¶iꢀ
ëꢀmøcꢀ“0”.ꢀCßnꢀ®Óꢀ®äcꢀd÷ꢀliÖuꢀtõꢀLCDꢀth×ꢀch©nꢀnꢁyꢀph¶iꢀëꢀmøcꢀ“1”.ꢀTuyꢀnhiªnꢀtrongꢀ
LCDꢀchØꢀcãꢀmétꢀlÖnhꢀ®äcꢀd÷ꢀliÖuꢀtõꢀLCD,ꢀ®ãꢀchÝnhꢀlꢁꢀlÖnhꢀlÊyꢀtr¹ngꢀth¸iꢀcñaꢀLCDꢀ®Óꢀ
b¸oꢀchoꢀbiÕtꢀnãꢀ®angꢀbËnꢀhayꢀkh«ng.ꢀChÝnhꢀv×ꢀvËyꢀch©nꢀnꢁyꢀhÇuꢀnh−ꢀchØꢀëꢀmøcꢀtÝnꢀhiÖuꢀ
“0”.ꢀ
DB0ꢀꢃꢀDB7:ꢀ8ꢀch©nꢀd÷ꢀliÖuꢀcñaꢀLCD.ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ47
ꢀ
ꢀ
Gi¸oꢀtr×nhꢀm«nꢀKüꢀthuËtꢀViꢀ§iÒuꢀKhiÓnꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀCh−¬ng21ꢀ:ꢀthiÕtꢀkÕꢀKitꢀviꢀ®iÒuꢀkhiÓnꢀ
ꢀ
ꢀ
MçiꢀlÇnꢀthùcꢀhiÖnꢀmétꢀlÖnh,ꢀLCDꢀph¶iꢀmÊtꢀmétꢀkho¶ngꢀthêiꢀgianꢀ®ÓꢀhoꢁnꢀtÊtꢀviÖcꢀ
nꢁy.ꢀChÝnhꢀv×ꢀvËyꢀkhiꢀraꢀlÖnhꢀthùcꢀhiÖnꢀchoꢀLCD,ꢀtaꢀph¶iꢀtrÔꢀmétꢀkho¶ngꢀthêiꢀgian.ꢀSauꢀ
®ãꢀmíiꢀ®−îcꢀthùcꢀhiÖnꢀlÖnhꢀtiÕpꢀtheo.ꢀTuyꢀnhiªnꢀph−¬ngꢀph¸pꢀtrÔꢀkh«ngꢀ®−îcꢀænꢀdÞnhꢀ
vꢁꢀchÝnhꢀx¸cꢀkhiꢀtÇnꢀsèꢀth¹chꢀanhꢀthayꢀ®æi,ꢀcßnꢀmétꢀph−¬ngꢀph¸pꢀn÷aꢀlꢁꢀph−¬ngꢀph¸pꢀ
kiÓmꢀtraꢀLCDꢀ®ꢂꢀs½nꢀsꢁngꢀnhËnꢀd÷ꢀliÖuꢀhayꢀch−aꢀb»ngꢀc¸chꢀkiÓmꢀtraꢀbitꢀcãꢀträngꢀsèꢀ
caoꢀnhÊtꢀꢃꢀD7ꢀꢃꢀcñaꢀthanhꢀghiꢀlÖnhꢀ(l−uꢀýꢀlꢁꢀthanhꢀghiꢀlÖnh,ꢀtøcꢀkhiꢀRSꢀꢀ=ꢀ0),ꢀkhiꢀbitꢀnꢁyꢀ
xuèngꢀ0ꢀb¸oꢀhiÖuꢀLCDꢀ®ꢂꢀs½nꢀsꢁngꢀnhËnꢀlÖnhꢀtiÕpꢀtheo.ꢀPh−¬ngꢀph¸pꢀnꢁyꢀcãꢀ−uꢀ®iÓmꢀ
lꢁꢀlꢁmꢀviÖcꢀænꢀ®Þnh,ꢀ®ångꢀbéꢀvꢁꢀkh«ngꢀph¶iꢀmÊtꢀthêiꢀgianꢀtrÔꢀd−ꢀraꢀkh«ngꢀcÇnꢀthiÕt.ꢀ
§ÓꢀchoꢀLCDꢀcãꢀthÓꢀho¹tꢀ®éng,ꢀ®Çuꢀtiªnꢀtaꢀph¶iꢀkhëiꢀt¹oꢀLCD,ꢀb¸oꢀchoꢀnãꢀbiÕtꢀsèꢀ
hꢁng,ꢀsèꢀkýꢀtùꢀhiÓnꢀthÞꢀtrªnꢀmétꢀhꢁng.ꢀC¸cꢀd÷ꢀliÖuꢀ®iÒuꢀkhiÓnꢀlÇnꢀl−îtꢀ®−îcꢀchuyÓnꢀvꢁoꢀ
DataꢀBusꢀcñaꢀLCDꢀlꢁꢀ38H,ꢀ0EH,ꢀvꢁꢀ06H.ꢀSauꢀc¸cꢀlÖnhꢀkhëiꢀt¹oꢀLCDꢀnꢁyꢀtaꢀmíiꢀcãꢀthÓꢀ
hiÓnꢀthÞꢀkýꢀtùꢀlªnꢀtrªnꢀmꢁnꢀh×nhꢀLCD.ꢀ
ViÖcꢀxãaꢀmꢁnꢀh×nh,ꢀ®−aꢀconꢀtráꢀvÒꢀgãcꢀtrªnꢀbªnꢀtr¸iꢀcãꢀthÓꢀthùcꢀhiÖnꢀ®−îcꢀb»ngꢀ
c¸cꢀchuyÓnꢀd÷ꢀliÖuꢀ®iÒuꢀkhiÓnꢀ01HꢀvꢁoꢀDataꢀBusꢀcñaꢀLCD.ꢀ
C¸cꢀthaoꢀt¸cꢀlËpꢀtr×nhꢀvíiꢀLCDꢀsÏꢀ®−îcꢀbꢁnꢀküꢀtrongꢀphÇnꢀx©yꢀdùngꢀc¸cꢀbꢁiꢀthÝꢀ
nghiÖmꢀchoꢀKIT.ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
S¬ꢀ®åꢀkhèiꢀcñaꢀLCDꢀ2408ꢀ
ꢀꢀBiªnꢀso¹nꢀ:ꢀL©mꢀt¨ngꢀ§øcꢀ–ꢀLªꢀTiÕnꢀDòngꢀ– Béꢀm«nꢀT§HꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀTrangꢀꢀ48
ꢀ
ꢀ
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kỹ thuật vi điều khiển - Chương 2: Thiết kế Kit vi điều khiển", để 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_2_thiet_ke_kit_vi_d.pdf

