You are on page 1of 121

Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Ch−¬ng I
Tæng quan vÒ 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 1
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Ch−¬ng I
Tæng quan vÒ Vi ®iÒu khiÓn

1.1 Giíi thiÖu vÒ c¸c hä vi xö lÝ vµ c¸c hä vi ®iÒu khiÓn th«ng dông

1.1.1 LÞch sö ph¸t triÓn cña bé vi xö lÝ vµ bé vi ®iÒu khiÓn


Sù ra ®êi vµ ph¸t triÓn nhanh chãng cña kü thuËt vi ®iÖn tö mµ ®Æc tr−ng lµ kü
thuËt vi xö lÝ ®! t¹o ra mét b−íc ngoÆt quan träng trong sù ph¸t triÓn cña khoa häc
tÝnh to¸n, ®iÒu khiÓn vµ xö lÝ th«ng tin. Kü thuËt vi xö lÝ ®ãng mét vai trß rÊt quan
träng trong tÊt c¶ c¸c lÜnh vùc cña cuéc sèng vµ khoa häc kü thuËt, ®Æc biÖt lµ lÜnh
vùc Tin häc vµ Tù ®éng hãa.

N¨m 1971, h!ng Intel ®! cho ra ®êi bé vi xö lÝ (microprocessor) ®Çu tiªn trªn
thÕ giíi tªn gäi lµ Intel-4004/4bit , nh»m ®¸p øng nhu cÇu cÊp thiÕt cña mét c«ng ty
kinh doanh lµ h!ng truyÒn th«ng BUSICOM. Intel-4004 lµ kÕt qu¶ cña mét ý t−ëng
quan träng trong kü thuËt vi xö lÝ sè. §ã lµ mét kÕt cÊu logic mµ cã thÓ thay ®æi ®−îc
chøc n¨ng cña nã b»ng ch−¬ng tr×nh ngoµi chø kh«ng ph¸t triÓn theo h−íng t¹o ra
mét cÊu tróc cøng chØ thùc hiÖn mét sè chøc n¨ng nhÊt ®Þnh nh− tr−íc ®©y.

Sau ®ã, c¸c bé vi xö lÝ míi liªn tôc ®−îc ®−a ra thÞ tr−êng vµ ngµy cµng ®−îc
ph¸t triÓn, hoµn thiÖn h¬n trong c¸c thÕ hÖ sau :

Vµo n¨m 1972, h!ng Intel ®−a ra bé vi xö lÝ 8-bit ®Çu tiªn víi tªn Intel-
8008/8bit.
Tõ 1974 ®Õn 1975 , Intel chÕ t¹o c¸c bé vi xö lÝ 8-bit 8080 vµ 8085A.
Còng vµo kho¶ng thêi gian nµy, mét lo¹t c¸c h!ng kh¸c trªn thÕ giíi còng ®!
cho ra ®êi c¸c bé vi xö lÝ t−¬ng tù nh− : 6800 cña Motorola víi 5000 tranzitor,
Signetics 6520, 1801 cña RCA, kÕ ®Õn lµ 6502 cña h!ng MOS Technology vµ Z80
cña h!ng Zilog.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 2
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Vµo n¨m 1976 Intel giíi thiÖu bé vi ®iÒu khiÓn (microcontroller) 8748, mét chip
t−¬ng tù nh− c¸c bé vi xö lÝ vµ lµ chip ®Çu tiªn trong hä vi ®iÒu khiÓn MCS-48. 8748
lµ mét vi m¹ch chøa trªn 17000 transistor, bao gåm mét CPU, 1K byte EPROM, 64
byte RAM, 27 ch©n xuÊt nhËp vµ mét bé ®Þnh thêi 8-bit. IC nµy vµ c¸c IC kh¸c tiÕp
theo cña hä MCS-48 ®! nhanh chãng trë thµnh chuÈn c«ng nghiÖp trong c¸c øng
dông h−íng ®iÒu khiÓn (control-oriented application).

N¨m 1978 xu©t hiÖn Intel 8086 lµ lo¹i bé xi xö lý 16 bit víi 29.000 tranzitor,
Motorola 68000 tÝch hîp 70.000 tranzitor, APX 432 chøa 120.000 tranzitor. Bé vi xö
lý cña Hewlet Pakard cã kho¶ng 450.000 tranzitor. Tõ n¨m 1974 ®Õn 1984 sè
tranzitor tÝch hîp trong mét chip t¨ng kho¶ng 100 lÇn.

N¨m 1983, Intel ®−a ra bé vi xö lý 80286 dung trong c¸c m¸y vi tinh hä AT
(Advanced Technology). 80286 sö dông I/O 16 bit, 24 ®−êng ®Þa chØ vµ kh«ng gian
nhí ®Þa chØ thùc 16MB. N¨m 1987, Intel ®−a ra bé vi xö lý 80386 32-bit. N¨m 1989
xuÊt hiÖn xuÊt hiÖn bé vi xö lý Intel 80486 lµ c¶I tiÕn cña Intel 80386 víi bé nhí Èn
vµ m¹ch tÝnh phÐp to¸n ®¹i sè dÊu phÈy ®éng.

N¨m 1992, xuÊt hiÖn Intel 80586 cßn gäi lµ Pentium 64 bit chøa 4 triÖu
tranzitor.
So át r a n z i t o r t íc h h ô ïp

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 3
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

H×nh 1.1 Sè tranzitor tÝch hîp trong mét chip cña bé vi xö lý Intel 8086

§é phøc t¹p, sù gän nhÑ vÒ kÝch th−íc vµ kh¶ n¨ng cña c¸c bé vi ®iÒu khiÓn
®−îc t¨ng thªm mét bËc quan träng vµo n¨m 1980 khi Intel c«ng bè chip 8051, bé vi
®iÒu khiÓn ®Çu tiªn cña hä vi ®iÒu khiÓn MCS-51. So víi 8048, chip 8051 chøa trªn
60.000 transistor bao gåm 4K byte ROM, 128 byte RAM, 32 ®−êng xuÊt nhËp, 1
port nèi tiÕp vµ 2 bé ®Þnh thêi 16-bit – mét sè l−îng m¹ch ®¸ng chó ý trong mét IC
®¬n.

Tõ c¸c bé vi xö lý ban ®Çu chØ lµ c¸c bé xö lý trung t©m trong mét hÖ thèng,
kh«ng thÓ ho¹t ®éng nÕu thiÕu c¸c bé phËn nh− RAM, ROM, bo m¹ch chñ... c¸c
h!ng ®! ph¸t triÓn c¸c bé vi xö lý nµy lªn thµnh c¸c bé vi ®iÒu khiÓn ®Ó phôc vô
c¸c môc ®Ých riªng biÖt, kh¸c nhau trong c«ng nghiÖp. Mét bé vi ®iÒu khiÓn lµ
mét hÖ vi xö lÝ thËt sù ®−îc tæ chøc trong mét chip (trong mét vá IC) bao gåm
mét bé vi xö lÝ (microprocessor), bé nhí ch−¬ng tr×nh (ROM), bé nhí d÷ liÖu
(RAM), tuy kh«ng b»ng dung l−îng RAM ë c¸c m¸y vi tÝnh nh−ng ®©y kh«ng
ph¶i lµ mét h¹n chÕ v× c¸c bé vi ®iÒu khiÓn ®−îc thiÕt kÕ cho mét môc ®Ých hoµn
toµn kh¸c, ngoµi ra trªn chip cßn cã bé xö lý sè häc-logic (ALU) cïng víi c¸c
thanh ghi chøc n¨ng, c¸c cæng vµo/ra, c¬ chÕ ®iÒu khiÓn ng¾t, truyÒn tin nèi tiÕp,
c¸c bé ®Þnh thêi... HiÖn nay, c¸c bé vi ®iÒu khiÓn ®−îc sö dông rÊt réng r!i vµ
ngµy cµng ®−îc chuÈn hãa ®Ó cã thÓ sö dông réng r!i trong c¸c ngµnh c«ng
nghiÖp, cã mÆt trong nhiÒu m¸y mãc, trong c¸c hµng tiªu dïng.

1.1.2 ¦u vµ khuyÕt ®iÓm cña c¸c bé vi ®iÒu khiÓn

C¸c c«ng viÖc ®−îc thùc hiÖn bëi c¸c bé vi ®iÒu khiÓn th× kh«ng míi. §iÒu
míi lµ c¸c thiÕt kÕ hiÖn thùc víi Ýt thµnh phÇn h¬n so víi c¸c thiÕt kÕ tr−íc ®ã.
C¸c thiÕt kÕ tr−íc ®ã ®ßi hái ph¶i vµi chôc hoÆc vµi tr¨m IC ®Ó hiÖn thùc nay chØ
cÇn mét Ýt thµnh phÇn trong ®ã bao gåm bé vi ®iÒu khiÓn. Sè thµnh phÇn ®−îc
gi¶m bít, hiÖu qu¶ trùc tiÕp cña tÝnh kh¶ lËp tr×nh cña c¸c bé vi ®iÒu khiÓn vµ ®é

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 4
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

tÝch hîp cao trong c«ng nghÖ chÕ t¹o vi m¹ch, th−êng chuyÓn thµnh thêi gian ph¸t
triÓn ng¾n h¬n, gi¸ thµnh khi s¶n xuÊt thÊp h¬n, c«ng suÊt tiªu thô thÊp h¬n vµ ®é
tin cËy cao h¬n.

VÊn ®Ò ë ®©y lµ tèc ®é. C¸c gi¶i ph¸p dùa trªn bé vi ®iÒu khiÓn kh«ng bao giê
nhanh b»ng gi¶i ph¸p dùa trªn c¸c thµnh phÇn rêi r¹c. Nh÷ng t×nh huèng ®ßi hái ph¶i
®¸p øng thËt nhanh (cì nsec) ®èi víi c¸c sù kiÖn (th−êng chiÕm thiÓu sè trong c¸c
øng dông) sÏ ®−îc qu¶n lý tåi khi dùa vµo c¸c bé vi ®iÒu khiÓn.

Tuy nhiªn trong vµi øng dông, ®Æc biÖt lµ c¸c øng dông liªn quan ®Õn con
ng−êi, c¸c kho¶ng thêi gian trÔ tÝnh b»ng nsec, usec hoÆc thËm chÝ msec lµ kh«ng
quan träng. ViÖc gi¶m bít c¸c thµnh phÇn lµ mét ®iÒu lîi nh− ®! ®Ò cËp, c¸c thao t¸c
trong ch−¬ng tr×nh ®iÒu khiÓn lµm cho thiÕt kÕ cã thÓ thay ®æi b»ng c¸ch thay ®æi
phÇn mÒm. §iÒu nµy cã ¶nh h−ëng tèi thiÓu ®Õn chu kú s¶n xuÊt. Do ®ã c¸c bé vi
®iÒu khiÓn cã thÓ ®−îc øng dông réng r!i trong c¸c øng dông phôc vô con ng−êi.

§Ó cã thÓ hiÓu râ h¬n vÒ c¸c bé vi ®iÒu khiÓn, chóng ta sÏ t×m hiÓu vÒ mét sè
c¸c hä vi ®iÒu khiÓn cña mét sè h!ng ®iÖn tö ®iÓn h×nh ®ang ®−îc sö dông réng
r!i trong khoa häc kü thuËt vµ ®êi sèng.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 5
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

1.1.3 Giíi thiÖu vÒ hä vi ®iÒu khiÓn MCS-51


1.1.3.1 Tãm t¾t phÇn cøng

Hä vi ®iÒu khiÓn MCS-51 ®−îc h!ng Intel cho ra ®êi vµo n¨m 1980 víi bé vi
®iÒu khiÓn ®Çu tiªn cña nã lµ chip 8051.

CÊu tróc c¬ b¶n cña chip vi ®iÒu khiÓn 8051 ®−îc biÓu diÔn nh− h×nh 1.2.

H×nh 1.2- S¬ ®å khèi cña chip 8051


31 39
EA/VP P0.0 38
19 P0.1 37
X1 P0.2
H×nh 1.3 cho ta s¬ ®å ch©n cña chip 8051. Nh− ta P0.3
36
35
18 P0.4 34
X2 P0.5
thÊy, 32 trong sè 40 ch©n cña 8051 cã t¸c dông P0.6
33
32
9 P0.7
RESET
xuÊt/nhËp, h×nh thµnh 4 port 8-bit. Víi c¸c thiÕt kÕ P2.0
21
22
12 P2.1 23
yªu cÇu mét møc tèi thiÓu bé nhí ngoµi hoÆc c¸c 13
14
INT0
INT1
P2.2
P2.3
24
25
15 T0 P2.4 26
thµnh phÇn bªn ngoµi kh¸c, ta cã thÓ sö dông c¸c port 1
T1 P2.5
P2.6
27
28
2 P1.0 P2.7
nµy lµm nhiÖm vô xuÊt/nhËp, 8 ®−êng cho mçi port 3
4
P1.1
P1.2 RD
17
16
5 P1.3 WR 29
cã thÓ ®−îc xö lÝ nh− lµ mét ®¬n vÞ giao tiÕp víi c¸c 6
7
P1.4
P1.5
PSEN
ALE/P
30
11
8 P1.6 TXD 10
thiÕt bÞ song song nh− m¸y in, bé biÕn ®æi P1.7 RXD

8051
H×nh 1.3 - S¬ ®å ch©n cña 8051
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 6
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

D/A,.v.v..hoÆc mçi ®−êng cã thÓ ho¹t ®éng ®éc lËp giao tiÕp víi mét thiÕt bÞ ®¬n bit
nh− chuyÓn m¹ch, LED, tranzistor, cuén d©y, ®éng c¬...

1. Port 0
Port 0 cã 2 t¸c dông. Trong c¸c thiÕt kÕ øng dông tèi thiÓu, kh«ng cã giao tiÕp víi
c¸c thµnh phÇn bªn ngoµi nh− RAM ngoµi, ROM ngoµi..., port 0 ®−îc sö dông nh−
mét cæng xuÊt/nhËp th«ng th−êng. Khi thiÕt kÕ hÖ thèng mµ cÇn sö dông bé nhí ngoµi,
port 0 ®−îc sö dông lµ cæng ®Þa chØ vµ d÷ liÖu ®a hîp. Port 0 nÕu lµ cæng ®Þa chØ th× nã
sÏ lµ phÇn byte thÊp cña bus ®Þa chØ.

2. Port 1
Port 1 chØ cã mét t¸c dông lµ cæng xuÊt nhËp. Nã chØ dïng ®Ó giao tiÕp víi thiÕt
bÞ ngo¹i vi khi cã yªu cÇu. Kh«ng cã chøc n¨ng nµo ®Æc biÖt cho c¸c ch©n cña port 1.
Tuy nhiªn víi c¸c bé vi ®iÒu khiÓn kh¸c nh− 8052 th× c¸c ch©n P1.0 vµ P1.1 cßn ®−îc
sö dông lµm c¸c ®−êng ngâ vµo cho m¹ch ®Þnh thêi thø ba.

3. Port 2
Port 2 cã hai t¸c dông, hoÆc lµm nhiÖm vô lµ cæng xuÊt nhËp, hoÆc lµ phÇn byte
cao cña bus ®Þa chØ 16-bit cho c¸c thiÕt kÕ hÖ thèng cÇn nhiÒu h¬n 256 byte bé nhí
ngoµi.

4. Port 3
Port 3 cã hai t¸c dông. Nã lµm nhiÖm vô nh− mét cæng xuÊt nhËp th«ng th−êng.
Khi kh«ng ho¹t ®éng xuÊt nhËp, mçi ch©n cña port 3 ®Òu cã mét chøc n¨ng riªng.

5. Ch©n cho phÐp bé nhí ngoµi /PSEN - Program Store ENable

Ch©n nµy th−êng ®−îc nèi víi ch©n cho phÐp xuÊt /OE (Output Entable) cña
EPRROM (hoÆc cña ROM) ®Ó cho phÐp ®äc c¸c byte lÖnh. TÝn hiÖu /PSEN ë l«gic ‘0‘
trong suèt thêi gian t×m n¹p lÖnh. C¸c m! nhÞ ph©n cña ch−¬ng tr×nh (opcode) ®−îc
®äc tõ EPROM, qua bus d÷ liÖu vµ ®−îc chèt vµo thanh ghi lÖnh IR cña 8051 ®Ó ®−îc
gi¶i m!. Khi thùc thi mét ch−¬ng tr×nh trong ROM néi, /PSEN ®−îc duy tr× ë l«gic
kh«ng tÝch cùc (logic 1).

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 7
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

6. Ch©n cho phÐp chèt ®Þa chØ ALE - Address Latch Enable

Lµ tÝn hiÖu xuÊt ra ®Ó gi¶i ®a hîp bus ®Þa chØ vµ bus d÷ liÖu. Trong 1/2 chu kú ®Çu
bé nhí, ch©n ALE xuÊt tÝn hiÖu ®Ó chèt ®Þa chØ (byte thÊp cña bus ®Þa chØ 16 bit) vµo
thanh ghi ngoµi khi ta sö dông port 0 lµm byte thÊp ®Þa chØ. Trong 1/2 chu kú bé nhí
cßn l¹i port 0 sÏ xuÊt/nhËp d÷ liÖu. TÝn hiÖu ALE cã tÇn sè b»ng 1/6 tÇn sè cña m¹ch
dao ®éng bªn trong chip vi ®iÒu khiÓn vµ cã thÓ lµm xung clock cho c¸c phÇn cßn l¹i
cña hÖ thèng (tr−êng hîp ngo¹i lÖ khi thùc hiÖn lÖnh MOVX, mét xung ALE (vµ c¶
/PSEN) sÏ bÞ bá qua). Ch©n ALE cßn ®−îc dïng ®Ó nhËp xung ngâ vµo lËp tr×nh cho
EPROM hoÆc Flash ROM trªn chip ®èi víi chip cã lo¹i ROM nµy.

7. Ch©n truy xuÊt ngoµi /EA - External Address

Ch©n nµy ®−îc nèi lªn 5V khi thùc thi ch−¬ng tr×nh trong ROM néi vµ ®−îc nèi
®Êt khi thùc thi ch−¬ng tr×nh bé nhí ngoµi. Chó ý ®èi víi c¸c chip kh«ng cã ROM néi
/EA ph¶i ®−îc nèi ®Êt. C¸c chip hä 8051 cã EPROM cßn nhËn ch©n /ALE lµm ch©n
nhËn ®iÖn ¸p cÊp ®iÖn 12V cho viÖc lËp tr×nh (n¹p) cho EPROM néi.

8. Ch©n RESET (RST)

Dïng ®Ó thiÕt lËp l¹i tr¹ng th¸i ban ®Çu cña hÖ thèng hay gäi t¾t lµ reset hÖ thèng
khi ®−îc treo ë møc logic 1 Ýt nhÊt 2 chu kú m¸y. C¸c thanh ghi bªn trong cña 8051
®−îc n¹p c¸c gi¸ trÞ thÝch hîp cho viÖc khëi ®éng l¹i hÖ thèng.

9. C¸c ch©n XTAL1 vµ XTAL2

M¹ch dao ®éng bªn trong chip 8051 ®−îc ghÐp víi th¹ch anh bªn ngoµi ë 2 ch©n
XTAL1 vµ XTAL2. Th−êng tÇn sè lµ 12MHz vµ c¸c tô æn ®Þnh cã gi¸ trÞ trong kho¶ng
30pF 33 pF.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 8
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

1.1.3.2 Tæ chøc bé nhí cña 8051

C¸c chip vi ®iÒu khiÓn dïng lµm thµnh phÇn trung t©m trong c¸c thiÕt kÕ h−íng
®iÒu khiÓn. Bé nhí th−êng cã dung l−îng bÐ h¬n nhiÒu so víi mét hÖ vi xö lý. Nã cßn
kh«ng cã æ ®Üa vµ hÖ ®iÒu hµnh. Ch−¬ng tr×nh ®iÒu khiÓn ph¶i th−êng tró trong ROM.
Do vËy, ch−¬ng tr×nh vÉn ®−îc l−u gi÷ ngay c¶ khi mÊt ®iÖn.

Do lý do trªn, chip 8051 cã kh«ng gian bé nhí riªng cho ch−¬ng tr×nh vµ d÷
liÖu. C¶ bé nhí ch−¬ng tr×nh vµ bé nhí d÷ liÖu ®Òu n»m trong chip. Tuy nhiªn ta cã
thÓ më réng bé nhí ch−¬ng tr×nh vµ bé nhí d÷ liÖu b»ng c¸ch sö dông c¸c chip nhí
bªn ngoµi víi dung l−îng tèi ®a lµ 64K cho bé nhí ch−¬ng tr×nh vµ 64K cho bé nhí
d÷ liÖu.

Bé nhí ch−¬ng tr×nh (ROM)

Bé nhí ch−¬ng tr×nh l−u gi÷ ch−¬ng tr×nh ®iÒu khiÓn chip 8051.

Sau khi RESET, CPU b¾t ®Çu thùc hiÖn ch−¬ng tr×nh tõ ®Þa chØ 0000H. Khi
ch−¬ng tr×nh lín qu¸ kÝch th−íc bé nhí ch−¬ng tr×nh bªn trong chip, ch−¬ng tr×nh
nµy ph¶i ®−îc n¹p vµo bé nhí ch−¬ng tr×nh ngoµi. NÕu ch−¬ng tr×nh n»m trong ROM
néi, ch©n /EA cña 8051 ph¶i ®−îc treo lªn 5V. NÕu ch−¬ng tr×nh ë ROM ngoµi, ch©n
/EA ph¶i nèi ®Êt. ViÖc truy xuÊt ch−¬ng tr×nh ë bé nhí ngoµi ph¶i kÕt hîp víi ch©n
tÝn hiÖu truy xuÊt bé nhí ngoµi /PSEN.

Bé nhí d÷ liÖu (RAM)

8051 cã 128 byte RAM ë bªn trong chip. Chóng ®−îc chia lµm nhiÒu vïng kh¸c
nhau : vïng RAM ®a môc ®Ých, vïng RAM ®Þnh ®Þa chØ bit, c¸c d!y thanh ghi, vµ
c¸c thanh ghi chøc n¨ng ®Æc biÖt. Ta h!y xem xÐt tõng vïng RAM cô thÓ.

- Vïng RAM ®a môc ®Ých : Cã ®Þa chØ tõ 30H ®Õn 7FH (80 byte). Vïng RAM
nµy cã thÓ truy xuÊt b»ng c¸ch ®Þnh ®Þa chØ trùc tiÕp hoÆc ®Þnh ®Þa chØ gi¸n tiÕp. Nã
cã thÓ dïng ®Ó chøa c¸c biÕn trong ch−¬ng tr×nh hay dïng ®Ó ®Þnh ®Þa chØ cho c¸c
cæng ngo¹i vi tuú theo môc ®Ých cña ng−êi sö dông.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 9
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

- Vïng RAM ®Þnh ®Þa chØ tõng bit : Cã 128 bit chøa trong c¸c byte ë ®Þa chØ tõ
20H ®Õn 2FH vµ 32 byte chøa c¸c thanh ghi (00H ®Õn 1FH).
- C¸c dNy thanh ghi tõ Bank 0 tíi Bank 3 : N»m ë 32 byte thÊp nhÊt cña vïng
nhí d÷ liÖu. Khi RESET hÖ thèng d!y thanh ghi mÆc ®Þnh lµ Bank 0. Cã thÓ chän Bank
bëi thanh ghi tõ tr¹ng th¸i ch−¬ng tr×nh (PSW- Program Status Word) . C¸c lÖnh sö
dông c¸c thanh ghi tõ R0 ®Õn R7 lµ c¸c lÖnh ng¾n vµ thùc hiÖn nhanh h¬n so víi c¸c
lÖnh t−¬ng ®−¬ng sö dông kiÓu ®Þnh ®Þa chØ trùc tiÕp. C¸c gi¸ trÞ d÷ liÖu th−êng ®−îc
sö dông nªn chøa ë mét trong c¸c thanh ghi nµy.

C¸c thanh ghi chøc n¨ng ®Æc biÖt (SFR- Special Function Register)

Cã 21 thanh ghi chøc n¨ng ®Æc biÖt chiÕm phÇn trªn cña RAM néi cã ®Þa chØ tõ
80H ®Õn FFH. C¸c ®Þa chØ ®−îc ®Þnh nghÜa trong vïng RAM nµy gåm c¸c thanh ghi
®iÒu khiÓn cña 8051, c¸c thanh ghi ®Öm, vµ c¸c cæng vµo ra.

- Thanh ghi tõ tr¹ng th¸i PSW - Program Status Word : Cã ®Þa chØ lµ D0H.
Chøa c¸c bit tr¹ng th¸i cã chøc n¨ng kh¸c nhau.
- Thanh ghi chøa ACC: Cã ®Þa chØ lµ A0H. Th−êng ®−îc dïng lµm biÕn nhí
trung gian trong c¸c phÐp tÝnh to¸n sè häc.
- Thanh ghi B: Cã ®Þa chØ lµ F0H. Th−êng ®−îc dïng chung víi thanh ghi ACC
trong c¸c phÐp to¸n nh©n chia.
- C¸c cæng giao tiÕp song song : §ã lµ c¸c cæng P0, P1, P2, P3. §−îc ®Þnh ®Þa
chØ t−¬ng øng lµ 80H, 90H, A0H, B0H.
- C¸c thanh ghi phôc vô cho truyÒn th«ng nèi tiÕp SCON (Serial port
CONtrol) vµ SBUF (Serial data BUFfer): Thanh ghi SCON dïng ®Ó thiÕt lËp c¸c
th«ng sè cho viÖc truyÒn th«ng nèi tiÕp. Cßn thanh ghi SBUF dïng lµm vïng nhí ®Öm
buffer cho viÖc truyÒn th«ng.
- Thanh ghi PCON - Power CONtrol: §©y lµ thanh ghi ®iÒu khiÓn nguån cÊp
cho 8051. Cã thÓ dïng thanh ghi nµy ®Ó ®Æt bé vi ®iÒu khiÓn vµo chÕ ®é Power Down
hoÆc IDE.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 10
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

- C¸c thanh ghi ®iÒu khiÓn ng¾t IP (Interrupt Priority) vµ IE (Interrupt


Enable) : Thanh ghi IE dïng ®Ó cho phÐp c¸c ng¾t ho¹t ®éng/kh«ng ho¹t ®éng. Cßn
thanh ghi IP dïng ®Ó x¸c ®Þnh møc −u tiªn cho c¸c ng¾t cña 8051.
- C¸c thanh ghi ®iÒu khiÓn bé ®Þnh thêi : §ã lµ c¸c thanh ghi TMOD, TCON,
TH0, TL0, TH1, TL1. C¸c thanh ghi nµy ®−îc sö dông ®Ó ®iÒu khiÓn bé ®Þnh thêi 0
vµ 1.
- Thanh ghi SP - Stack Pointer : Thanh ghi con tror ng¨n xÕp (stack), SP chøa
®Þa chØ cña d÷ liÖu hiÖn ®ang ë ®Ønh stack. Néi dung mÆc ®Þnh cña SP khi khëi ®éng lµ
07H. Thao t¸c cÊt vµo stack ®Çu tiªn sÏ l−u d÷ liÖu vµo vÞ trÝ nhí cã ®Þa chØ 08H v× c¬
chÕ lµm viÖc cña chip 8051 lµ t¨ng néi dung SP lªn 1 tr−íc khi thùc hiÖn l−u d÷ liÖu
vµo ng¨n xÕp.
- Con trá d÷ liÖu DPTR - Data PoinTeR : §−îc dïng ®Ó truy xuÊt bé nhí
ch−¬ng tr×nh ngoµi hoÆc bé nhí d÷ liÖu ngoµi. DPTR lµ thanh ghi 16 bit gåm 2 phÇn lµ
DPH vµ DPL.
1.1.3.3 C¸c ho¹t ®éng chøc n¨ng chÝnh cña 8051

Ho¹t ®éng ®Þnh thêi

C¸c bé ®Þnh thêi dïng ®Ó t¹o ra c¸c kho¶ng thêi gian kh¸c nhau, dïng ®Ó ®Õm
sù kiÖn hoÆc dïng ®Ó t¹o tèc ®é baud cho viÖc truyÒn th«ng nèi tiÕp. Trong 8051 cã
hai bé ®Þnh thêi lµ T0 vµ T1. ViÖc lùa chän chÕ ®é ho¹t ®éng cho c¸c Timer nµy nhê
vµo thanh ghi TMOD. Cßn viÖc ®iÒu khiÓn c¸c Timer ho¹t ®éng nhê vµo thanh ghi
TCON. Cã 4 mode ho¹t ®éng cho c¸c Timer. Mode 0 lµ chÕ ®é ®Þnh thêi 13-bit,
Mode 1 lµ chÕ ®é ®Þnh thêi 16-bit, Mode 2 lµ chÕ ®é ®Þnh thêi tù n¹p l¹i 8-bit, Mode
3 lµ chÕ ®é ®Þnh thêi chia xÎ vµ cã ho¹t ®éng kh¸c nhau cho tõng bé ®Þnh thêi.

Ho¹t ®éng cña port nèi tiÕp

Chøc n¨ng c¬ b¶n cña port nèi tiÕp lµ chuyÓn ®æi d÷ liÖu tõ song song thµnh nèi
tiÕp khi ph¸t vµ tõ nèi tiÕp thµnh song song khi thu. D÷ liÖu ®−îc truyÒn ®i hoÆc nhËn

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 11
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

vÒ th«ng qua bé ®Öm d÷ liÖu nèi tiÕp SBUF (Serial data BUFfer). Khi truyÒn ®i, d÷ liÖu
®−îc chuyÓn tõ song song sang nèi tiÕp th«ng qua ch©n TxD. Khi thu, d÷ liÖu ®−îc
chuyÓn tõ nèi tiÕp sang song song th«ng qua ch©n RxD. Thanh ghi SBUF cã ®Þa chØ
99H. ViÖc ghi d÷ liÖu cho SBUF tøc lµ ph¸t d÷ liÖu, viÖc ®äc SBUF tøc truy xuÊt d÷
liÖu nhËn ®−îc (thu d÷ liÖu). §iÒu khiÓn port nèi tiÕp th«ng qua thanh ghi SCON cã ®Þa
chØ lµ 98H, thanh ghi nµy lµ thanh ghi ®Þnh ®Þa chØ tõng bit cho ta x¸c ®Þnh ®−îc c¸c
chÕ ®é lµm viÖc cña port nèi tiÕp (th«ng qua hai bit MS0 & MS1).

Ho¹t ®éng cña ng¾t trong 8051


Cã 5 nguyªn nh©n ®Ó t¹o ra ng¾t trong 8051. §ã lµ 2 ng¾t ngoµi, hai ng¾t do bé
®Þnh thêi vµ mét ng¾t do port nèi tiÕp. Khi ta thiÕt lËp tr¹ng th¸i ban ®Çu (sau khi
RESET), tÊt c¶ c¸c ng¾t ®Òu bÞ v« hiÖu ho¸ vµ sau ®ã chóng ®−îc cho phÐp riªng rÏ
b»ng phÇn mÒm.
Khi ch−¬ng tr×nh ®ang thùc hiÖn, nÕu cã ng¾t víi −u tiªn cao xuÊt hiÖn, tr×nh phôc
vô ng¾t cho ng¾t cã møc −u tiªn thÊp t¹m dõng. Ta kh«ng thÓ t¹m dõng mét ch−¬ng
tr×nh ng¾t cã møc −u tiªn cao h¬n. Khi cã 2 ng¾t kh¸c nhau xuÊt hiÖn ®ång thêi, ng¾t
cã mùc −u tiªn cao sÏ ®−îc phôc vô tr−íc. Khi 2 ng¾t cã cïng møc −u tiªn xuÊt hiÖn
®ång thêi, chuçi vßng cè ®Þnh sÏ x¸c ®Þnh ng¾t bµo ®−îc phôc vô tr−íc. Chuçi vßng
nµy sÏ lµ ng¾t ngoµi 0, ng¾t ngoµi 1, ng¾t do bé ®Þnh thêi 0, ng¾t do bé ®Þnh thêi 1,
ng¾t do port nèi tiÕp, ng¾t do bé ®Þnh thêi 2 (®èi víi 8052).
Khi mét ng¾t ®−îc chÊp nhËn, gi¸ trÞ ®−îc n¹p cho bé ®Õm ch−¬ng tr×nh ®−îc gäi
lµ vÐc t¬ ng¾t. VÐc t¬ ng¾t lµ ®Þa chØ b¾t ®Çu cña tr×nh phôc vô ng¾t cña c¸c ng¾t t−¬ng
øng. C¸c vÐc t¬ ng¾t ®−îc cho ë b¶ng sau :

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 12
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Nguån ng¾t Cê §Þa chØ vector ng¾t


Reset hÖ thèng RST 0000H
Ng¾t ngoµi 0 IE0 0003H
Bé ®Þnh thêi 0 TF0 000BH
Ng¾t ngoµi 1 IE1 0013H
Bé ®Þnh thêi 1 TF1 001BH
Port nèi tiÕp RI or TI 0023H
Bé ®Þnh thêi 2 TF2 or EXF2 002BH

Ho¹t ®éng RESET cña 8051


8051 ®−îc reset b»ng c¸ch gi÷ ch©n RST ë møc cao tèi thiÓu hai chu kú m¸y vµ
sau ®ã chuyÓn vÒ møc thÊp. Tr¹ng th¸i cña tÊt c¶ c¸c thanh ghi sau khi reset hÖ thèng
nh− sau :
Thanh ghi Néi dung
Bé ®Õm ch−¬ng tr×nh PC 0000H
Thanh chøa A 00H
Thanh ghi B 00H
PSW 00H
SP 07H
DPTR 0000H
Port 0 ®Õn port 3 FFH
IP xxx00000B
IE 0xx00000B
C¸c thanh ghi ®Þnh thêi 00H
SCON 00H
SBUF 00H
PCON ( HMOS) 0xxxxxxxB
PCON ( CMOS) 0xxx0000B

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 13
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Khi reset hÖ thèng thanh ghi PC ®−îc n¹p ®Þa chØ 0000H, khi ®ã ch−¬ng tr×nh sÏ
b¾t ®Çu tõ ®Þa chØ ®Çu tiªn trong bé nhí ch−¬ng tr×nh. Néi dung cña RAM trªn chip
kh«ng bÞ ¶nh h−ëng khi ta reset hÖ thèng.

1.1.4 Giíi thiÖu hä vi ®iÒu khiÓn 8 bit cña Motorola


C¸c hä vi ®iÒu khiÓn cña Motorola ®−îc kÝ hiÖu b¾t ®Çu bëi ch÷ c¸i MC. V× cè
g¾ng gi÷ l¹i phÇn mÒm c¸c nhµ chÕ t¹o linh kiÖn b¸n dÉn th−êng duy tr× sù t−¬ng thÝch
víi c¸c bé vi xö lÝ ®Çu ®êi. H!ng Motorola ®−a ra bé vi ®iÒu khiÓn M6801 ®Çu tiªn cña
h!ng trªn thÞ tr−êng thÕ giíi vµo n¨m 1978 vµ bé vi ®iÒu khiÓn nµy ®−îc chÕ t¹o trªn
c¬ së sö dông bé vi xö lÝ M6800. Bé vi ®iÒu khiÓn M6801 cã bé nhí ROM vµ RAM
ngoµi lín nhÊt lªn ®Õn 64KB víi m¹ch giao diÖn vµo/ra, truyÒn th«ng nèi tiÕp kh«ng
®ång bé ®! b¾t ®Çu phæ biÕn trong hÖ thèng ®iÒu khiÓn «t«.
Sau ®ã vµo n¨m 1985 Motorola ®! ph¸t triÓn bé vi ®iÒu khiÓn 68HC11 t−¬ng
thÝch víi bé vi xö lÝ M6800. Bé vi ®iÒu khiÓn MC68HC11 tiªu thô Ýt c«ng suÊt h¬n vµ
cho phÐp tÝn hiÖu nhiÔu cao h¬n so víi c¸c bé vi xö lÝ ®Çu ®êi. MC68HC11 cã nhiÒu
phiªn b¶n, vÝ dô MC68HC11A8 vµ MC68HC11E9. Mét sè h!ng nh− Mitsubishi,
Toshiba còng s¶n xuÊt c¸c bé vi ®iÒu khiÓn nµy theo c«ng nghÖ cña Motorola.
B¶ng d−íi ®©y liÖt kª c¸c ®Æc ®iÓm c¬ b¶n cña mét sè chip vi ®iÒu khiÓn trong hä
68HC11:
MC ROM RAM EEPROM ADC I/O
68HC11A8 8KB 256 bytes 512 bytes 8 channels 38 pins

68HC811E2 0 256 bytes 2 KB - -


68HC11F1 0 1 KB - - -
68HC11E9 12 KB 512 bytes 512 bytes - -

68HC11B8 8 KB 256 bytes 512 bytes - -

68HC11B0 0 256 bytes 0 - -


68HC11B1 0 256 bytes 512bytes - -
68HC11D3 4 KB 192 bytes - - 40 pins
68HC11A0 0 256 bytes 0 - 22 pins

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 14
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

1.1.5 Giíi thiÖu c¸c hä vi ®iÒu khiÓn 8 bit cña h·ng Microchip Technology
H!ng Microchip Technology lµ mét trong nh÷ng nhµ cung cÊp hµng ®Çu vÒ c¸c
gi¶i ph¸p ®iÒu khiÓn cho c¸c hÖ thèng nhóng (Embedded control system). Hai dßng
s¶n phÈm chÝnh cña h!ng lµ c¸c hä vi ®iÒu khiÓn 8-bit PIC16/17 vµ c¸c chip nhí
kh«ng bay h¬i EEPROM nèi tiÕp, nh÷ng s¶n phÈm nµy ®−îc ®−a vµo øng dông cho
viÖc ®−a ra c¸c gi¶i ph¸p thiÕt kÕ c¸c hÖ thèng ®iÒu khiÓn nhóng cña h!ng cung cÊp
cho kh¸ch hµng.

C¸c hä vi ®iÒu khiÓn PIC16Cxx vµ PIC17Cxx cña h!ng Microchip Technology


®−îc sö dông kh¸ th«ng dông vµ réng r!i cho c¸c øng dông ®iÒu khiÓn trong viÖc chÕ
t¹o c¸c s¶n phÈm tiªu dïng, trong tù ®éng hãa v¨n phßng, thiÕt bÞ ngo¹i vi cña m¸y
tÝnh, c¸c hÖ thèng tù ®éng ®iÒu khiÓn ...

D−íi ®©y liÖt kª c¸c ®Æc ®iÓm chÝnh, c¸c thµnh phÇn c¬ b¶n cña mét sè chip vi
®iÒu khiÓn trong c¸c hä vi ®iÒu khiÓn 8- bit PIC16Cxx vµ PIC17Cxx.
Hä PIC16Cxx

Memory Peripheral Features


PIC (0)
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (12) (13)
16C61 20 1K _ 36 _ 1 _ _ _ _ _ 3 13
16C62 20 2K _ 128 _ 3 2 Yes _ _ _ 10 22
16C63 20 4K _ 192 _ 3 2 Yes _ _ _ 10 22
16C64 20 2K _ 128 _ 3 1 Yes Yes _ _ 8 33
16C65 20 4K _ 192 _ 3 2 Yes Yes _ _ 11 33
16C620 20 512 _ 80 _ 1 _ _ _ _ 2 4 13
16C621 20 1K _ 80 _ 1 _ _ _ _ 2 4 13
16C622 20 2K _ 128 _ 1 _ _ _ _ 2 4 13
16C71 20 1K _ 36 _ 1 _ _ _ 4 _ 4 13
16C73 20 4K _ 192 _ 3 2 Yes _ 5 _ 11 22
16C74 20 4K _ 192 _ 3 2 Yes Yes 8 _ 12 33
16C84 10 _ 1K 36 64 1 _ _ _ _ _ 4 13

Chó thÝch :

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 15
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

(0) : TÇn sè cÊp t¹o xung Clock (MHz).


(1) : Dung l−îng bé nhí ch−¬ng tr×nh EPROM trong.
(2) : Dung l−îng bé nhí ch−¬ng tr×nh EEPROM trong.
(3) : Dung l−îng bé nhí d÷ liÖu RAM trong (bytes).
(4) : Dung l−îng bé nhí d÷ liÖu EEPROM trong (bytes).
(5) : Sè Module Timer.
(6) : Sè Capture, Module PWM.
(7) : Cæng nèi tiÕp.
(8) : Cæng song song.
(9) : Sè kªnh chuyÓn ®æi Analog – Digital (ADC).
(10) : Sè bé so s¸nh (Comparator).
(11) : Sè nguån ng¾t (Interrup source).
(12) : Sè ®−êng vµo/ra (I/O pins).

Hä PIC17Cxx

Memory Peripherals Features


PIC
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9)

17C42 25 2K 232 4 2 Yes Yes 11 33 55

17C43 25 4K 454 4 2 Yes Yes 11 33 58

17C44 25 8K 454 4 2 Yes Yes 11 33 58

Chó thÝch :
(0) : TÇn sè cÊp t¹o xung Clock (MHz).
(1) : Dung l−îng bé nhí ch−¬ng tr×nh EPROM bªn trong.
(2) : Dung l−îng bé nhí d÷ liÖu RAM bªn trong.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 16
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

(3) : Sè Module Timer.


(4) : Sè Module PWM.
(5) : Cæng nèi tiÕp.
(6) : Ng¾t ngoµi (External interrupts).
(7) : Sè nguån ng¾t (Interrupt sources).
(8) : Sè ®−êng vµo/ra (I/O pins).
(9) : Sè lÖnh ®iÒu khiÓn (Instructions).
§¸nh gi¸ c¸c dßng PIC
- Dßng PIC nhiÒu ch©n nhÊt lµ dßng dsPIC30Fxxxx vµ PIC18Fxxxx, cã nh÷ng con sè
ch©n lªn ®Õn 80 ch©n.
- Dßng PIC Ýt ch©n nhÊt lµ dßng PIC10Fxxx, chØ cã 6 ch©n
- Dßng PIC phæ biÕn nhÊt lµ dßng PIC16F877A (®ñ m¹nh vÒ tÝnh n¨ng, 40 ch©n, bé nhí
®ñ cho hÇu hÕt c¸c øng dông th«ng th−êng)
- Dßng PIC mµ ®−îc c¸c chuyªn gia ®¸nh gi¸ cao nhÊt lµ dßng PIC16F876A (28 ch©n,
chøc n¨ng kh«ng kh¸c g× so víi PIC16F877A, nh−ng nhá gän h¬n nhiÒu, vµ sè ch©n
còng kh«ng qu¸ Ýt nh− PIC16F88).
- Dßng PIC hç trî giao tiÕp USB lµ dßng PIC18F2550 vµ PIC18F4550
- Dßng PIC ®iÒu khiÓn ®éng c¬ m¹nh nhÊt lµ dßng PIC18F4x31 vµ dßng dsPIC30F
dïng ®iÒu khiÓn ®éng c¬
- Dßng PIC hiÖn nay ®! kh«ng cßn ®−îc s¶n xuÊt n÷a lµ dßng PIC17xxxxx.
*(C¸c ®¸nh gi¸ vÒ PIC ®−îc trÝch ë website www.picvietnam.com)

1.1.6 Giíi thiÖu chip vi ®iÒu khiÓn th«ng minh PSoC


PSoC lµ ch÷ viÕt t¾t cña Programmable System on Chip. §ã lµ mét c«ng nghÖ chÕ
t¹o chip hiÖn ®¹i nhÊt cho ®Õn nay, cho phÐp t¹o ra c¸c chip hÖ thèng xö lÝ hçn hîp
(Mixed signal) víi kh¶ n¨ng xö lÝ thuËt to¸n m¹nh.
§Æc ®iÓm cña c¸c thÕ hÖ vi ®iÒu khiÓn chÕ t¹o theo c«ng nghÖ tr−íc ®©y lµ trªn
mét chip vi ®iÒu khiÓn chØ cã thÓ thay ®æi ®−îc ch−¬ng tr×nh phÇn mÒm chø kh«ng thÓ
lËp tr×nh thay ®æi ®−îc cÊu tróc phÇn cøng. Gi¸ thµnh cho viÖc sö dông c¸c chip vi ®iÒu

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 17
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

khiÓn vµ mua c¸c phÇn mÒm hç trî ®Ó ph¸t triÓn c¸c øng dông lµ rÊt ®¾t vµ mang l¹i
hiÖu qu¶ kh«ng cao, khã cã thÓ th«ng minh hãa viÖc ®iÒu khiÓn hÖ thèng.
Víi chip vi ®iÒu khiÓn th«ng minh chÕ t¹o theo c«ng nghÖ PSoC, chóng ta cã thÓ
lËp tr×nh trªn chip ®Ó thay ®æi kh«ng nh÷ng c¶ phÇn mÒm ®iÒu khiÓn mµ c¶ cÊu tróc
phÇn cøng ngay khi hÖ thèng ®ang ho¹t ®éng. ViÖc øng dông chip vi ®iÒu khiÓn th«ng
minh theo c«ng nghÖ PSoC mang l¹i hiÖu qu¶ cao vÒ kü thuËt vµ gi¸ thµnh gi¶m ®i
nhiÒu lÇn so víi viÖc sö dông c¸c chip vi ®iÒu khiÓn tr−íc ®©y. §èi víi c¸c chip vi ®iÒu
khiÓn th«ng minh, bªn trong nã ®! tÝch hîp ®Çy ®ñ c¸c thµnh phÇn CPU, c¸c bé nhí,
c¸c khèi (block) t−¬ng tù vµ sè nªn mét sè thµnh phÇn ngo¹i vi bªn ngoµi chip trong hÖ
thèng cã thÓ gi¶m ®i. V× thÕ, gi¸ thµnh vµ kÝch th−íc cña hÖ thèng gi¶m ®i nhiÒu so víi
hÖ thèng sö dông c¸c chip vi ®iÒu khiÓn thÕ hÖ tr−íc ®©y.
HiÖn nay, cã nhiÒu h!ng ®iÖn tö trªn thÕ giíi quan t©m ®Çu t− cho viÖc nghiªn cøu
vµ ¸p dông c«ng nghÖ chÕ t¹o chip míi nµy. Trong ®ã cã thÓ kÓ ®Õn h!ng Cypress
Microchip ®! ¸p dông thµnh c«ng c«ng nghÖ PSoC ®Ó cho ra ®êi c¸c hä vi ®iÒu khiÓn
th«ng minh CY8C24xxx, CY8C25xxx, CY8C26xxx vµ CY8C27xxx.
Mét vÝ dô cô thÓ vÒ kh¶ n¨ng lËp tr×nh thay ®æi c¶ cÊu h×nh phÇn cøng vµ ch−¬ng
tr×nh phÇn mÒm ®iÒu khiÓn lµ ®Ò tµi øng dông chip vi ®iÒu khiÓn th«ng minh c«ng nghÖ
PSoC ®Ó chÕ t¹o m¸y b¸n hµng th«ng minh tù ®éng. M¸y cã chøc n¨ng b¸n hµng tù
®éng vµo ban ngµy vµ ban ®ªm th× nã thay ®æi c¶ cÊu h×nh phÇn cøng vµ ch−¬ng tr×nh
phÇn mÒm ®Ó lµm chøc n¨ng truyÒn th«ng.

H×nh 1.3 - CÊu h×nh cña


mét chip PSoC

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 18
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

1.2 Giíi thiÖu c¸c c«ng cô ph¸t triÓn hÖ vi xö lÝ vµ vi ®iÒu khiÓn

1.2.1 C«ng cô ph¸t triÓn cho hä MCS-51


1.2.1.1 PhÇn mÒm Keil cña h·ng Keil Software

PhÇn mÒm Keil Vision2 lµ mét ch−¬ng tr×nh biªn dÞch cho phÐp ng−êi sö dông
cã thÓ viÕt ®−îc c¸c ch−¬ng tr×nh ®iÒu khiÓn cho hä vi ®iÒu khiÓn MSC-51 b»ng ng«n
ng÷ C vµ c¶ ASM. Nã cã chøa hÇu hÕt c¸c hµm chuÈn cña ANSI-C. §iÒu nµy gióp cho
ng−êi sö dông cã thÓ tËn dông ®−îc nh÷ng hµm chuÈn cña C ®Ó viÕt ch−¬ng tr×nh cho
vi ®iÒu khiÓn. ViÖc tæ chøc ch−¬ng tr×nh thµnh c¸c m«dun nhá còng rÊt dÔ thùc hiÖn.
Ch−¬ng tr×nh biªn dÞch cho ng«n ng÷ C cña nã chÝnh lµ Cx51 Compiler.
Cx51 Compiler hç trî tÊt c¶ c¸c kiÓu d÷ liÖu chuÈn cña C nh− : char, short, int,
long, float. Ngoµi ra nã cßn cã mét vµi kiÓu d÷ liÖu ®Æc biÖt t−¬ng thÝch víi hä vi ®iÒu
khiÓn MSC-51.
- KiÓu bit : ®©y lµ kiÓu d÷ liÖu chØ gåm 2 gi¸ trÞ 0 vµ 1. Nã ®−îc sö dông ®Ó g¸n
gi¸ trÞ cho c¸c thanh ghi hay c¸c ®Þa chØ cã thÓ truy nhËp ®−îc ®Õn tõng bit.
- KiÓu sbit, sfr, sfr16 : ®©y lµ c¸c kiÓu d÷ liÖu dïng ®Ó ®Þnh nghÜa cho c¸c thanh
ghi chøc n¨ng ®Æc biÖt. KiÓu sfr dïng ®Ó ®Þnh nghÜa cho c¸c thanh ghi SFR 8-bit. Cßn
kiÓu sfr16 dïng ®Ó ®Þnh nghÜa cho c¸c thanh ghi SFR 16-bit nh− thanh ghi RCAP2
dïng ®Ó l−u gi÷ gi¸ trÞ n¹p l¹i cho Timer 2. KiÓu sbit dïng ®Ó ®Þnh nghÜa tõng bit cho
c¸c bit trong c¸c thanh ghi ®Æc biÖt mµ cã thÓ ®Þnh ®Þa chØ bit.
VÝ dô khai b¸o :
sfr P0 = 0x80; /* Port 0 */
sfr SP = 0x81; /* Stack Pointer */
sbit P0_0 = 0x80;
sbit P0_1 = 0x81;

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 19
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

VÒ c¸ch tæ chøc bé nhí cña vi ®iÒu khiÓn trong phÇn mÒm Keil C51 :
- Bé nhí ch−¬ng tr×nh : §©y lµ vïng nhí chØ ®äc trong vi ®iÒu khiÓn. Nã cã thÓ
cã dung l−îng tíi 64KB. Trong phÇn mÒm Keil C51 th× vïng nhí nµy ®−îc ®Þnh d¹ng
b»ng tõ kho¸ code.
VÝ dô khai b¸o biÕn thuéc vïng code :
char code str[]={“DHBKDN”}; //Khai b¸o mét m¶ng ký tù chøa trong vïng nhí code
- Bé nhí d÷ liÖu trong : §©y lµ vïng nhí cã thÓ võa ghi vµ ®äc. Cã 3 kiÓu vïng
nhí d÷ liÖu ë bªn trong vi ®iÒu khiÓn. §ã lµ c¸c kiÓu : data, idata, bdata. Vïng nhí
d÷ liÖu kiÓu data lµ vïng nhí chøa 128 byte d÷ liÖu ®Çu tiªn cña vi ®iÒu khiÓn. Vïng
nhí nµy cã thÓ truy cËp th«ng qua ®Þa chØ trùc tiÕp ®−îc. Vïng nhí d÷ liÖu kiÓu idata
lµ vïng nhí 256 byte d÷ liÖu truy nhËp th«ng qua ®Þa chØ gi¸n tiÕp. Vïng nhí d÷ liÖu
kiÓu bdata lµ vïng nhí chøa 16 byte ®Þnh ®Þa chØ bit tõ ®Þa chØ 20H ®Õn 2FH.
VÝ dô khai b¸o biÕn trong vïng nhí d÷ liÖu trong :
unsigned char data v1; //Khai b¸o biÕn v1
unsigned int idata v2; //Khai b¸o biÕn v2

- Bé nhí d÷ liÖu ngoµi : Cã 2 kiÓu d÷ liÖu ngoµi ë trong Keil C51 lµ XDATA
vµ PDATA. XDATA lµ vïng nhí d÷ liÖu ngoµi cã thÓ ®Þnh ®Þa chØ ®−îc ®Õn 64 KB d÷
liÖu. PDATA lµ vïng nhí chøa tõng trang d÷ liÖu. Mçi trang d÷ liÖu ngoµi chøa ®−îc
256 byte. §Ó cã thÓ truy cËp ®−îc bé nhí d÷ liÖu ngoµi, ta ph¶i dïng tõ kho¸ _at_ ®Ó
®Þnh ®Þa chØ cho c¸c biÕn.
VÝ dô khai b¸o biÕn trong vïng nhí d÷ liÖu ngoµi :
float xdata a1 _at_ 0x2000; //Khai b¸o biÕn a1 cã ®Þa chØ 2000H
unsigned long pdata a2 _at_ 0x2004; // BiÕn a2 cã ®Þa chØ 2004
Con trá trong Keil C51 ®−îc khai b¸o gièng nh− khai b¸o con trá trong ng«n ng÷ C.
VÝ dô vÒ khai b¸o con trá :
char *s; //Con trá cña mét string
int *p; //Con trá kiÓu int

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 20
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Con trá ®−îc sö dông ®Ó truy cËp tíi bÊt cø phÇn bé nhí nµo cña vi ®iÒu khiÓn.
Cã hai c¸ch khai b¸o sö dông con trá. Generic Pointers lµ kiÓu con trá dïng chung.
Khai b¸o con trá sÏ chiÕm 3 byte cña vïng nhí d÷ liÖu mµ nã trá ®Õn.
Con trá cßn cã thÓ khai b¸o vïng nhí d÷ liÖu cho con trá.
VÝ dô :
char data *str; /* ptr to string in data */
int xdata *numtab; /* ptr to int(s) in xdata */
long code *powtab; /* ptr to long(s) in code */
Ngoµi ra, Keil C51 cßn lµ ch−¬ng tr×nh m« pháng chip rÊt tèt b»ng ch−¬ng tr×nh
tÝch hîp dScope. Nã cho phÐp ng−êi sö dông m« pháng ch−¬ng tr×nh viÕt trong C ch¹y
trªn nÒn chip gièng nh− thËt. Ng−êi sö dông cã thÓ dÔ dµng theo dâi gi¸ trÞ cña Timer,
tr¹ng th¸i c¸c ng¾t, ®Çu ra cæng nèi tiÕp, ®Çu ra c¸c port P0...P3.
1.2.1.2 PhÇn mÒm Borland Delphi 7.0 cña h·ng Borland

Borland Delphi 7.0 lµ mét c«ng cô m¹nh dïng ®Ó x©y dùng c¸c øng dông 32 bit
ch¹y trªn nÒn Windows bao gåm c¶ Windows 9x vµ NT.

1.2.3 C«ng cô ph¸t triÓn cho hä vi ®iÒu khiÓn MC68HC11


C¸c chip vi ®iÒu khiÓn hä Motorola 68HC11 cã thÓ ®−îc lËp tr×nh b»ng ng«n ng÷
Assembly hoÆc C nh− c¸c hä vi ®iÒu khiÓn kh¸c. Chóng ta cã thÓ tham kh¶o c«ng cô
ph¸t triÓn hç trî cho viÖc lËp tr×nh, m« pháng vµ ph¸t triÓn c¸c øng dông víi chip vi
®iÒu khiÓn MC68HC11 sau ®©y.

PhÇn mÒm Micro-IDE

PhÇn mÒm Micro-IDE lµ mét c«ng cô ph¸t triÓn m¹nh hç trî cho viÖc lËp tr×nh,
m« pháng cho nhiÒu lo¹i chip vi ®iÒu khiÓn kh¸c nhau, ch¹y trªn m«i tr−êng
Windows. Giao diÖn ng−êi dïng cña nã nh− h×nh vÏ, víi phÇn mÒm nµy ta cã thÓ
lùa chän ®Ó lµm viÖc víi c¸c chip trong hä 8051, M68HC11, M68HC12,
M68HC16, 8085, 8086,... vµ c¸c chip hä AVR. C¸c tÝnh n¨ng, ®Æc ®iÓm cña phÇn

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 21
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

mÒm nµy t−¬ng tù nh− phÇn mÒm Keil C51 nh−ng øng dông cña nã th× réng h¬n
cho nhiÒu lo¹i chip kÓ trªn. Ng«n ng÷ lËp tr×nh cã thÓ so¹n th¶o vµ biªn dÞch trªn
m«i tr−êng cña Micro-IDE cã thÓ b»ng C hoÆc Assembly.

H×nh 1.4 - Giao diÖn cña phÇn mÒm Micro-IDE


1.2.4 C«ng cô ph¸t triÓn cho hä vi ®iÒu khiÓn PIC16/17
Hä vi ®iÒu khiÓn PIC16/17 ®−îc hç trî bëi ®Çy ®ñ c¸c c«ng cô ph¸t triÓn c¶ vÒ
phÇn cøng vµ phÇn mÒm sau ®©y :
PICMASTER® Real-Time In-Curcirt Emulator.
PROMATETM Universal Programmer.
PICSTART® Low-Cost Prototype Programmer.
PICDEM-1 Low-Cost Demonstration Board.
PICDEM-2 Low-Cost Demonstration Board.
MPASM Assembler.
MPSIM Softwave Simulator.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 22
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

C Compiler (MP-C).
Fuzzy logic development system (fuzzy TECH®-MP).
D−íi ®©y ta sÏ ®i vµo giíi thiÖu hai c«ng cô ph¸t triÓn phÇn mÒm th−êng ®−îc sö
dông lµ MPASM Assembler vµ C Compiler (MP-C).

MPASM Assembler
MPASM cã hç trî ®Çy ®ñ cho viÖc viÕt t¹o ra c¸c Macro trong ch−¬ng tr×nh m!
ng÷, viÕt ch−¬ng tr×nh b»ng ng«n ng÷ Assembly, cung cÊp c¸c m! nguån cã s½n vµ c¸c
®Þnh d¹ng file kh¸c nhau. Nã t¹o ra mét m«i tr−êng cho phÐp so¹n th¶o m! nguån,
biªn dÞch còng nh− gì rèi c¸c ch−¬ng tr×nh cña ng−êi sö dông lËp tr×nh cho c¸c chip vi
®iÒu khiÓn kh¸c nhau bao gåm c¶ hä PIC16Cxx, PIC 16Cxx vµ PIC16C5x.
MPASM cã c¸c ®Æc ®iÓm chÝnh sau ®©y trong viÖc hç trî ph¸t triÓn c¸c øng dông
cña ng−êi dïng:
+ Cho phÐp biªn dÞch ch−¬ng tr×nh tõ m! Assembly sang m! ®èi t−îng cho tÊt c¶
c¸c vi ®iÒu khiÓn cña h!ng Microchip.
+ Cho phÐp t¹o ra c¸c ch−¬ng tr×nh Macro.
+ T¹o ra tÊt c¶ c¸c file cÇn thiÕt (Object, Listing, Symbol, vµ c¸c d¹ng ®Æc biÖt
kh¸c) khi biªn dÞch vµ gì rèi cho c¸c hÖ vi ®iÒu khiÓn cña Microchip.
+ Hç trî viÖc sö dông vµ t¹o ra c¸c file ®Þnh d¹ng Hex, Decimal vµ Octal.

C Compiler (MP-C)
C«ng cô ph¸t triÓn phÇn mÒm MP-C lµ mét tr×nh biªn dÞch hoµn chØnh vµ ®−îc
tÝch hîp vµo trong m«i tr−êng ph¸t triÓn cho c¸c chip vi ®iÒu khiÓn hä PIC16/17 cña
Microchip. Tr×nh biªn dÞch nµy cã nhiÒu kh¶ n¨ng m¹nh mÏ vµ rÊt dÔ sö dông, ®iÒu
nµy khã cã thÓ t×m thÊy ë mét c«ng cô ph¸t triÓn nµo kh¸c.
§Ó dÔ dµng cho viÖc sö dông vµ gì rèi, tr×nh biªn dÞch MP-C sö dông c¸c ký hiÖu
th«ng tin thÝch hîp víi c¸c kÝ hiÖu cña c«ng cô ph¸t triÓn kh¸c lµ PICMASTER®
Universal Emulator.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 23
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Ngoµi ra hiÖn nay cßn cã mét sè phÇn mÒm kh¸c rÊt linh ho¹t, hç trî viÕt cho
nhiÒu dßng PIC, tõ 16/17/18 ®Õn dsPIC b»ng C nh− CCS C, HT PIC, HT PIC 18 hay
b»ng Pascal nh− MikroPascal ...

1.2.5 C«ng cô ph¸t triÓn cho hä vi ®iÒu khiÓn th«ng minh PSoC
PhÇn mÒm PSoC Designer lµ mét c«ng cô hoµn chØnh ®−îc tÝch hîp vµo hÖ
thèng hç trî cho viÖc ph¸t triÓn c¶ vÒ mÆt lËp tr×nh cÊu h×nh phÇn cøng vµ ch−¬ng tr×nh
phÇn mÒm cho c¸c chip vi ®iÒu khiÓn th«ng minh chÕ t¹o theo c«ng nghÖ PSoC cña
h!ng Cypress Microchip, vÝ dô nh− hä CY8C25-26xxx.
PhÇn mÒm PSoC Designer ®−îc x©y dùng trªn nÒn hÖ ®iÒu hµnh Windows vµ nã
cã thÓ ch¹y ®−îc trªn Windows98, Windows NT 4.0, Windows 2000, Windows
Millennium (Me), or Windows XP.
PSoC Designer gióp ng−êi sö dông lùa chän mét thuËt to¸n cÊu h×nh phÇn cøng
cho vi ®iÒu khiÓn, lËp tr×nh phÇn mÒm cho vi ®iÒu khiÓn, vµ gì rèi. HÖ thèng nµy cho
phÐp qu¶n lÝ c¬ së d÷ liÖu b»ng c¸c project, tÝch hîp phÇn gì rèi víi In-Circuit
Emulator, cho phÐp lËp tr×nh ngay trªn hÖ thèng (In-system programming), vµ hç trî
viÖc t¹o ra c¸c Macro CYASM cho ch−¬ng tr×nh b»ng hîp ng÷.
PSoC Designer còng hç trî viÖc lËp tr×nh b»ng ng«n ng÷ bËc cao C vµ biªn dÞch,
gì rèi c¸c ch−¬ng tr×nh ®ã cho c¸c thiÕt bÞ cña h!ng Cypress Microchip.

1.3 KIT vi ®iÒu khiÓn

1.3.1 Môc ®Ých


Kü thuËt vi ®iÒu khiÓn lµ m«n häc c¬ b¶n quan träng ®èi víi sinh viªn c¸c ngµnh
§iÒu khiÓn, Tù ®éng hãa , §iÖn tö, Tin häcv..v…. nh»m trang bÞ cho sinh viªn nh÷ng
kiÕn thøc cÇn thiÕt vÒ mét hä vi ®iÒu khiÓn, ë ®©y lµ hä 8051, nh− cÊu tróc, nguyªn t¾c
ho¹t ®éng cïng c¸c m¹ch phô trî, tËp lÖnh, c¸ch lËp tr×nh b»ng hîp ng÷, c¸c ph−¬ng
thøc ®iÒu khiÓn vµo ra vµ c¸c ph−¬ng ph¸p kÕt nèi thiÕt bÞ ngo¹i vi. Dùa trªn nÒn t¶ng
kiÕn thøc cña m«n häc kü thuËt vi ®iÒu khiÓn, sinh viªn tiÕp thu nh÷ng m«n häc kü
thuËt chuyªn ngµnh vµ tiÕp cËn dÔ dµng h¬n víi nh÷ng kü thuËt, trang thiÕt bÞ hiÖn

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 24
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

®¹i.§ång thêi cho phÐp sinh viªn cã c¸i nh×n trùc quan vµ kiÓm chøng, kh¼ng ®Þnh sù
®óng ®¾n c¸c kiÕn thøc ®! häc. Do vËy viÖc ®−a vµo gi¸o tr×nh phÇn x©y dùng thiÕt kÕ
Kit vi ®iÒu khiÓn lµ hÕt søc quan träng vµ rÊt thiÕt thùc ®èi sinh viªn chuyªn ngµnh tù
®éng hãa, ®iÖn tö viÔn th«ng, ®o l−êng ….. C¸c Kit vi ®iÒu khiÓn ®Òu ®−îc thiÕt kÕ dù
trªn c¸c hä vi ®iÒu khiÓn mµ sinh viªn ®ang häc trong gi¸o tr×nh nµy. Sinh viªn cã thÓ
dïng c¸c Kit vi ®iÒu khiÓn nµy ®Ó ®iÒu khiÓn c¸c qu¸ tr×nh nhiÖt ®é, ®iÒu khiÓn ®éng
c¬,®iÒu khiÓn c¸c ®èi t−îng giao th«ng, ®iÒu khiÓn c¸c qu¸ tr×nh s¶n xuÊt ……..

Trªn thÕ giíi cã rÊt nhiÒu nguån cung cÊp c¸c m¹ch Kit nãi trªn nh− :

+ Tõ c¸c h!ng cña n−íc ngoµi, vÝ dô nh− bé KIT MDA-EMS51 cña h!ng Midas
cña Hµn Quèc, KIT vµ phÇn mÒm ph¸t triÓn cho hä vi ®iÒu khiÓn PIC cña
MikroElektronika (Website http://www.mikroelektronika.co.yu/), hay mét h!ng næi
tiÕng kh¸c lµ OLIMEX (Website http://www.olimex.com) víi c¸c s¶n phÈm KIT ph¸t
triÓn cho c¸c dßng AVR, PIC, MAXQ, MSP430, ARM... §Æc ®iÓm cña c¸c s¶n phÈm
nµy lµ cã c¸c tÝnh n¨ng m¹nh, mÉu m! ®Ñp, phôc vô tèt nhu cÇu thùc hµnh cña m«n
häc. Tuy nhiªn gi¸ thµnh cña thiÕt bÞ lµ rÊt ®¾t (gi¸ kho¶ng 700$ ®èi víi KIT MDA-
EMS51, vµ viÖc ®Æt mua kh«ng ®−îc thuËn tiÖn.

+ Do c¸c trung t©m nghiªn cøu vµ c¸c tr−êng ®¹i häc trong n−íc tù chÕ t¹o.
Trong c¸c tr−êng ®¹i häc ( §¹i häc BK§N – bé m«n tù ®éng hãa ®! chÕ t¹o vµ s¶n
xuÊt hoµn chØnh KIT vi ®iÒu khiÓn phôc vô ®µo t¹o vµ s¶n xuÊt), c¸c thiÕt bÞ thùc
hµnh m«n häc vi ®iÒu khiÓn cã thÓ do c¸c c¸n bé gi¶ng d¹y m«n häc chÕ t¹o hoÆc do
c¸c sinh viªn tù chÕ t¹o d−íi sù h−íng dÉn cña gi¸o viªn. −u ®iÓm cña c¸c s¶n phÈm
chÕ t¹o trong n−íc lµ gi¸ thµnh rÎ mµ chÊt l−îng, mÉu m! kh«ng thua kÐm n−íc ngoµi.
CÊu h×nh cña s¶n phÈm vµ néi dung thùc hµnh phï hîp víi môc ®Ých, ch−¬ng tr×nh ®µo
t¹o, víi ®iÒu kiÖn häc tËp cña sinh viªn c¶ n−íc nãi chung vµ sinh viªn §HBK §µ
N½ng nãi riªng.

XuÊt ph¸t tõ t×nh h×nh thùc tÕ vµ sù cÇn thiÕt ®¸p øng nhu cÇu thùc hµnh trong
qu¸ tr×nh häc tËp m«n häc vi ®iÒu khiÓn nãi trªn, viÖc thiÕt kÕ, x©y dùngmét bé KIT vi

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 25
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

®iÒu khiÓn víi ®Çy ®ñ c¸c thµnh phÇn c¬ b¶n (nªu ë phÇn yªu cÇu), lµ vÊn ®Ò hÕt søc
cÇn thiÕt ®èi víi c¸ sinh viªn ngµnh tù ®éng hãa trong tr−êng ®¹i häc BK§N. §©y lµ
vÊn ®Ò träng t©m trong gi¸o tr×nh nµy.

1.3.2 Yªu cÇu thiÕt kÕ KIT vi ®iÒu khiÓn phôc vô thÝ nghiÖm :
+ PhÇn cøng : Bëi v× môc ®Ých cña s¶n phÈm lµ phôc vô cho viÖc ®µo t¹o nªn
cÊu h×nh phÇn cøng ph¶i râ rµng, dµn tr¶i. KÝch th−íc cña bé KIT gän nhÑ, dÔ dµng di
chuyÓn vµ b¶o qu¶n. C¸c thµnh phÇn cña bé KIT ®−îc thÓ hiÖn râ rµng, dÔ nhËn biÕt,
mét ®Æc ®iÓm n÷a lµ nã ®−îc ph©n thµnh c¸c module nhá vµ liªn kÕt víi module trung
t©m b»ng BUS, ®iÒu nµy còng gióp ng−êi häc cã thÓ nh×n thÊy mét c¸ch trùc quan c¸c
thµnh phÇn cña bµi thÝ nghiÖm sÏ tiÕn hµnh. §ång thêi viÖc tæ chøc thµnh c¸c module
nhá còng tiÖn cho viÖc söa chöa, thiÕt kÕ më réng, vµ cã thÓ dÔ dµng trong viÖc th−¬ng
m¹i hãa s¶n phÈm sau nµy.
+ C¸c thµnh phÇn cña bé KIT : Bé KIT cã ®Çy ®ñ c¸c thµnh phÇn c¬ b¶n cña
mét hÖ vi ®iÒu khiÓn vµ c¸c nguån tµi nguyªn ngo¹i vi phong phó, cho phÐp ng−êi sö
dông cã thÓ tù do ph¸t triÓn c¸c øng dông cña m×nh :
Bé vi ®iÒu khiÓn trung t©m.
C¸c bé nhí ROM (néi), RAM (néi/ngo¹i), EEPROM(néi/ngo¹i).
C¸c cæng vµo/ra t−¬ng tù, vµo/ra sè, c¸c cæng ghÐp nèi ngo¹i vi
më réng lËp tr×nh ®−îc.
Giao tiÕp bµn phÝm.
HiÓn thÞ LCD.
HiÓn thÞ tr¹ng th¸i b»ng ®Ìn LED .
HiÓn thÞ LED 7 thanh.
HiÓn thÞ ma trËn LED (8x8).
C¸c ®Çu vµo xung.
M¹ch ®iÒu khiÓn ®éng c¬ mét chiÒu, ®éng c¬ b−íc.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 26
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Giao tiÕp víi m¸y tÝnh PC qua cæng truyÒn th«ng nèi tiÕp (COM)
vµ song song (LPT).

+ C¸c bµi thÝ nghiÖm thùc hiÖn trªn bé KIT :


C¸c bµi c¬ b¶n : Gióp sinh viªn lµm quen víi hÖ lÖnh cña chip vi
®iÒu khiÓn, nhËp c¸c lÖnh vµ ch¹y ch−¬ng tr×nh ®Ó xem kÕt qu¶ thùc hiÖn cña c¸c lÖnh
®ã.

C¸c bµi n©ng cao : Gåm c¸c bµi thÝ nghiÖm phøc t¹p h¬n thùc hiÖn
sö dông c¸c thµnh phÇn ngo¹i vi trªn bé KIT. C¸c bµi thÝ nghiÖm thùc hiÖn viÖc ®iÒu
khiÓn mét qu¸ tr×nh t−¬ng tù hoÆc sè, vÝ dô : ®iÒu khiÓn hiÓn thÞ ®Ìn LED, LED 7
thanh, ma trËn LED, ®iÒu khiÓn vµo/ra sè - t−¬ng tù, ®iÒu khiÓn ®éng c¬ b−íc...

+ Thùc hiÖn c¸c bµi thÝ nghiÖm :


C¸c bµi tËp mÉu x©y dùng tr−íc : §i kÌm víi s¶n phÈm bé KIT lµ
mét hÖ thèng c¸c bµi tËp mÉu ®−îc x©y dùng cho c¸c øng dông trªn bé KIT nh− ®iÒu
khiÓn c¸c thµnh phÇn ngo¹i vi cña KIT, ®iÒu khiÓn vµo/ra t−¬ng tù - sè... Sinh viªn cã
thÓ ®äc h−íng dÉn sö dông vµ thùc hiÖn c¸c bµi tËp mÉu nµy trªn bé KIT.

C¸c bµi tËp do sinh viªn tù lËp tr×nh : Sau khi ®! n¾m râ cÊu h×nh
cña bé KIT vµ s¬ ®å bé nhí cña c¸c thµnh phÇn trªn bé KIT, sinh viªn cã thÓ tù lËp
tr×nh c¸c bµi thÝ nghiÖm trªn bé KIT theo ý ®Þnh riªng cña m×nh.

+ C«ng cô lËp tr×nh :


B»ng m¸y tÝnh PC : Cã thÓ sö dông ng«n ng÷ ASSEMBLY víi tr×nh biªn dÞch
hîp ng÷ s½n cã cña nhµ s¶n xuÊt (ASM51.exe) hoÆc c¸c c«ng cô ph¸t triÓn vÝ dô nh−
phÇn mÒm Keil, ProView32, 8051IDE hay 8051 Bascom… ®Ó lËp c¸c ch−¬ng tr×nh
cho bé KIT tõ m¸y tÝnh b»ng ng«n ng÷ C, Assembly hay BASIC, sau ®ã biªn dÞch
thµnh file d¹ng Hexa hoÆc Binary råi n¹p xuèng cho bé KIT thùc hiÖn c¸c ch−¬ng
tr×nh ®ã.

+ C«ng cô ph¸t triÓn cho bé KIT :

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 27
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn

Ch−¬ng tr×nh MONITOR : Ch−¬ng tr×nh Monitor ®iÒu hµnh ho¹t


®éng cña c¶ bé KIT vµ cho phÐp lËp tr×nh tõ m¸y tÝnh. Ch−¬ng tr×nh hç trî chÕ ®é gì
rèi b»ng c¸ch ch¹y tõng dßng lÖnh (STEP BY STEP) vµ quan s¸t c©u lÖnh võa ch¹y (vd
MOV A, #1) ®ång thêi còng quan s¸t ®−îc gi¸ trÞ cña c¸c thanh ghi ®Æc biÖt SFR, c¸c
PORT, c¸c « nhí RAM. Ngoµi ra ch−¬ng tr×nh Monitor cña bé KIT cßn cho phÐp söa
®æi néi dung cña c¸c thanh ghi ®Æc biÖt hoÆc néi dung c¸c « nhí trong cña chip vi ®iÒu
khiÓn chÝnh.

C«ng cô gì rèi : Trªn giao diÖn m¸y tÝnh cã thÓ sö dông c¸c phÇn
mÒm ph¸t triÓn vÝ dô phÇn mÒm Keil, ASM51, Proview32 ®Ó gì rèi cho viÖc lËp tr×nh.

(C¸c phÇn mÒm cã thÓ t×m thÊy ë th− môc Programming tools trªn CD ®i kÌm KIT)

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 28
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 r3i 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 ®3 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 h3ng 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

PC LCD
CPU
bµN PHÝM

A/D D/A VµO/RA §ÇU VµO LED stepper


LED
DIGITAL XUNG MATRIX motor
7
8x8
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 m3 ®Þ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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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Þ Ghi chó
0000h - 1FFFh EEPROM Chøa ch−¬ng tr×nh Monitor
4000h - 7FFFh RAM Chøa ch−¬ng tr×nh øng dông
8000h - PortA : §iÒu khiÓn LCD.
8001h - PortB : Data bus cña LCD.
8000h - 8003h 8255 (1)
8002h - PortC : NhËn m3 cña bµn phÝm.
8003h - CW : Thanh ghi ®iÒu khiÓn.
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
8004h - 8007h 8255 (5) matrix (c¸c cét xanh).
8006h - PortC: §iÒu khiÓn ®Ìn mµu ®á cña LED
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.
8008h - 800Bh 8255 (2)
800Ah - PortC : §iÒu khiÓn ADC0809.
800Bh - CW : Thanh ghi ®iÒu khiÓn.
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).
C000h - C003h 8255 (4)
C002h - PortC : HiÓn thÞ 2 LED 7 thanh (ph¶i).
C003h - CW : Thanh ghi ®iÒu khiÓn.
C004h – C007h 8255-EX BUS më réng dù tr÷, cã thÓ g¾n thªm 1 module kh¸c

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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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
EEPROM 0000h 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
AT28C64 -
8Kbyte 1FFFh 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1

RAM 4000h 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
HM62256 -
32Kbyte 7FFFh 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

8255-1 8000h 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KEYPAD 8001h 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
LCD 8002h 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
8003h 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

8255-5 8004h 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
MATRIX 8005h 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
LED 8006h 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0
8007h 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1

8255-2 8008h 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
ADC 8009h 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
DAC 800Ah 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
800Bh 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1

8255-3 800Ch 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0
XUNG Sè
800Dh 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1
STEPPER 800Eh 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
DC MOTOR 800Fh 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1

8255-4 C000h 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
LED 7 C001h 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
®o¹n C002h 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0
LED ®¬N C003h 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1

8255-EX C004h 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0
C005h 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1
C006h 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0
C007h 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 35

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 m3 nh− sau:
Ta sö dông 3 chip gi¶i m3 chuyªn dông lµ vi m¹ch 74HC138 ®Ó phôc vô viÖc
gi¶i m3 ®Þ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 m3 ®−îc tr×nh bµy trong b¶ng sau:

Chip gi¶i m· A B C G2A G2B


74HC138 - 1 (U9) A14 A15 0 0 0
74HC138 - 2 (U10) A2 A3 A4 Y2(U9) Y2(U9)
74HC138 - 3 (U11) A2 0 0 Y3(U9) Y3(U9)

§Çu vµo chän chip CS (Chip Select) cña c¸c chip EEPROM, RAM, vµ 8255 nh− b¶ng
sau:
Chip CS (Chip Select) Ghi chó
EEPROM - 28C64 A13 + Y0(U9) (*)
RAM - 62256 Y1(U9)
8255(1) - Keypad, LCD Y0(U10)
U9,U10,U11
8255(5) - LED ma trËn Y2(U10)
xem s¬ ®å
8255(2) - ADC, DAC Y3(U10)
nguyªn lý.
8255(3) - Xung sè, stepper, DC motor Y1(U10)
8255(4) - LED 7 ®o¹n, LED ®¬n Y0(U11)
8255(EX) 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µyB¶ng
cã logic
2.2.nh−
B¶nsau
®å/OE = /PSEN
bé nhí vµ gi¶i* m3
/RD.
®Þ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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 mM 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

VCC
VCC 1
R10

2
3
D0
D1
C PU
4 D2
5 D3
6 D4
7 D5
8 D6
9 D7

10k

VCC
CR3
VCC
ADRRESS: VCC
104
ADRRESS:
CR4
104
0000H-1FFFH GND 4000H-7FFFH
GND
U3 62256
U13 28 10 A0
U4 20 74HC573 U2 AT28C64 VCC A0 9 A1
A0 19 VCC 2 D0 D0 39 21 A8 A0 10 11 D0 D0 11 A1 8 A2
A1 18 Q0 D0 3 D1 D1 38 P0.0/AD0 P2.0/A8 22 A9 GND A1 9 A0 D0 12 D1 D1 12 D0 A2 7 A3
A2 17 Q1 D1 4 D2 D2 37 P0.1/AD1 P2.1/A9 23 A10 A2 8 A1 D1 13 D2 D2 13 D1 A3 6 A4
A3 16 Q2 D2 5 D3 D3 36 P0.2/AD2 P2.2/A10 24 A11 A3 7 A2 D2 15 D3 D3 15 D2 A4 5 A5
A4 15 Q3 D3 6 D4 D4 35 P0.3/AD3 P2.3/A11 25 A12 A4 6 A3 D3 16 D4 D4 16 D3 A5 4 A6
A5 Q4 D4 7 D5 D5 P0.4/AD4 P2.4/A12 A13 CR5 A5 A4 D4 D5 D5 D4 A6 A7
14 34 26 5 17 17 3
A6 Q5 D5 8 D6 D6 P0.5/AD5 P2.5/A13 A14 104 A6 A5 D5 D6 D6 D5 A7 A8
13 33 27 4 18 18 25
A7 12 Q6 D6 9 D7 D7 32 P0.6/AD6 P2.6/A14 28 A15 A7 3 A6 D6 19 D7 D7 19 D6 A8 24 A9
Q7 D7 P0.7/AD7 P2.7/A15 A8 25 A7 D7 D7 A9 21 A10
ALE T2 RXD VCC A9 A8 A10 A11
11 1 10 24 A14 1 23
LE 1 T2-EX 2 P1.0/T2 P3.0/RXD 11 TXD A10 21 A9 A11 2 A12
10 OE STEP 3 P1.1/T2-EX P3.1/TXD 12 /INT0 A11 23 A10 A13 26 A12 26 A13
14

GND 4 P1.2 P3.2/INT0 13 /INT1 U5A 7408 A12 2 A11 /CS_62256 20 A13 1
5 P1.3 P3.3/INT1 14 T0 /PSEN 1 A12 /WR 27 CS A14
6 P1.4 P3.4/T0 15 T1 3 22 GND 22 WR
GND
7 P1.5 P3.5/T1 16 /WR 2 27 OE OE 14
P1.6 P3.6/WR /RD WE VSS
Ñaàu vaøo cho 8
P1.7 P3.7/RD
17 7 20
CE
T0, T1, T2, T2-EX 19 30 ALE 28 GND
14

XTAL1 ALE/PROG VCC VCC


ôû cheá ñoä CAPTURE 18
XTAL2 PSEN
29 /PSEN
Cheá ñoä monitor thì INT1 ñöôïc noái GND

GND

J10 /EA 31
GND

RST 9 EA/VPP 40
1 T0 RST VCC CR2 GND
2 T1 CR1 104
20

3 T2 AT89C52
4 T2-EX Y 1.1 U11A
GND
CHÖÔNG TRÌNH
GND 104 1 VCC
VCC 3
VCC
NGÖÔØ I SÖÛ DUÏNG
2 A13
12 MHz 7432

VCC
7404 SW7.1
C1.1 C1.2 U6A 7 GND 1
CR6 CR7 1
2
/EA 104 104 2
33pF 33pF 2 1 3
14

P_COM U7B 3
1 14 4 /WR SWITCH
GND GND VCC
6 VCC 6
2 RXD OUT 5 GND
7 7432 7
3 TXD IN VCC
8
CR8
4
9
104 MONITOR
5 GND
GND

U8
16 MAX232/SO
TXD IN VCC RXD VCC VCC
13 12 CR10
R1IN R1OUT 9 CR9
8
R2IN R2OUT 104 VCC 104
CR12
C8.4 TXD 11 14 RXD OUT
T1IN T1OUT 104
10uF 10 7 74HC138 74HC138 74HC138
T2IN T2OUT
U9 16 U12 16 U10 16
1 A14 1 VCC 15 A2 1 VCC 15 /CS_8255_7SEG_LED A2 1 VCC 15 /CS_8255_LCD_KEY PAD
3 C1+ A15 2 A Y0 14 /CS_62256 2 A Y0 14 /CS_8255_7SEG_EX A3 2 A Y0 14 /CS_8255_MATRIX_LED
4 C1- GND 3 B Y1 13 3 B Y1 13 A4 3 B Y1 13 /CS_8255_ADC_DAC
5 C2+ C Y2 12 /CS_8255_7SEG_LED_EX12 C Y2 12 C Y2 12 /CS_8255_PULSE_STEPPER
2 C2- Y3 11 Y3 11 Y3 11
C8.1 6 V+ VCC 6 Y4 10 VCC 6 Y4 10 VCC 6 Y4 10
10uF V-15 4 G1 Y5 9 4 G1 Y5 9 4 G1 Y5 9
GND VCC G2A Y6 G2A Y6 G2A Y6
5 7 5 7 5 7
G2B 8 Y7 G2B 8 Y7 G2B 8 Y7
C8.2 GND GND GND
10uF C8.3
10uF GND

VCC GND

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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 m3
®Þ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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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
M¹ch chèt tÝn hiÖu 74HC573 19
Q0 D0
2
18 3
17 Q1 D1 4
16 Q2 D2 5
15 Q3 D3 6
14 Q4 D4 7
13 Q5 D5 8
12 Q6 D6 9
Q7 D7
11
LE 1
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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 mM ®Þa chØ 74HC138

U6

1 15
2 A Y0 14
3 B Y1 13
C Y2 12
6 Y3 11
4 G1 Y4 10
5 G2A Y5 9
G2B Y6 7
Y7

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 m3 ®Þ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 m3 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 12
8 R1IN R1OUT 9
R2IN R2OUT
11 14
10 T1IN T1OUT 7
T2IN T2OUT
1
3 C1+
4 C1-
5 C2+
2 C2-
6 V+
V-

MAX232
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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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
VCC A0 9
11 A1 8
12 D0 A2 7
13 D1 A3 6
15 D2 A4 5
16 D3 A5 4
17 D4 A6 3
18 D5 A7 25
19 D6 A8 24
D7 A9 21
A10 23
A11 2
A12 26
20 A13 1
27 CS A14
22 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 AT28C64
10 11
9 A0 D0 12
8 A1 D1 13
7 A2 D2 15
6 A3 D3 16
5 A4 D4 17
4 A5 D5 18
3 A6 D6 19
25 A7 D7
24 A8 1
21 A9 RDY/BUSY
23 A10
2 A11
A12
22
27 OE
20 WE
CE GND
28
VCC
14

H×nh 2.9 – S¬ ®å ch©n cña 28C64


Ngoµi c¸c linh kiÖn chÝnh ®3 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 R9
VCC CR11
VCC
GND
GND 5K
104 LCD1
DATA BUS LCD BACK LIGHT POWER
U1526 8255 GND 1
D0 34 VCC 4 VCC 2
D1 D0 PA0 SW7.8 J13
33 3 3
D2 32 D1 PA1 2 LCD_RS 4 1 2
D3 31 D2 PA2 1 LCD_R/W 5 VCC 2 1 GND 1
D4 30 D3 PA3 40 LCD_E1 6 2 3
D5 29 D4 PA4 39 LCD_E2 7 3
D5 PA5 HEADER 2
D6 28 38 LCD_D0 8
D7 27 D6 PA6 37 LCD_D1 9 SWITCH
D7 PA7 LCD_D2 10
A0 9 18 LCD_D0 LCD_D3 11
A1 8 A0 PB0 19 LCD_D1 LCD_D4 12
A1 PB1 20 LCD_D2 LCD_D5 13
GND 35 PB2 21 LCD_D3 LCD_D6 14
/RD 5 RESET PB3 22 LCD_D4 LCD_D7 15 VCC
/WR 36 RD PB4 23 LCD_D5 16
/CS_8255_LCD_KEYPAD 6 WR PB5 24 LCD_D6
CS PB6 25 LCD_D7 VCC
PB7
14
PC0 15
PC1 16
PC2 17 R12.1 R12.2
PC3 13 10K 10K
PC4 J14
12
PC5 11 U14 AT89C2051
PC6 10 2 12 ROW1 8
7 PC7 3 P3.0/RXD P1.0/AIN0 13 ROW2 7
GND 6 P3.1/TXD P1.1/AIN1 14 ROW3 6
GND GND 7 P3.2/INT0 P1.2 15 ROW4 5
8 P3.3/INT1 P1.3 16 COL1 4
9 P3.4/T0 P1.4 17 COL2 3
/INT0 11 P3.5/T1 P1.5 18 COL3 2
P3.7 P1.6 19 COL4 1
P1.7
5

8255_1
XTAL1 4 KEYPAD
XTAL2
1
RST/VPP

KEYPAD, LCD 20 Y12.1


10

VCC
GND

C12.2 C12.3

ADRRESS:
GND 12 MHz
33p 33p

PA_1:8000H
GND GND
VCC VCC VCC

VCC

PB_1:8001H C12.1

10uF
BT22
CR13

PC_1:8002H
RST
104
GND
R12.3

CW_1:8003H
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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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
BT6 BT7 BT8 BT9 BT10

F2

8 9 A B
BT11 BT12 BT13 BT14 BT15

J11

1
2
ROW1
ROW2
BACK SPACE
3 ROW3
4 ROW4
5
6
COL1
COL2
C D E F
7 COL3 BT16 BT17 BT18 BT19 BT20
8 COL4

HEADER 8
ENTER

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 h3ng 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 m3 vµ göi d÷ liÖu m3 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 12
3 P3.0/RXD P1.0/AIN0 13
6 P3.1/TXD P1.1/AIN1 14
7 P3.2/INT0 P1.2 15
8 P3.3/INT1 P1.3 16
9 P3.4/T0 P1.4 17
11 P3.5/T1 P1.5 18
P3.7 P1.6 19
P1.7
5
XTAL1 4
XTAL2
1
RST/VPP
H×nh 2.12 - S¬ ®å ch©n cña 89C2051
20
VCC

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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 R8

VCC
GND
5K
LCD
LCD BACK LIGHT POWER
TÝn hiÖu ®iÒu khiÓn GND
VCC
1
2
3
LCD_RS 4 SW7.2 J12
LCD_R/W 5 1 2
LCD_E1 6 VCC 2 1 GND 1
LCD_E2 7 2 3
LCD_D0 8 3
HEADER 2
LCD_D1 9
LCD_D2 10 SWITCH
LCD_D3 11
LCD_D4 12
LCD_D5
LCD_D6
LCD_D7
13
14
15
LCD 24x8
16
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 ®3 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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 ®3 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 ®3 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

Sau ®©y lµ b¶ng m3 lÖnh cña LCD:



(Hexa) LÖnh ®Õn thanh ghi cña LCD
1 Xãa mµn h×nh hiÓn thÞ
2 Trë vÒ ®Çu dßng
4 DÞch con trá sang tr¸i
5 DÞch con trá sang ph¶i
6 DÞch hiÓn thÞ sang ph¶i
7 DÞch hiÓn thÞ sang tr¸i
8 T¾t con trá, t¾t hiÓn thÞ
A T¾t hiÓn thÞ, bËt con trá
C BËt hiÓn thÞ, t¾t con trá
E BËt hiÓn thÞ, nhÊp nh¸y con trá
F T¾t con trá, nhÊp nh¸y con trá
10 DÞch vÞ trÝ con trá sang tr¸i
14 DÞch vÞ trÝ con trá sang ph¶i
18 DÞch toµn bé hiÓn thÞ sang tr¸i
1C DÞch toµn bé hiÓn thÞ sang ph¶i
80 §−a con trá vÒ ®Çu dßng thø nhÊt (*)
C0 §−a con trá vÒ ®Çu dßng thø hai (*)
38 Hai dßng vµ ma trËn 5x7

(*) §Þa chØ cña c¸c dßng cô thÓ cña LCD 2408 nh− sau
Dßng 1 0080H Dßng 2 0098H
Dßng 3 00B8H Dßng 4 00D8H
LCD 2408 ®−îc ph©n lµm 2 nöa mµn h×nh vµ ch©n E1, E2 ®−îc dïng ®Ó chän
lµm viÖc víi c¸c mµn h×nh theo thø tù 1, 2, møc tÝch cùc cña c¸c ch©n nµy lµ møc "1".
Cô thÓ, vÝ dô ta muèn in kÝ tù 'A' lªn dßng 2 cña nöa mµn h×nh 2 (d−íi) cña LCD,
ta thùc hiÖn:
- §Æt E1 =0, E2 = 1
- ChuyÓn sang thanh ghi lÖnh: ®Æt RS=0
- Göi m3 lÖnh ra LCD: mov LCD_DATA_PORT, #DONG2

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 49

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

- ChuyÓn sang thanh ghi d÷ liÖu: ®Æt RS =1


- In kÝ tù 'A': mov LCD_DATA_PORT , #'A'

2.3.3.3 Vi m¹ch më réng cæng giao tiÕp cã thÓ lËp tr×nh 8255

Do 89C52 chØ cã 32 ®−êng xuÊt nhËp nªn ta sö dông 8255 - mét vi m¹ch chuyªn
U19 dông cña h3ng Intel ®Ó më réng I/O cña 89C52. Sau ®©y
34 4
33 D0
D1
PA0
PA1
3 ta t×m hiÓu kü vÒ vi m¹ch nµy.
32 2
31 D2 PA2 1
30 D3
D4
PA3
PA4
40 §©y lµ vi m¹ch cña h3ng Intel dïng ®Ó më réng
29 39
28 D5 PA5 38
27 D6
D7
PA6
PA7
37 thªm c¸c cæng giao tiÕp cho c¸c vi ®iÒu khiÓn còng nh−
9 18
8 A0
A1
PB0
PB1
19 c¸c vi ®iÒu khiÓn. Nã ®−îc sö dông rÊt réng r3i trong
20
35 PB2 21
5 RESET
RD
PB3
PB4
22 c¸c øng dông ®iÒu khiÓn bëi tÝnh linh ho¹t vµ ®é æn
36 23
6 WR PB5 24
CS PB6
PB7
25 ®Þnh ho¹t ®éng. Chip cã 3 cæng A, B, C ®−îc truy cËp
14
PC0
PC1
15 riªng biÖt. C¸c cæng nµy ®Òu cã kh¶ n¨ng lËp tr×nh lµm
16
PC2 17
PC3
PC4
13 cæng vµo hoÆc ra ®éc lËp. Ngoµi ra c¸c cæng cña 8255
12
PC5 11
8255 PC6
PC7
10 cßn cã kh¶ n¨ng b¾t tay, do vËy, cho phÐp giao diÖn víi
c¸c thiÕt bÞ kh¸c còng cã tÝn hiÖu b¾t tay, vÝ dô nh− m¸y
H×nh 2.14
S¬ ®å ch©n cña 8255 in.
- PA0 - PA7, PB0-PB7: C¶ 8 bit cña cæng A, B
cã thÓ ®−îc lËp tr×nh thµnh 8 bit vµo, 8 bit ra, hoÆc c¶ 8 bit 2 chiÒu vµo/ra.
- PC0 - PC7: TÊt c¶ c¸c bit cña cæng C ®Òu cã thÓ ®−îc lËp tr×nh thµnh c¸c bit
vµo hoÆc c¸c bit ra. 8 bit nµy còng cã thÓ ®−îc chia lµm 2 phÇn: PhÇn cao (PC4-
PC7) lµ CU (Uppers bits) vµ phÇn thÊp (PC0 - PC3) lµ CL (Lower Bits). Mçi phÇn
cã thÓ ®−îc sö dông ®éc lËp lµm ®Çu vµo hoÆc ra. Ngoµi ra, tõng bit cña cæng C tõ
PC0 - PC7 còng cã thÓ ®−îc lËp tr×nh riªng rÏ.
- D0 D7: c¸c ch©n d÷ liÖu D0-D7 cña 8255 ®−îc nèi tíi c¸c ch©n d÷ liÖu cña bé
vi ®iÒu khiÓn ®Ó cho phÐp trao ®æi d÷ liÖu gi÷a chóng.
- RD, WR: Lµ hai tÝn hiÖu ®iÒu khiÓn tÝch cùc møc thÊp vµ lµ c¸c ch©n vµo cña
8255. C¸c ch©n tÝn hiÖu cña /RD /WR cña 8031/51 ®−îc nèi ®Õn c¸c ch©n nµy.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 50

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

- RESET: Lµ tÝn hiÖu vµo tÝch cùc møc cao ®−îc dïng ®Ó xãa thanh ghi ®iÒu
khiÓn. Khi ch©n RESET ®−îc kÝch ho¹t th× tÊt c¶ c¸c cæng ®−îc khëi ®éng l¹i lµm
c¸c cæng vµo. Trong nhiÒu thiÕt kÕ th× ch©n nµy ®−îc nèi tíi ®Çu ra RESET cña
bus hÖ thèng hoÆc ®−îc nèi ®Êt ®Ó kh«ng bÞ kÝch ho¹t. Còng nh− tÊt c¶ c¸c ch©n
vµo cña IC, ch©n nµy còng cã thÓ ®Ó hë.
- A0, A1, /CS: /CS lµ ch©n chän chip, cßn A0, A1 cho phÐp chän cæng. C¸c ch©n
nµy ®−îc dïng ®Ó truy cËp c¸c cæng A, B, C hoÆc thanh ghi ®iÒu khiÓn nh− tr×nh
bµy ë b¶ng sau:
/CS A1 A0 Chän cæng
0 0 0 Cæng A
0 0 1 Cæng B
0 1 0 Cæng C
0 1 1 Thanh ghi ®iÒu khiÓn
1 x x 8255 Kh«ng ®−îc chän

B¶ng chän cæng cña 8255

C¸c chÕ ®é lµm viÖc cña 8255


C¸c cæng A, B, C cña 8255 ®−îc dïng ®Ó nhËp xuÊt d÷ liÖu, cßn thanh ghi ®iÒu
khiÓn th× ®−îc lËp tr×nh ®Ó chän chÕ ®é lµm viÖc cho c¸c cæng nµy. C¸c cæng cña
8255 ®−îc lËp tr×nh theo c¸c chÕ ®é sau:
1. ChÕ ®é 0 (Mode 0): §©y lµ chÕ ®é vµo/ra ®¬n gi¶n. ë 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. V×
c¸c øng dông liªn quan ®Õn 8255 chñ yÕu sö dông chÕ ®é nµy vµ KIT còng
chØ sö dông chÕ ®é nµy nªn chóng ta sÏ t×m hiÓu kü h¬n.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 51

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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. ChÕ ®é 1 (Mode 1): ë chÕ ®é nµy, cæng A ,B cã thÓ dïng lµm cæng vµo/ ra
hai chiÒu víi kh¶ n¨ng b¾t tay. TÝn hiÖu b¾t tay ®−îc cÊp bëi c¸c bit cña
cæng C.
3. ChÕ ®é 2 (Mode 2): ë chÕ ®é nµy, cæng A cã thÓ ®−îc dïng lµm cæng vµo/ra
hai chiÒu víi kh¶ n¨ng b¾t tay, tÝn hiÖu b¾t tay ®−îc cÊp bëi c¸c bit cæng C.
Cæng B cã thÓ ®−îc dïng nh− ë chÕ ®é vµo/ ra ®¬n gi¶n hoÆc ë chÕ ®é b¾t
tay Mode 1.
4. ChÕ ®é BSR: §©y lµ chÕ ®é thiÕt lËp / xãa bit (Bit Set/Reset). ë chÕ ®é nµy
chØ cã nh÷ng bit riªng rÏ cña cæng C cã thÓ lËp tr×nh ®−îc.
LËp tr×nh chÕ ®é vµo ra ®¬n gi¶n
H3ng Intel gäi chÕ ®é 0 lµ chÕ ®é vµo / ra c¬ së. Mét thuËt ng÷ kh¸c ®−îc sö dông
phæ biÕn ®ã lµ vµo ra ®¬n gi¶n. ë chÕ ®é nµy th× bÊt k× c«ng A, B, hay C ®Ó thÓ ®−îc
lËp tr×nh lµm cæng vµo hoÆc ra riªng rÏ. Tuy nhiªn mét cæng kh«ng thÓ ®ång thêi võa
lµ ®Çu vµo l¹i võa lµ ®Çu ra.

Nhãm A Nhãm B

D7 D6 D5 D4 D3 D2 D1 D0

Chän mode Cæng C


Cæng A 0 = Mode 0
1 = I/O Mode 1= Input PC3– PC0
0 = BSR 1 = Mode 1 1= Input
0 = Output
Mode 0 = Output

Cæng C
Chän mode PC7 – PC4 Cæng B
00 = Mode 0 1= Input 1= Input
01 = Mode 1 0 = Output 0 = Output
1x = Mode 2

H×nh 2.15 Khu«n d¹ng tõ ®iÒu khiÓn cña 8255 (chÕ ®é vµo ra c¬ së)

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 52

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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.4 Khèi vµo/ra ADC, DAC

A D C, D A C
CAÙC BOÄ BIEÁN ÑOÅI TÖÔNG TÖÏ SOÁ, SOÁ TÖÔNG TÖÏ
ÑAÀU VAØ O
TÖÔNG TÖÏ
VCC

VCC
CR1
104
VCC
J7 U18
U14 ADC0809/LCC SW1

26
U1 8255
D0 34 4 4PA0 8 4PA0 26 17 4PA0 2 1

VCC
D1 33 D0 PA0 3 4PA1 7 4PA1 27 IN0 DB0 14 4PA1 VOUT VS+
TO BOARD NGOAI VI 3 D2 32 D1 PA1 2 4PA2 6 4PA2 28 IN1 DB1 15 4PA2
LED 7 DOAN, LED MATRIX 8X8 D3 31 D2 PA2 1 4PA3 5 4PA3 1 IN2 DB2 8 4PA3 LM35/TO
D4 30 D3 PA3 40 4PA4 4 2 IN3 DB3 18
D0 1 2 D5 29 D4 PA4 39 4PA5 VCC 3 3 IN4 DB4 19
D1 3 J6 4 D6 28 D5 PA5 38 4PA6 2 4 IN5 DB5 20 SW DIP-4 R3
D2 5 6 D7 27 D6 PA6 37 4PA7 1 5 IN6 DB6 21
D3 7 8 D7 PA7 IN7 DB7
D4 9 10 /RD 5 18 4PB0 4PC0 25 7 4PC5
D5 11 12 /WR 36 RD PB0 19 4PB1 C14.1 10uF 4PC1 24 ADDA EOC 10K R4
D6 13 14 A0 9 WR PB1 20 4PB2 HEADER 8 4PC2 23 ADDB
D7 15 16 A1 8 A0 PB2 21 4PB3 GND ADDC
A0 17 18 35 A1 PB3 22 4PB4 12
A1 19 20 /CS 6_8255 6 RESET PB4 23 4PB5 GND 16 +VREF 10K R5
/RD 21 22 CS PB5 24 4PB6 -VREF
/WR 23 24 PB6 25 4PB7 CLK ADC 10
/CS_8255_7SEG_LED 25 26 PB7 CLK
/CS_8255_MATRIX_LED 27 28 14 4PC0 4PC3 22 10K
29 30 PC0 15 4PC1 4PC4 9 ALE GND
-12V 31 32 -12V GND PC1 16 4PC2 6 OE
12V 33 34 12V PC2 17 4PC3 START
GND 35 36 GND PC3 13 4PC4 VCC 11
-5V -5V PC4 4PC5 VCC VCC
37 38 12
VCC 39 40 VCC PC5 11
PC6 CR14
10
PC7 104
7
8255_4_5 GND GND

VCC
GND

8255_2
VCC

ÑAÀU RA TÖÔNG TÖÏ


12V
CR15.1

ADC, DAC
C

7
GND J_OUT ANALOG
GND 3 U17A HA17741
+

ADRRESS:
U15 13 DAC0808 6 1
4PB7 12 V+ 4 2 2
A8 IOUT -
4PB6 11
4PB5 10 A7
CLOCK for ADC
PA_2:8004H

4
4PB4 9 A6 2
4PB3 8 A5 IOUT GND HEADER 2
CR16.1 4PB2 7 A4 -12V
A3

PB_2:8005H
4PB1 6 GND
R2 4PB0 5 A2 16
330pF R15.1 R15.3 A1 COMP R17.1
2.7K CR16.2 VCC 14

PC_2:8006H U16 LM555 GND VR+


CLK ADC 3 7 1.5K 1K 15 4K7
OUT DSCHG VR- C15.1
10nF 3

CW_2:8007H
V- 0.1uF
5
CV 4 R15.2
RST R1
6 VCC 1.5K
THR 2
TRG 6.9K
8 -5V
1 VCC R15.4
GND
1K

GND

H×nh 2.16 – S¬ ®å nguyªn lý khèi vµo/ra ADC, DAC

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 53

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

C¸c linh kiÖn chÝnh cã trong m¹ch:

ADC0809
26 17
27 IN0 DB0 14
28 IN1 DB1 15
1 IN2 DB2 8
2 IN3 DB3 18
3 IN4 DB4 19
4 IN5 DB5 20
5 IN6 DB6 21
IN7 DB7
25 7
24 ADDA EOC
23 ADDB
ADDC
12
16 +VREF
-VREF
10
CLK
22
9 ALE
6 OE
START
11
VCC

H×nh 2.17 - S¬ ®å ch©n cña ADC 0809


ADC0809 lµ vi m¹ch chuyÓn ®æi tÝn hiÖu tõ t−¬ng tù sang sè 8 bit. Vi m¹ch nµy
®−îc chÕ t¹o theo c«ng nghÖ CMOS. Bé chuyÓn ®æi t−¬ng tù sè nµy sö dông ph−¬ng
ph¸p chuyÓn ®æi xÊp xØ. Sai sè cña phÐp chuyÓn ®æi lµ 1 bit. Tuy nhiªn do yªu cÇu vÒ
®é chÝnh x¸c cña tÝn hiÖu trong bé KIT kh«ng qu¸ cao nªn sai sè nh− trªn lµ chÊp nhËn
®−îc. Sau ®©y lµ mét vµi ®Æc ®iÓm cña vi m¹ch ADC0809 :

- Nguån nu«i 5 V. D¶i tÝn hiÖu lèi vµo t−¬ng tù 5V khi nguån nu«i lµ +5V.
Cã thÓ më réng thang ®o b»ng c¸c gi¶i ph¸p kü thuËt cho tõng m¹ch cô thÓ.

- DÔ dµng giao tiÕp víi vi ®iÒu khiÓn v× ®Çu ra cã bé ®Öm 3 tr¹ng th¸i nªn cã
thÓ ghÐp trùc tiÕp vµo kªnh d÷ liÖu cña hÖ vi ®iÒu khiÓn.

- Tæng sai sè ch−a chØnh 1/2 LSB.

- Thêi gian chuyÓn ®æi 100 s .

- TÇn sè xung clock 10kHz – 1028 kHz.

- §¶m b¶o sai sè tuyÕn tÝnh trong d¶i nhiÖt ®é tõ –400C 85OC.

Chøc n¨ng cña c¸c ch©n cña ADC0809 :


Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 54

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

- IN0 – IN7 : 8 ch©n ®Çu vµo t−¬ng tù.

- A, B, C : c¸c ch©n tÝn hiÖu chän kªnh.

- C¸c ch©n D0 D7 : lµ c¸c ®Çu ra sè.

- ALE : ch©n tÝn hiÖu cho phÐp chèt sè liÖu ®Çu vµo.

- Start : xung cho phÐp b¾t ®Çu chuyÓn ®æi.

- Clk : ®Çu vµo cung cÊp xung clock cho ADC

- Ref(+) : ®iÖn ¸p vµo chuÈn +5v

- Ref(-) : ®iÖn ¸p vµo chuÈn 0

- OE : Ch©n cho phÐp xuÊt d÷ liÖu ®3 chuyÓn ®æi ra DataBus.

- EOC : Cho biÕt qu¸ tr×nh chuyÓn ®æi ®3 kÕt thóc.

- Vcc: nguån cung cÊp

Ho¹t ®éng cña ADC0809 : §Çu tiªn ta ph¸t tÝn hiÖu vµo 3 ch©n A, B, C ®Ó chän
cæng vµo t−¬ng tù. §Ó b¾t ®Çu cho ADC0809 ho¹t ®éng, ta ph¸t xung vµo ch©n Start.
TiÕp tôc ph¸t xung ALE ®Ó chèt d÷ liÖu t−¬ng tù ®Çu vµo. Sau khi qu¸ tr×nh chuyÓn ®æi
t−¬ng tù – sè ®3 diÔn ra xong. ADC0809 sÏ tù ph¸t ra mét xung trªn ch©n EOC ®Ó b¸o
cho biÕt ®3 kÕt thóc qu¸ tr×nh chuyÓn ®æi. §Ó d÷ liÖu ®−îc ®−a ra c¸c ch©n D0 D7, ta
ph¸t mét xung vµo ch©n OE cña ADC0809. B©y giê cã thÓ ®äc d÷ liÖu ®−îc.

Trong m¹ch nguyªn lý cña khèi vµo/ra ADC-DAC, ADC0809 ®−îc ®iÒu khiÓn
bëi 2 cæng cña 8255. Cæng PA cña 8255 ®−îc nèi víi c¸c ch©n ra sè cña ADC, cßn
viÖc ph¸t xung ®iÒu khiÓn ADC ®−îc thùc hiÖn bëi 4 bit thÊp cña cæng PC.

LM555
§©y lµ vi m¹ch dïng ®Ó t¹o xung clock cho ADC0809. Vi m¹ch nµy ®−îc sö
dông réng r3i trong c¸c øng dông cÇn t¹o ra xung vu«ng cã tÇn sè thay ®æi. D−íi ®©y
lµ s¬ ®å khèi vµ c¸ch lµm viÖc cña IC nµy.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 55

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

U1
3 7
OUT DSCHG
5
CV 4
RST 6
THR 2
TRG
8
VCC

LM555

H×nh 2.18 - S¬ ®å ch©n LM555

LM35

Trong phÇn chuyÓn ®æi ADC, DAC ngoµi ®Çu vµo tÝn hiÖu t−¬ng tù b»ng c¸c
biÕn trë vi chØnh, trªn KIT cßn trang bÞ mét c¶m biÕn nhiÖt ®é, hä LM35. §©y lµ hä
c¶m biÕn nhiÖt, m¹ch tÝch hîp, chÝnh x¸c cao, cã ®iÖn ¸p ®Çu ra tû lÖ tuyÕn tÝnh víi
nhiÖt ®é theo thang ®é C. Hä c¶m biÕn nµy kh«ng yªu cÇu c¨n chØnh ngoµi v× vèn nã
®3 ®−îc c¨n chØnh. Hä nµy cho ®iÖn ¸p ra 10mV øng víi thay ®æi nhiÖt ®é lµ 10C.
13

U6
12 4
V+

11 A8 IOUT
10 A7
9 A6 2
8 A5 IOUT
7 A4
6 A3
5 A2 16
A1 COMP
14
VR+
15
V-

VR-
DAC0808
3

H×nh 2.20 - S¬ ®å ch©n cña DAC0808 H×nh 2.19 S¬ ®å ch©n cña LM35

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 56

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

DAC0808
DAC0808 lµ vi m¹ch chuyÓn ®æi tÝn hiÖu tõ sè sang t−¬ng tù cã ®é chÝnh x¸c 8
bit. TÝn hiÖu t−¬ng tù lµ dßng (Iout) vµ nÕu nèi ®iÖn trë tíi ch©n Iout th× kÕt qu¶ sÏ ®−îc
chuyÓn thµnh ®iÖn ¸p. Dßng tæng ®−îc cÊp bëi ch©n Iout lµ mét hµm sè nhÞ ph©n cña
c¸c ®Çu vµo D0 – D7 cña DAC0808 vµ ®−îc tÝnh theo Iref nh− sau:
D7 D6 D5 D4 D3 D 2 D1 D0
I OUT I REF
2 4 8 16 32 64 128 256

Dßng ®Çu vµo IREF ph¶i ®−îc ¸p vµo ch©n 14. Dßng IREF th−êng ®¹t gi¸ trÞ 2mA.
NÕu IREF = 2mA, cßn tÊt c¶ ®Çu vµo nèi víi møc cao th× dßng ®iÖn cùc ®¹i ë ®Çu ra lµ
1.99mA.
ChuyÓn IOUT sang ®iÖn ¸p ë DAC0808
NÕu nèi ®iÖn trë tíi ch©n IOUT th× dßng ®−îc chuyÓn thµnh ®iÖn ¸p vµ cã thÓ kiÓm
tra ®Çu ra b»ng m¸y hiÖn sãng. Tuy nhiªn, nh− vËy sÏ lµm gi¶m ®é chÝnh x¸c do bÞ
thay ®æi trë kh¸ng vµo cña t¶i. V× vËy dßng IREF cÇn ®−îc c¸ch ly b»ng c¸ch dïng
khuyÕch ®¹i thuËt to¸n, vÝ dô nh− HA17741 víi ®iÖn trë håi tiÕp Rf = 5 K.
Chøc n¨ng c¸c ch©n :
- A1 A8 : C¸c ®Çu vµo sè
- VR+ : §iÖn ¸p chuÈn d−¬ng
- VR- : §iÖn ¸p chuÈn ©m
- V- (VEE) : §iÖn ¸p so s¸nh hiÖu chØnh
- V+ : §iÖn ¸p nguån cung cÊp
- COMP : Ch©n tÝn hiÖu so s¸nh
- IOUT : Dßng ra d−¬ng
- /IOUT : Dßng ra ©m
Sau ®©y lµ m¹ch øng dông phæ biÕn nhÊt cña ADC0808 :

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 57

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 58

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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.5 Khèi vµo/ra xung sè, ®iÒu khiÓn ®éng c¬ b−íc

VAØ
O R A X U N G SOÁ
ÑIEÀ
U KH IEÅ
N Ñ OÄ
N G C Ô B ÖÔ C
Ù
Ñ OÄ
NG CÔ 1 CH I E À
U

VCC

CR3
104
GND
ÑAÀU VAØO SOÁ VCC
RN2
U3 26 8255 SW1
D0 34 VCC 4 3PA0 1
D1 33 D0 PA0 3 3PA1 3PA0 3PA0 2
D2 32 D1 PA1 2 3PA2 3PA1 3PA1 3
D3 31 D2 PA2 1 3PA3 3PA2 3PA2 4
D4 30 D3 PA3 40 3PA4 3PA3 3PA3 5
D5 29 D4 PA4 39 3PA5 3PA4 3PA4 6
D5 PA5
VAØO RA XUNG SOÁ
D6 28 38 3PA6 3PA5 3PA5 7
D7 27 D6 PA6 37 3PA7 3PA6 3PA6 8
D7 PA7 3PA7 3PA7 9
ÑOÄNG CÔ BÖÔÙC /RD
/WR
5
36 RD PB0
18
19
3PB0
3PB1
D0 1 2 A0 9 WR PB1 20 3PB2 10k
D1 3 J5 4 A1 8 A0 PB2 21 3PB3
D2 5 6 35 A1 PB3 22 3PB4 SW DIP-10
D3 7 8 /CS_8255_PULSE_STEPPER 6 RESET PB4 23 3PB5
D4 9 10 CS PB5 24
D5 PB6 D22.13
11 12 25
D6 13 14 PB7 3PA0
D7 15 16 14 3PC0
A0 17 18 GND PC0 15 3PC1
A1 19 20 PC1 16 3PC2 LED
/RD PC2 3PC3 D22.14
21 22 17
/WR 23 24 PC3 13 3PC4 3PA1
/CS_8255_PULSE_STEPPER 25 26 PC4 12 3PC5
27 28 PC5 11 3PC6
29 30 PC6 10 3PC7 LED
-12V -12V PC7 D22.15 RN1
31 32 7 VCC
12V 33 34 12V GND 3PA2 1
GND 35 36 GND 2
-5V 37 38 -5V GND 3
VCC 39 40 VCC LED 4
D22.16
5
3PA3 6
8255_3 7
8
LED 9
D22.17

8255_3 3PA4
1k

XUNG SOÁ, ÑOÄNG CÔ BÖÔÙC


LED
D22.18
J10
3PA5

ADRRESS: VCC
1
2 LED
D22.19

PA_3:8008H
SW22.9 R22.9 3PA6
3PC4 3PC4 3PC0
HEADER 2 3PC1
LED

PB_3:8009H
1K J11 3PC2
3PC3 D22.20
SW22.10 R22.10 3PA7
3PC5 3PC5 1

PC_3:800AH 1K
2
LED

CW_3:800BH SW22.11
3PC6 3PC6
R22.11 J9
HEADER 2

VCC 12V
1K 1 VCC
2 GND
SW2
SW22.12 R22.12
3PC7 3PC7
HEADER 2
1K
R22.21 D22.9
3PC4
ÑAÀU VAØO XUNG SW KEY -SPDT

ÑAÀU VAØO XUNG 1K


R22.22 D22.10 TÖØ CAÙC THIEÁT BÒ NGOAØI
DAÏNG NUÙT AÁN
J_STEPMOTOR
3PC5 J6 J7

1K
NHÖ ENCODER 3PB0 1
U4

18
1
2
3 OUT5
2
1 OUT6
2
1
3PB1 2 IN1 OUT1 17 4
R22.23 D22.11 3PB2 IN2 OUT2
3 16 5
3PC6 3PB3 4 IN3 OUT3 15 6
3PB4 5 IN4 OUT4 14 OUT5 HEADER 2 HEADER 2
3PB5 6 IN5 OUT5 13 OUT6
1K 7 IN6 OUT6 12 HEADER 6
IN7 OUT7
ÑOÄNG CÔ BÖÔÙC ÑOÄNG CÔ 1 CHIEÀU
8 11
R22.24 D22.12 IN8 OUT8
3PC7 10
COM

1K ULN2803

H×nh 2.21 - Khèi vµo/ra xung sè vµ ®iÒu khiÓn


®éng c¬ b−íc, ®éng c¬ 1 chiÒu

Linh kiÖn chÝnh cã trong m¹ch :

§éng c¬ b−íc
§éng c¬ b−íc thùc hiÖn viÖc chuyÓn c¸c xung ®iÖn thµnh c¸c b−íc quay mÞn cña
motor. Do cã sù t−¬ng øng 1-1 gi÷a xung ®iÖn ®iÒu khiÓn vµ b−íc quay cña motor nªn
®éng c¬ b−íc cã ®é chÝnh x¸c dÞch chuyÓn cao. V× vËy ®éng c¬ b−íc th−êng ®−îc sö
dông trong c¸c thiÕt bÞ to¹ ®é chÝnh x¸c nh− c¸nh tay robot, m¸y in, m¸y vÏ, thiÕt bÞ
khoa häc...

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 59

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

Nguyªn lý ho¹t ®éng vµ cÊu t¹o cña ®éng c¬ b−íc ®−îc tr×nh bµy nh− sau :

H×nh 2.22 - Nguyªn lý cÊu t¹o


cña ®éng c¬ b−íc.

Nh− h×nh vÏ trªn lµ lo¹i ®éng c¬ b−íc lo¹i nam ch©m vÜnh cöu. Roto lµm b»ng
nam ch©m vÜnh cöu cßn c¸c cuén d©y ®−îc quÊn trªn stato. B−íc gãc cña r«to lµ 900 .
§éng c¬ cã 4 cùc ®−îc ®Æt ë vÞ trÝ ®èi diÖn nhau tõng cÆp mét, gåm X , X vµ Y , Y .
Tuú thuéc vµo chiÒu dßng ®iÖn ch¹y qua c¸c cuén d©y mµ tõ tr−êng cña stato sÏ cã
mét h−íng nhÊt ®Þnh. Do ®ã roto sÏ ®−îc ®Þnh vÞ chÝnh x¸c.

ViÖc thay ®æi thø tù chiÒu dßng ®iÖn ch¹y qua c¸c cuén d©y theo mét tr×nh tù
nhÊt ®Þnh sÏ ®iÒu khiÓn ®−îc ®éng c¬ ch¹y thuËn hay ch¹y ng−îc nh− mong muèn. Vµ
tèc ®é cña ®éng c¬ cã thÓ ®−îc ®iÒu chØnh b»ng kho¶ng thêi gian trÔ gi÷a hai lÇn thay
®æi thø tù chiÒu dßng ®iÖn.

Theo chiÒu kim ®ång hå Ng−îc chiÒu kim ®ång hå

H×nh 2.23 - Nguyªn lý cÊp xung cho ®éng c¬ b−íc.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 60

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

Trong m¹ch nguyªn lý ë h×nh 2.20 cã mét header 6 ®Çu ra ®Ó ®iÒu khiÓn ®éng c¬
b−íc (Stepper motor). Lo¹i ®éng c¬ b−íc ®−îc l¾p ®Æt trªn bé KIT lµ ®éng c¬ b−íc cã
®iÖn ¸p nguån cÊp lµ 5V vµ ®é ph©n gi¶i lµ 200, tøc lµ víi mçi nhÞp ®iÒu khiÓn, motor
b−íc sÏ quay mét gãc = 3600/200 = 1,80.

H×nh cña khèi xung sè, ®é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 61

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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.6 Khèi hiÓn thÞ LED matrix

LED M A TR AÄ
N
U41

5PB0 1 18
5PB1 2 IN1 OUT1 17
5PB2 3 IN2 OUT2 16
5PB3 4 IN3 OUT3 15
5PB4 5 IN4 OUT4 14
5PB5 6 IN5 OUT5 13
5PB6 7 IN6 OUT6 12
5PB7 8 IN7 OUT7 11
IN8 OUT8
10
COM

ULN2803

2
D1 D2 D3 D4 D5 D6 D7 D8

1
RG1 RG2 RG3 RG4 RG5 RG6 RG7 RG8
VCC VCC

VCC
DATA (D0-D7) TL1 C2383

26
U18
D0 34 4 5PA0

VCC
D1 33 D0 PA0 3 5PA1 5PA0
D2 32 D1 PA1 2 5PA2
D3 31 D2 PA2 1 5PA3 TL2 C2383
D4 30 D3 PA3 40 5PA4
D5 29 D4 PA4 39 5PA5
D6 28 D5 PA5 38 5PA6 5PA1

24

21

18

15

10
D6 PA6

7
D7 27 37 5PA7 TL3 C2383 CLM1
D7 PA7 22 G1
G3 G4 G5 G6 G7 G8
A0 9 18 5PB0 A1 G2
A1 8 A0 PB0 19 5PB1 5PA2 19 A2
A1 PB1 20 5PB2
35 PB2 21 5PB3 TL4 C2383 16
/RD RESET PB3 5PB4 A3
5 22
/WR 36 RD PB4 23 5PB5 13
GND WR PB5 A4
/CS_8255_MATRIX_LED 6
CS PB6
PB7
24
25
5PB6
5PB7
5PA3
3
A5
8x8 Bi-Color Led Matrix
TL5 C2383
14 5PC0 6
PC0 5PC1 A6
TO BOARD NGOAI VI 3 15
LED 7 DOAN, LED MATRIX 8X8 PC1 16 5PC2 5PA4 9
PC2 5PC3 A7

8255_5
17
D0 1 2 PC3 13 5PC4 TL6 C2383 12 A8 R2 R3 R4 R5 R6 R7 R8
D1 3 J6 4 PC4 12 5PC5 R1
D2 5 6 PC5 11 5PC6

LED MA TRAÄN

23

20

17

14

11
D3 7 8 PC6 10 5PC7 5PA5
D4 9 10 7 PC7
D5 11 12 GND TL7 C2383

ADRRESS:
D6 13 14
D7 15 16
A0 17 18 5PA6
A1 19 20 GND 8255
/RD
/WR
/CS_8255_7SEG_LED
21
23
25
22
24
26
PA_5:800CH TL8 C2383

PB_5:800DH
/CS_8255_MATRIX_LED 27 28 5PA7
29 30 RR1 RR2 RR3 RR4 RR5 RR6 RR7 RR8
-12V 31 32 -12V
12V 33 34 12V
GND
-5V
VCC
35
37
39
36
38
40
GND
-5V
VCC
PC_5:800EH
CW_5:800FH
1

1
D9 D10 D11 D12 D13 D14 D15 D16
8255_4_5
2

2
U42
5PC0 1 18
5PC1 2 IN1 OUT1 17
5PC2 3 IN2 OUT2 16
5PC3 4 IN3 OUT3 15
5PC4 5 IN4 OUT4 14
5PC5 6 IN5 OUT5 13
5PC6 7 IN6 OUT6 12
5PC7 8 IN7 OUT7 11
IN8 OUT8
10
COM

ULN2803

H×nh 2.24 - S¬ ®å nguyªn lý m¹ch hiÓn thÞ LED matrix


LED matrix 8x8 lµ mét b¶ng 64 ®iÓm LED bè trÝ theo kiÓu ma trËn 8 hµng x 8
cét, t¹i mçi ®iÓm 2 LED xanh vµ ®á ®Êu chung An«t, mçi hµng gåm 8 ®iÓm còng ®Êu
chung An«t víi nhau. Nh− vËy ma trËn LED cã 24 ch©n : 8 ch©n An«t chung, 8 ch©n
®iÒu khiÓn ®Ìn xanh vµ 8 ch©n ®iÒu khiÓn ®Ìn ®á.
§Þa chØ c¸c cæng vµ thanh ghi ®iÒu khiÓn cña 8255 ®iÒu khiÓn LED matrix nh−
sau : PA5 : 800Ch PB5 : 800Dh
PC5 : 800Eh CW5 : 800Fh

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 62

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

H×nh cña khèi LED ®¬n, LED 7 ®o¹n, LED ma trËn

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 63

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

ULN2803: IC lµm nhiÖm vô ®Öm dßng cho LED ma trËn vµ ®éng c¬ b−íc còng
nh− ®éng c¬ 1 chiÒu. IC nµy gåm 8 bé tranzitor NPN m¾c Darlington, chÞu ®−îc ®iÖn
¸p ®Çu vµo ®Õn 30V, ®Çu ra ®Õn 50V, dßng IC cùc ®¹i cã thÓ chÞu ®−îc lµ 500mA, ®ñ
®Ó ®Öm dßng cho ma trËn LED. Ngoµi ra nã cßn tÝch hîp c¸c transistor ®Ó chèng qu¸
¸p khi ®ãng ng¾t c¸c t¶i c¶m (c¸c cuén d©y cña ®éng c¬).
Nguyªn lý ho¹t ®éng: Khi ®Çu vµo t−¬ng øng ë møc cao th× ®Çu ra t−¬ng øng ë
møc thÊp.

H×nh 2.25 S¬ ®å ch©n cña UNL2803

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 64

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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.7 Khèi hiÓn thÞ LED 7 ®o¹n vµ LED ®¬n

L E D 7 Ñ OA ÏN , L E D Ñ ÔN
VCC
VCC

U30
CR40 U26
16 560
GND104 7 VCC 13 R26.1 7
1 D0 A 12 R26.2 6 a
2 D1 B 11 R26.3 4 b
6 D2 C 10 R26.4 2 c
DATA (D0-D7) U40 D3 D
E
9 R26.5 1 d
e
26 3 15 R26.6 9
D0 34 VCC 4 4PA0 5 LT F 14 R26.7 10 f
D1 33 D0 PA0 3 4PA1 RBI G 5 g
D2 32 D1 PA1 2 4PA2 4 pt
D3 D2 PA2 4PA3 BI/RBO VCC
31 1 8
D4 30 D3 PA3 40 4PA4 GND 7 Segs LED
D5 29 D4 PA4 39 4PA5 VCC 7447 GND

8255_4 D6
D7
28
27
D5
D6
D7
PA5
PA6
PA7
38
37
4PA6
4PA7 U31
560
U27

LED 7 ÑOAÏN
A0 9 18 7 13 R27.1 7
A1 8 A0 PB0 19 1 D0 A 12 R27.2 6 a
A1 PB1 20 2 D1 B 11 R27.3 4 b
PB2 D2 C c

LED ÑÔN
GND 35 21 6 10 R27.4 2
/RD 5 RESET PB3 22 D3 D 9 R27.5 1 d
/WR 36 RD PB4 23 3 E 15 R27.6 9 e
/CS_8255_7SEG_LED 6 WR PB5 24 5 LT F 14 R27.7 10 f

ADRRESS:
CS PB6 25 RBI G 5 g
PB7 4 pt
BI/RBO VCC
14
PC0

PA_4:C000H
15 7 Segs LED
PC1 16 7447
PC2 17 VCC
PC3 13 U32

PB_4:C001H PC4
PC5
PC6
12
11
10
7
1 D0 A
13
12
R28.1
R28.2
560
7
6
U28

PC_4:C002H 7 PC7 2 D1 B 11 R28.3 4 b


GND 6 D2 C 10 R28.4 2 c
8255_0 D3 D 9 R28.5 1 d
E e

CW_4:C003H
3 15 R28.6 9
GND 5 LT F 14 R28.7 10 f
RBI G 5 g
4 pt
BI/RBO VCC
7 Segs LED
7447

VCC
U33
U29
560
7 13 R29.1 7
1 D0 A 12 R29.2 6 a
2 D1 B 11 R29.3 4 b
6 D2 C 10 R29.4 2 c
D3 D 9 R29.5 1 d
3 E 15 R29.6 9 e
5 LT F 14 R29.7 10 f
RBI G 5 g
4 pt
BI/RBO VCC
7 Segs LED
7447

VCC

D17

LED

D18

LED

D19

U43

4PA0 1 18 LED
4PA1 IN1 OUT1 R49
2 17
4PA2 IN2 OUT2 D20
3 16 9
4PA3 4 IN3 OUT3 15 8
4PA4 5 IN4 OUT4 14 7
4PA5 6 IN5 OUT5 13 6
4PA6 7 IN6 OUT6 12 LED 5
4PA7 8 IN7 OUT7 11 4
IN8 OUT8 D21
3
10 2 1 VCC
COM
RESISTOR SIP 9
ULN2803 LED

D22

LED

D23

H×nh 2.25 - S¬ ®å nguyªn lý m¹ch LED

hiÓn thÞ LED 7 thanh D24

LED

M¹ch gi¶i mM cho ®Ìn LED 7 thanh DM7447A


§Ó cã thÓ hiÓn thÞ ®−îc c¸c sè liÖu lªn LED 7 thanh, ta cÇn vi m¹ch gi¶i m3
7447. Vi m¹ch nµy cã nhiÖm vô chuyÓn ®æi d÷ liÖu ®Çu vµo tõ c¸c ch©n D0 D3 thµnh
c¸c tÝn hiÖu ®−a ®Õn c¸c thanh cña LED.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 65

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

U3

7 13
1 D0 A 12
2 D1 B 11
6 D2 C 10
D3 D 9
3 E 15
5 LT F 14
RBI G
4
BI/RBO

7447

H×nh 2.26 - S¬ ®å ch©n cña 7447

Sau ®©y lµ b¶ng gi¶i m3 tÝn hiÖu cña vi m¹ch 7447 :

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 66

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
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

§Ìn LED 7 thanh

U5
7
6 a
4 b
2 c
1 d
9 e
10 f
5 g
pt

7 Segs LED

H×nh 2.27 - S¬ ®å ch©n cña LED 7 thanh

Dßng tiªu thô cña ®Ìn kh¸ lín, mçi ®Ìn cã dßng kho¶ng 100mA. ChÝnh v× vËy ta
cÇn cã ®iÖn trë giíi h¹n dßng gi÷a vi m¹ch gi¶i m3 7447 vµ LED. Trong ®å ¸n nµy, ta
sö dông lo¹i ®Ìn cã Anèt chung, mµu hiÓn thÞ lµ mµu ®á.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 67

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

Ch−¬ng III

x©y dùng phÇn mÒm

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n


m«n T§H

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 68

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

Ch−¬ng III

x©y dùng phÇn mÒm

3.1 Ch−¬ng tr×nh MONITOR cho KIT


Do ch−¬ng tr×nh MONITOR cña hÖ thèng phøc t¹p vµ kh¸ lín nªn ta sÏ tæ chøc
thµnh nhiÒu module nhá ghÐp l¹i víi nhau. Mçi module thùc hiÖn mçi chøc n¨ng
riªng, c¸c module trong ch−¬ng tr×nh:

+ Module thùc hiÖn viÖc hiÓn thÞ LCD.


+ Module qu¶n lý bµn phÝm.
+ Module qu¶n lý viÖc ®äc/ghi d÷ liÖu trong EEPROM vµ RAM.
+ Module t¹o thêi gian trÔ.
+ Ch−¬ng tr×nh chÝnh (Main).
+ Module ®iÒu khiÓn truy cËp c¸c thanh ghi ®Æc biÖt vµ c¸c « nhí bªn trong chip
vi ®iÒu khiÓn chÝnh.
+ Module truyÒn th«ng giao tiÕp víi m¸y tÝnh PC.

MO nguån cña ch−¬ng tr×nh hÖ ®iÒu hµnh ®−îc giíi thiÖu ë phÇn phô lôc cña ®å
¸n.

Sau ®©y lµ l−u ®å thuËt to¸n cña ch−¬ng tr×nh MONITOR :

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 69

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

L−u ®å thuËt to¸n cña module Main: khëi t¹o c¸c thiÕt ®Æt ban ®Çu cho KIT vµ
c¸c thiÕt bÞ ngo¹i vi, hiÓn thÞ mµn h×nh 1.

B¾t ®Çu

Khëi t¹o c¸c biÕn, c¸c thiÕt lËp


ban ®Çu cho 8255
Khëi ®éng LCD

HiÓn thÞ MAIN MENU

Cµi ®Æt c¸c ng¾t


Cho phÐp ng¾t ngoµi 0
Cho phÐp ng¾t nèi tiÕp

N Y
HiÓn thÞ EEPROM HiÓn thÞ
Mµn h×nh 1 trèng? Mµn h×nh 2

HiÓn thÞ
mµn h×nh 4
Call Step Key=F2?
Key=F1? Call DEMO
Mode
Prog.

HiÓn thÞ
mµn h×nh 4
Key=F2?
Call DEMO
Prog.

KÕt thóc

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 70

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

L−u ®å c¸c ch−¬ng tr×nh DEMO (Mµn h×nh 4)

B¾t ®Çu

HiÓn thÞ mµn h×nh 1


Xãa byte ®Öm bµn phÝm

Byte ®Öm Ch¹y Led ®¬n Byte ®Öm


BUF = 1 DEMO BUF = 18

Byte ®Öm Ch¹y Led 7 Byte ®Öm


BUF = 2 ®o¹n DEMO BUF = 18

Byte ®Öm Ch¹y Led ma Byte ®Öm


BUF = 3 trËn DEMO BUF = 18

Byte ®Öm Ch¹y Bµn phÝm, Byte ®Öm


BUF = 4 LCD DEMO BUF = 18

Byte ®Öm Ch¹y ADC, DAC Byte ®Öm


BUF = 5 DEMO BUF = 18

Byte ®Öm Ch¹y STEPPER Byte ®Öm


BUF = 6 DEMO BUF = 18

Byte ®Öm Ch¹y RS232 Byte ®Öm


BUF = 7 DEMO BUF = 18

Byte ®Öm
HiÓn thÞ mµn
BUF = 18 KÕt thóc
(BSP) h×nh 1

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 71

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

L−u ®å ch−¬ng tr×nh MONITOR ch¹y ë chÕ ®é gì rèi STEP MODE (Mµn h×nh 3)

B¾t ®Çu

Khëi t¹o c¸c biÕn


L−u c¸c thanh ghi cÇn thiÕt
Gi¶ lËp CPU nh− ë tr¹ng th¸i
RESET

HiÓn thÞ Mµn h×nh 3


(C¸c thanh ghi ®Æc biÖt -
SFR, R0 -R7 ... )

HiÓn thÞ gîi ý cho


c¸c lÖnh F1, F2, BSP

Xãa byte ®Öm bµn phÝm


BUF

Y Chê vµ xö lý nhËp N
BUF = 16 BUF = 19
(F1)
1 byte vµo bé (ENTER)
®Öm BYTE1

In ra gi¸ trÞ BIT


cÇn xem

YES
(F1)
Hái cã söa
kh«ng? - Chê vµ xö lý
ENTER = kh«ng nhËp 1 BIT
söa

NO
(ENTER) BUF =19 N
(ENTER)

CËp nhËt vïng nhí

1 2

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 72

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

1 2

Y Chê vµ xö lý nhËp N
BUF = 17 BUF = 19
(F2)
2 byte vµo bé (ENTER)
®Öm BYTE1, 2

In ra gi¸ trÞ BYTE


cÇn xem

YES
(F1)
Hái cã söa Chê vµ xö lý
kh«ng? - ENTER
= kh«ng söa nhËp 1 BYTE

NO
(ENTER)
BUF =19 N
(ENTER)

Y
P1.2 = 0 P1.2 =1
N
(STEP) (STEP) CËp nhËt vïng nhí

N Y

Delay chèng rung

RETI

KÕt thóc

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 73

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

L−u ®å ch−¬ng tr×nh ng¾t ngoµi 0 (INT0) cña bµn phÝm

B¾t ®Çu

NhËn m· phÝm
L−u vµo byte ®Öm bµn phÝm

Ch©n ng¾t N
ngoµi 1 = 1?

KÕt thóc

3.2 Ch−¬ng tr×nh qu¶n lÝ thiÕt bÞ

3.2.1 Ch−¬ng tr×nh quÐt bµn phÝm

Nh− ®O tr×nh bµy ë ch−¬ng 2, bµn phÝm sö dông trong bé KIT nµy gåm cã 20
phÝm, 16 phÝm ®Çu tiªn ®−îc s¾p xÕp theo kiÓu ma trËn vµ 4 phÝm cuèi cïng ®−îc xÕp
theo mét cét nèi ®Êt chung. Trªn bµn phÝm cña bé KIT, 4 phÝm trªn mét cét nèi ®Êt
chung lµ c¸c phÝm chøc n¨ng : F1, F2, BACK SPACE vµ ENTER. C¸c phÝm tõ 0-9 vµ
A-F dïng ®Ó nhËp liÖu, c¸c phÝm chøc n¨ng cã t¸c dông kh¸c nhau tïy theo ng÷ c¶nh
cña mµn h×nh, gîi ý t¸c dông cña c¸c phÝm bÊm hiÓn thÞ trªn mµn h×nh, ®iÒu nµy gióp
viÖc lµm quen vµ thÝ nghiÖm trªn KIT rÊt thuËn tiÖn vµ dÔ dµng cho ng−êi häc, nhÊt lµ
khi thÝ nghiÖm ë chÕ ®é debug.

L−u ®å thuËt to¸n cña ch−¬ng tr×nh quÐt bµn phÝm nh− sau:

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 74

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

L−u ®å thuËt to¸n cña ch−¬ng tr×nh quÐt bµn phÝm:

B¾t ®Çu

XuÊt 1 ra tÊt c¶
hµng vµ cét Hµng XuÊt phÝm
1=1? 16 (F1)

Hµng XuÊt phÝm


2=1? 17 (F2)
TÊt c¶ N
hµng = 1? Y

Y Hµng XuÊt phÝm


3=1? 18 (BSP)

Hµng XuÊt phÝm


4=1? 19 (ENTER)
Nèi ®Êt hµng 1 Y

Quay tõng bit cña byte


TÊt c¶ chøa c¸c cét lªn cê C N T¨ng
C=0?
cét = 1? G¸n DPTR cho ®Þa chØ DPTR
hµng 1
Y
Y
Tra b¶ng
Nèi ®Êt hµng 2 XuÊt m· phÝm

Quay tõng bit cña byte N


TÊt c¶ chøa c¸c cét lªn cê C T¨ng
C=0?
cét = 1? G¸n DPTR cho ®Þa chØ DPTR
hµng 2
Y
Y
Tra b¶ng
Nèi ®Êt hµng 3 XuÊt m· phÝm

Quay tõng bit cña byte


TÊt c¶ chøa c¸c cét lªn cê C N T¨ng
C=0?
cét = 1? G¸n DPTR cho ®Þa chØ DPTR
hµng 3
Y
Y
Tra b¶ng
Nèi ®Êt hµng 4 XuÊt m· phÝm

Quay tõng bit cña byte


TÊt c¶ chøa c¸c cét lªn cê C N T¨ng
C=0?
cét = 1? G¸n DPTR cho ®Þa chØ DPTR
hµng 4
Y
Y
Tra b¶ng
XuÊt m· phÝm

KÕt thóc
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 75

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

3.2.2 Ch−¬ng tr×nh ®iÒu khiÓn hiÓn thÞ LCD


§Ó 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.
C¸c l−u ®å lµm viÖc víi LCD nh− sau:

Khëi t¹o LCD Chê LCD s½n sµng lµm viÖc

B¾t ®Çu B¾t ®Çu

Truy cËp
thanh ghi lÖnh
RS =0
Göi lÖnh ®iÒu khiÓn 38H
Göi lÖnh ®iÒu khiÓn 08H
Göi lÖnh ®iÒu khiÓn 01H
Göi lÖnh ®iÒu khiÓn 06H ChuyÓn sang chÕ ®é
®äc d÷ liÖu R/W =1
Göi lÖnh ®iÒu khiÓn 0EH

KÕt thóc §−a 1 xung tõ thÊp lªn


cao ë ch©n E cña LCD
®Ó ®äc d÷ liÖu

Bit D7 = 1?

KÕt thóc

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 76

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

Göi lÖnh ®iÒu khiÓn ra LCD In mét kÝ tù ra LCD

B¾t ®Çu B¾t ®Çu

§îi LCD s½n sµng §îi LCD s½n sµng


nhËn lÖnh lµm viÖc

§−a d÷ liÖu ra c¸c ch©n


XuÊt m· lÖnh d÷ liÖu cña LCD

Chän thanh ghi


Truy cËp thanh ghi d÷ liÖu - RS = 1
lÖnh - RS = 0

ChuyÓn sang chÕ


®é ghi - R/W = 0
Cho phÐp ghi ra
LCD - R/W =0

Göi 1 xung tõ cao


xuèng thÊp ®Õn
ch©n E cña LCD ®Ó
§−a 1 xung tõ cao ghi d÷ liÖu
xuèng thÊp ë ch©n
E ®Ó chèt d÷ liÖu

KÕt thóc
KÕt thóc

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 77

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

3.3 Ch−¬ng tr×nh giao tiÕp m¸y tÝnh

Ch−¬ng tr×nh giao tiÕp gi÷a bé KIT víi m¸y tÝnh ®−îc viÕt b»ng ng«n ng÷ Delphi
Giao diÖn cña ch−¬ng tr×nh trªn m¸y tÝnh PC nh− h×nh vÏ
- Ch−¬ng tr×nh cho phÐp n¹p ch−¬ng tr×nh cña ng−êi sö dông vµo EEPROM,
sau ®ã sÏ ch¹y trªn KIT, cã thÓ ch¹y ®éc lËp, tøc kh«ng cã sù ®iÒu khiÓn cña
MONITOR - chÕ ®é STEP hoÆc ch¹y tõng lÖnh ®Ó debug vµ theo dâi gi¸ trÞ bé nhí,
c¸c thanh ghi ®Æc biÖt SFR, R0-R7 trªn mµn h×nh LCD cña KIT.
- Trªn giao diÖn cña ch−¬ng tr×nh cã thÓ download file d¹ng Hexa cña ch−¬ng
tr×nh xuèng bé KIT vµ cã thÓ upload néi dung bé nhí EEPROM cña KIT.
- C¸c nót chøc n¨ng trªn giao diÖn :

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 78

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : X©y dùng phÇn mÒm

+ OPEN and COMPILE: Më mét file mO lÖnh d¹ng hîp ng÷ (*.asm) vµ
biªn dÞch (Compile) thµnh file HEX hoÆc file ®O compile d−íi d¹ng HEXA (*.hex) ®Ó
n¹p trùc tiÕp xuèng KIT. KÕt qu¶ compile ®−îc hiÓn thÞ trong cöa sæ Compile Log.

+ OPEN Hex file: Më mét file mO lÖnh ®O ®−îc biªn dÞch d¹ng hexa
(*.hex) vµ dÞch ng−îc (Disasemble) thµnh file mO lÖnh ASM (*.d51). KÕt qu¶ dÞch
ng−îc hiÓn thÞ trong cöa sæ ASM code, mO m¸y cña bé nhí hiÓn thÞ trong cöa sæ
Opcode. KÕt qu¶ compile ®−îc hiÓn thÞ trong cöa sæ Compile Log.

+ DOWNLOAD : Cho phÐp download file Hex ®−îc më hoÆc Compile tõ


file mO lÖnh ASM xuèng bé nhí cña KIT.

+ UPLOAD : Cho phÐp ®äc néi dung ch−¬ng tr×nh cña ng−êi sö dông ®O
®−îc n¹p vµo bé nhí cña KIT tõ lÇn n¹p tr−íc.

+ Erase EEPROM: Cho phÐp xãa EEPROM.


Ch−¬ng tr×nh MONITOR ®−îc viÕt d−íi d¹ng hîp ng÷ (Assembly), ban ®Çu khi
tham kh¶o cã thÓ g©y khã kh¨n cho ng−êi ®äc tuy nhiªn hîp ng÷ lµm cho 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 h¬n nh−
c¸ch tæ chøc bé nhí, c¸ch thùc hiÖn mét ng¾t, vÞ trÝ cña c¸c vector ng¾t, c¸c ho¹t ®éng
®Þnh thêi, hiÓu râ vÞ trÝ b¶n ®å bé nhí, c¸c thanh ghi ®Æc biÖt SFR ... Ngoµi ra khi sö
dông hîp ng÷ ta kh«ng ph¶i phô thuéc vµo c¸c tr×nh biªn dÞch hç trî b»ng ng«n ng÷
bËc cao nh− C, Basic ...
Sau ®©y ta ®i x©y dùng c¸c néi dung thÝ nghiÖm cÇn thiÕt cho ng−êi häc ®Ó qua
®ã ng−êi häc tõng b−íc n¾m râ cÊu tróc vµ c¸ch lËp tr×nh cho hä vi ®iÒu khiÓn 8051.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 79

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
- 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


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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
- 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 mL
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− ®L 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
- 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 Nhãm B

D7 D6 D5 D4 D3 D2 D1 D0

Chän mode Cæng C


Cæng A 0 = Mode 0
1 = I/O Mode 1= Input PC3– PC0
0 = BSR 1 = Mode 1 1= Input
0 = Output
Mode 0 = Output

Cæng C
Chän mode PC7 – PC4
1= Input Cæng B
00 = Mode 0
0 = Output 1= Input
01 = Mode 1
0 = Output
1x = Mode 2

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

mov DPTR, #8007H ; CW

movx @DPTR, A ; XuÊt tõ ®iÒu khiÓn

Again:

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 82

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
- 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 ; §Þa chØ cña cæng PB

movx @DPTR, A ; §−a d÷ liÖu ra cæng PB

inc DPTR ; §Þa chØ cña cæng PC

movx @DPTR, A ; §−a d÷ liÖu ra PC

; #################################################

Sau khi ®L 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 ®L ®−î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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
- 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è ®L
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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
- 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
- 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

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit

Ch−¬ng V

L¾P R¸P & THö NGHIÖM KIT

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n


m«n T§H

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 87

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit

Ch−¬ng V

L¾P R¸P & THö NGHIÖM KIT

5.1 S¬ ®å bè trÝ thiÕt bÞ

C¸c thiÕt bÞ bè trÝ trªn m¹ch in theo tõng khèi râ rµng vµ hîp lÝ, khèi CPU n»m ë
vÞ trÝ trung t©m cña bé KIT, khèi hiÓn thÞ LCD n»m ë gãc tr¸i, ngay bªn c¹nh bµn phÝm
®Ó dÔ quan s¸t. C¸c ®Çu vµo/ra sè, t−¬ng tù ®−îc bè trÝ ë phÝa trªn cña m¹ch in ®Ó dÔ
ghÐp nèi víi c¸c thiÕt bÞ ngo¹i vi bªn ngoµi. C¸c c«ng t¾c, nót nhÊn ®iÒu khiÓn, m«
pháng ®Çu vµo ®−îc bè trÝ ë phÝa d−íi gÇn víi ng−êi sö dông ®Ó dÔ dµng thao t¸c. PhÝa
bªn tr¸i cña m¹ch in lµ c¸c ®Çu c¾m nguån vµ c¸c cæng ghÐp nèi víi m¸y tÝnh.
Víi môc ®Ých lµ ®µo t¹o nªn c¸c khèi ®−îc t¸ch ra thµnh c¸c BOARD nhá ®−îc
bè trÝ xung quanh KIT gåm c¸c khèi nh−:
. Khèi lµm viÖc víi LED ®¬n, LED 7 ®o¹n, LED ma trËn
. Khèi lµm viÖc víi ®éng c¬ b−íc, ®éng c¬ 1 chiÒu, c¸c ®Çu vµo ra xung, sè
. Khèi lµm viÖc víi c¸c bé chuyÓn ®æi ADC, DAC, ®o nhiÖt ®é m«i tr−êng b»ng
LM35.
C¸c khèi nµy giao tiÕp víi KIT qua 1 c¸p d÷ liÖu dïng cho m¸y tÝnh (lo¹i DIP 40
ch©n) cã chuÈn c¸c ®−êng d÷ liÖu, c¸c ®−êng ®iÒu khiÓn vµ nguån trªn SOCKET nµy
cã d¹ng nh− h×nh 5.1
. 8 ch©n (1, 3, 5, 7 9, 11, 13, 15) lµm c¸c ch©n d÷ liÖu, ®−îc nèi dÕn c¸c ch©n d÷
liÖu cña 8255
. 2 ch©n tiÕp theo A0, A1 lµ ch©n chän cæng cña 8255
. C¸c ch©n tõ 31 – 40 c¸c c¸c ch©n nguån +/-5V, +/-12V
. Ch©n 25 ®−îc dµnh cho c¸c ch©n chän chip
Nhê tæ chøc BUS nµy nªn ng−êi sö dông cã thÓ tù thiÕt kÕ c¸c BOARD më réng
cho c¸c thiÕt bÞ ngo¹i vi kh¸c víi môc ®Ých riªng cña m×nh.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 88

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit

Còng víi môc ®Ých t¹o tÝnh linh ho¹t vµ tÝnh cã kh¶ n¨ng më réng cña KIT, trªn
KIT cßn chõa ra mét SOCKET trèng ®Ó cã thÓ c¾m thªm 1 module ngo¹i vi kh¸c.

TO BOARD NGOAI VI 3
LED 7 DOAN, LED MATRIX 8X8

D0 1 2
D1 3 4
D2 5 6
D3 7 8
D4 9 10
BUS D5
D6
11 12
13 14
D7 15 16
A0 17 18
A1 19 20
/RD 21 22
/WR 23 24
C¸c ®−êng /CS_8255_7SEG_LED 25 26
chän chip /CS_8255_MATRIX_LED 27 28
29 30
-12V 31 32 -12V
12V 33 34 12V
GND 35 36 GND
-5V 37 38 -5V
VCC 39 40 VCC

BUS SOCKET- 8255

H×nh 5.1. S¬ ®å c¸c ch©n cña BUS chung

Giíi thiÖu c¸c nót Ên vµ c«ng t¾c:


C«ng t¾c SELECT ë ngay bªn trªn cña bµn phÝm cã chøc n¨ng cho phÐp ng−êi sö
dông lùa chän thùc thi ch−¬ng tr×nh ë bé nhí trong hoÆc bé nhí ngoµi cña chip vi ®iÒu
khiÓn. C«ng t¾c nµy bè trÝ ë vÞ trÝ mµ c¸c ®éng t¸c v« t×nh cña ng−êi häc Ýt ch¹m ph¶i,
kh«ng g©y gi¸n ®o¹n ch−¬ng tr×nh khi ch¹y ë chÕ ®é debug , nã chØ ®−îc thiÕt ®Æt ë
®Çu c¸c lÇn thÝ nghiÖm.
C«ng t¾c ë khèi m¹ch ®iÒu khiÓn ®éng c¬ b−íc vµ déng c¬ 1 chiÒu cña bé KIT
cho phÐp ng−êi sö dông lùa chän lo¹i ®éng c¬ b−íc ®Ó ®iÒu khiÓn lµ lo¹i cã ®iÖn ¸p
nguån cÊp 12V hoÆc lo¹i cã ®iÖn ¸p nguån cÊp 5V. §©y lµ c«ng t¾c tù duy tr×, Ên
xuèng th× nguån lµ 12V, nh¶ ra th× nguån cÊp lµ 5V.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 89

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit

Nót RESET cho phÐp ta RESET l¹i bé kit ë tr¹ng th¸i nh− khi míi bËt nguån,
còng ®−îc bè trÝ ë nh÷ng n¬i Ýt khi bÞ v« t×nh ch¹m ph¶i.
S¬ ®å bè trÝ c¸c khèi trªn m¹ch in nh− h×nh 4.1 vµ s¬ ®å bè trÝ linh kiÖn cô thÓ
®−îc thÓ hiÖn ë h×nh 4.2.

5.2 L¾p r¸p, thö nghiÖm

Sau khi lËp s¬ ®å bè trÝ c¸c khèi, c¸c linh kiÖn cô thÓ trªn m¹ch in, ta tiÕn hµnh
®i d©y, chÕ t¹o m¹ch in vµ tiÕn hµnh l¾p ®Æt c¸c linh kiÖn lªn m¹ch in. Toµn thÓ m¹ch
in sau khi ®o l¾p ®Æt linh kiÖn ®−îc thÓ hiÖn nh− ë h×nh 4.3 (¶nh cña bé KIT).
S¶n phÈm sau khi ®o thiÕt kÕ vµ l¾p r¸p thµnh c«ng, ta tiÕn hµnh n¹p ch−¬ng tr×nh
Monitor ®Ó ®iÒu hµnh toµn bé c¸c ho¹t ®éng cña bé KIT. Sau ®ã ch¹y thö nghiÖm c¸c
ch−¬ng tr×nh trªn bé KIT ®Ó kiÓm tra ho¹t ®éng cña bé KIT. C¸c ch−¬ng tr×nh ch¹y thö
nghiÖm trªn bé KIT nh− sau:
+ LËp tr×nh tõ bµn phÝm b»ng mo m¸y ®Ó hiÓn thÞ tr¹ng th¸i b»ng c¸c ®Ìn LED,
®iÒu khiÓn vµo/ra sè - t−¬ng tù, hiÓn thÞ ma trËn LED.
+ LËp ch−¬ng tr×nh tõ m¸y tÝnh, biªn dÞch thµnh file Hexa vµ n¹p xuèng bé KIT
®Ó cho hiÓn thÞ trªn ma trËn LED c¸c sè ch¹y tõ 0,1,2,... ®Õn ..,E,F víi c¸c mµu kh¸c
nhau.
+ LËp tr×nh ®iÒu khiÓn ®éng c¬ b−íc sö dông c¸c ®Çu vµo xung nh− c¸c phÝm
nhÊn ®Ó thay ®æi tr¹ng th¸i ho¹t ®éng cña ®éng c¬ b−íc.
Qua kÕt qu¶ ch¹y thö c¸c ch−¬ng tr×nh thö nghiÖm trªn cho thÊy bé KIT ho¹t
®éng chÝnh x¸c ®óng theo ch−¬ng tr×nh ®iÒu khiÓn vµ cã tÝnh æn ®Þnh, linh ho¹t cao.

5.3 ¶nh bé KIT

¶nh bé KIT sau khi ®o l¾p r¸p nh− h×nh 4.3

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 90

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit

H×nh 5.3a ¶nh bé KIT

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 91

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit

H×nh 5.3b ¶nh bé KIT

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 92

www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

Ch−¬ng VI
phô lôc

6.1 H−íng dÉn sö dông KIT


Ng−êi häc ph¶i n¾m v÷ng b¶n ®å bé nhí cña KIT sau:
§Þa chØ ThiÕt bÞ Ghi chó
0000h - 1FFFh EEPROM Chøa ch−¬ng tr×nh Monitor
4000h - 7FFFh RAM Chøa ch−¬ng tr×nh øng dông
8000h - PortA : §iÒu khiÓn LCD.
8001h - PortB : Data bus cña LCD.
8000h - 8003h 8255 (1)
8002h - PortC : NhËn m/ cña bµn phÝm.
8003h - CW : Thanh ghi ®iÒu khiÓn.
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 matrix
8004h - 8007h 8255 (5) (c¸c cét xanh).
8006h - PortC: §iÒu khiÓn ®Ìn mµu ®á cña LED 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.
8008h - 800Bh 8255 (2)
800Ah - PortC : §iÒu khiÓn ADC0809.
800Bh - CW : Thanh ghi ®iÒu khiÓn.
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).
C000h - C003h 8255 (4)
C002h - PortC : HiÓn thÞ 2 LED 7 thanh (ph¶i).
C003h - CW : Thanh ghi ®iÒu khiÓn.
C004h – C007h 8255-EX BUS më réng dù tr÷, cã thÓ g¾n thªm 1 module kh¸c

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 93
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

Sau khi ®/ n¾m v÷ng b¶n ®å bé nhí, mét sè l−u ý cÇn ph¶i nhí khi thÝ nghiÖm víi KIT
nh− sau:

- NÕu n¹p ch−¬ng tr×nh vµo KIT ®Ó ch¹y ë chÕ ®é "Ch−¬ng tr×nh ng−êi sö dông", tøc
ch¹y ®éc lËp víi ch−¬ng tr×nh MONITOR qu¶n lý KIT th× ch−¬ng tr×nh cña ng−êi
häc ph¶i b¾t ®Çu ë ®Þa chØ 00H, tøc b¾t ®Çu ch−¬ng tr×nh b»ng lÖnh ORG 0. Sau khi
KIT b¸o n¹p hoµn tÊt th× Ên c«ng t¾c MODE SELECT ®Ó ë tr¹ng th¸i hë (nh« lªn),
tiÕp ®ã bÊm nót reset ®Ó b¾t ®Çu ch¹y ch−¬ng tr×nh cña m×nh. ë tr¹ng th¸i nµy th×
tÊt c¶ c¸c tµi nguyªn phÇn cøng vµ c¸c thiÕt bÞ ngo¹i vi cña KIT ®Òu ®−îc phÐp sö
dông mµ kh«ng cã mét giíi h¹n nµo.

- NÕu n¹p vµo ®Ó ch¹y ë chÕ ®é DEBUG - gì rèi, ch¹y vµ xem kÕt qu¶ c¸c vïng nhí
sau mçi lÖnh th×:

o Ch−¬ng tr×nh ph¶i b¾t ®Çu ë vÞ trÝ 4000H (vÞ trÝ khëi ®Çu cña bé nhí RAM).
Thùc hiÖn b»ng lÖnh ORG 4000H.

o C¸c vector ng¾t ph¶i ®−îc céng thªm 4000H. Cô thÓ nh− sau:

§Þa chØ vector ng¾t ë §Þa chØ vector ng¾t ë


Nguån ng¾t Cê
chÕ ®é b×nh th−êng chÕ ®é DEBUG
Reset hÖ thèng RST 0000H 4000H
Ng¾t ngoµi 0 IE0 0003H 4003H
Bé ®Þnh thêi 0 TF0 000BH 400BH
Ng¾t ngoµi 1 IE1 0013H 4013H
Bé ®Þnh thêi 1 TF1 001BH 401BH
Port nèi tiÕp RI or TI 0023H 4023H
Bé ®Þnh thêi 2 TF2 or EXF2 002BH 402BH

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 94
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

o Ngoµi ra ng−êi häc cßn kh«ng ®−îc sö dông ng¾t ngoµi 1 ®/ ®−îc thiÕt kÕ ®Ó
phôc vô chÕ ®é DEBUG. Cßn ®èi víi ng¾t ngoµi 0 nh− ë ch−¬ng 2 ®/ giíi
thiÖu, phôc vô giao tiÕp víi bµn phÝm cña KIT.

o Vïng nhí RAM néi 32 byte tõ 7FH-5FH kh«ng sö dông, tuy nhiªn 128 byte
RAM néi ®−îc ®Þnh ®Þa chØ gi¸n tiÕp cßn l¹i vµ 32 K-Byte RAM ngoµi ®−îc
sö dông tho¶i m¸i.

C¸c h−íng dÉn cô thÓ b»ng h×nh ¶nh cña KIT sÏ ®−îc tr×nh bµy ë phÇn trî gióp cña
ch−¬ng tr×nh ch¹y trªn m«i tr−êng Windows ®i kÌm theo KIT, ch−¬ng tr×nh hç trî biªn
dÞch vµ dÞch ng−îc c¸c file ch−¬ng tr×nh d¹ng hîp ng÷, n¹p vµ xãa bé nhí EEPROM cña
KIT vµ mét sè bµi vÝ dô cña ch−¬ng tr×nh nh− bµi 7, thÝ nghiÖm vÒ "TruyÒn th«ng nèi
tiÕp"...

Sau ®©y sÏ lµ c¸c khai b¸o mÉu cña c¸c ch−¬ng tr×nh ch¹y ®−îc trªn KIT còng nh− ch−¬ng
tr×nh MONITOR vµ c¸c vÝ dô.

6.2 C¸c khai b¸o vÒ ®Þa chØ c¸c h»ng vµ biÕn sè sö dông trong ch−¬ng tr×nh
MONITOR vµ trong c¸c vÝ dô DEMO cña KIT
; ##################################################################
; CAC KHAI BAO
; ##################################################################

; Khai bao dia chi cua cac 8255


; 8255-1
LCD_CONTROL EQU 8000H ; PA: Cac tin hieu dieu khien cua LCD 2408
; PA0 = LCD_RS; PA1 = RW; PA2=E1; PA3 = E2
LCD_DATA EQU 8001H ; PB: BUS data cua LCD 2408
KEYPAD EQU 8002H ; D0-D6 lam bus nhan ma phim
CW1 EQU 8003H ; Tu dieu khien CW cua 8255-1
; 8255-5
MATRIX_LED_ANOD EQU 8004H ; Cac hang`, tuc cac anod chung cua led ma tran
MATRIX_LED_G EQU 8005H ; Cac cot xanh cua LED ma tran
MATRIX_LED_R EQU 8006H ; Cac cot do cua LED ma tran
CW5 EQU 8007H ; Tu dieu khien CW cua 8255-5

; 8255-2
ADC_DB EQU 8008H ; Bus du lieu cua ADC0809

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 95
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

DAC_DB EQU 8009H ; Bus du lieu cua DAC0808


ADC_CONTROL EQU 800AH ; Cac tin hieu dieu khien ADC0809
CW2 EQU 800BH ; Tu dieu khien CW cua 8255-2

; 8255-3
DIGITAL_INPUT EQU 800CH ; Dau vao so
DC_STEPPER EQU 800DH ; Dieu khien dong co buoc (PB0-PB3),
; dong co 1 chieu (PB4-PB7)
PULSE_INPUT EQU 800EH ; 4 dau vao xung = nut(PC4-PC7),
; 4 tu cac nguon phat xung(PC0-PC3)
CW3 EQU 800FH ; Tu dieu khien CW cua 8255-3

;8255-4
LED_DON EQU 0C000H ; Dieu khien hien thi 8 LED don
LED_7_DOAN_12 EQU 0C001H ; Dieu khien hien thi 2 LED 7 doan 1, 2 (ben trai')
LED_7_DOAN_34 EQU 0C002H ; Dieu khien hien thi 2 LED 7 doan 3, 4 (ben phai')
CW4 EQU 0C003H ; Tu dieu khien CW cua 8255-4

; Quy uoc cach dat ten hang` cua tu dieu khien nhu sau: CWx voi x la STT cua 8255
; 011 thu tu cac so la: PA, PB, PC; 0: dau ra, 1: dau vao
CW_011 EQU 10001011B
CW_000 EQU 10000000B
CW_100 EQU 10010000B
CW_101 EQU 10011001B

; ROM - RAM
EEPROM_ADDR EQU 0000H ; Dia chi bat dau cua EEPROM - 8K - ket thuc o 1FFFH
RAM_ADDR EQU 4000H ; Dia chi bat dau cua RAM - 32K - ket thuc o 7FFFH

; Dia chi cac dong` cua LCD 2408


DONG1 EQU 0080H
DONG2 EQU 0098H
DONG3 EQU 00B8H
DONG4 EQU 00D8H

; Chan ngat ngoai o che do debug


CHAN_NGAT_INT0 EQU P3.2

; Ma cac phim chuc nang


KEY_F1 EQU 16
KEY_F2 EQU 17
KEY_BS EQU 18

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 96
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

KEY_ENTER EQU 19

; RAM danh cho xy ly cua chuong trinh MONITOR


ProgRamAddr EQU 7FH
E EQU ProgRamAddr ; De chon lam viec voi nua man hinh 1 hay 2,
tuong ung E =1, 2
KEY EQU ProgRamAddr - 1 ; Byte dem. cua ban phim, luu gia tri phim
nhan ve, cap nhat bang ngat
So_Man_Hinh EQU ProgRamAddr - 2
LED7Doan1 EQU ProgRamAddr - 3
LED7Doan2 EQU ProgRamAddr - 4
LED7Doan3 EQU ProgRamAddr - 5
LED7Doan4 EQU ProgRamAddr - 6

; RAM lam vung dem cho qua trinh nap EEPROM tu PC


StartAddrH EQU ProgRamAddr - 8; Byte cao cua dia chi can ghi den' cua goi du lieu
StartAddrL EQU ProgRamAddr - 9; Byte thap cua dia chi can ghi den' cua goi du lieu

; ##################################################################
; KET THUC CAC KHAI BAO
; ##################################################################

6.3 Ch−¬ng tr×nh quÐt bµn phÝm


Ch−¬ng tr×nh nµy ®−îc n¹p cho 1 chip vi ®iÒu khiÓn lo¹i 20 ch©n cña ATMEL
lµ AT89C2051
; ##########################################################
; Chuong trinh quet ban phim 4x4
; Su dung P1 de giao tiep voi ban phim
; P1.0 - P1.3 noi voi cac hang lan luot 1 2 3 4
; P1.4 - P1.7 noi voi cac cot lan luot 1 2 3 4
; ##########################################################

ORG 0000H
; Truoc het ta doc cac hang 1-4, cac phim chuc nang, da duoc noi dat san
mov P3, #0FFH
call Delay
mov P3, #00H
call Delay
mov P3, #0FFH

Start:

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 97
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

mov P1, #11111111B ; Dat tat ca len 1


mov A, P1
anl A, #00001111B ; Lay 4 bit thap cua P1, noi voi hang
cjne A, #00001111B, Doc_Cot_Chuc_Nang ; Kiem tra de chac rang tat ca cac
phim chuc nang duoc tha
sjmp Doc_Ban_Phim

Doc_Cot_Chuc_Nang:
mov P1, #11111111B ; Dat tat ca len 1
mov A, P1
anl A, #00001111B ; Che cac bit cot di
F1:
cjne A, #00001110B, F2
Wait:
mov A, P1
anl A, #00001111B
cjne A, #00001111B, Wait ; Doi tha nut
clr P3.7
nop
nop
nop
mov P3,#16
call Delay ; Chong rung
ljmp Tiep_tuc_quet ; Tiep tuc quet phim

F2:
cjne A, #00001101B, BACK_SPACE
Wait1:
mov P1, #11111111B ; Dat tat ca len 1
mov A, P1
anl A, #00001111B
cjne A, #00001111B, Wait1 ; Doi tha nut
mov P3,#17
call Delay ; Chong rung
ljmp Tiep_tuc_quet

BACK_SPACE:
cjne A, #00001011B, ENTER
Wait2:
mov P1, #11111111B ; Dat tat ca len 1
mov A, P1
anl A, #00000100B

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 98
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

cjne A, #00000100B, Wait2 ; Doi tha nut


mov P3,#18
call Delay ; Chong rung
ljmp Tiep_tuc_quet

ENTER:
cjne A, #00000111B, Start
Wait3:
mov P1, #11111111B ; Dat tat ca len 1
mov A, P1
anl A, #00001000B
cjne A, #00001000B, Wait3 ; Doi tha nut
clr P3.7
mov P3,#19
call Delay ; Chong rung

Tiep_Tuc_Quet:
WAIT4: ; Doi phim duoc tha het
mov P1, #11111111B ; Dat tat ca len 1
mov A, P1
anl A, #00001111B
cjne A, #00001111B, Wait4
call Delay
mov P3, #0FFH; Tat ngat, khoa tin hieu o ngo ra tin hieu o ngo ra
ljmp Start ; Tiep tuc quet phim
;;;;;;;;;;;;;;;;;;;;;;;;
;Khong co phim chuc nang nao duoc an, tim phim thuong`
Doc_Ban_Phim:
mov P1,#11110000B ; Noi dat tat ca cac hang
mov A, P1
anl A, #11110000B
cjne A, #11110000B, Co_Phim_Duoc_An ; Neu co phim duoc an
jmp Start ; Neu khong, tiep tuc giam sat

Co_Phim_Duoc_An:
MOV P1,#11111110B ; Noi dat hang 1
MOV A, P1
anl A, #11110000B
cjne A, #11110000B, ROW1

MOV P1,#11111101B ; Noi dat hang 2


MOV A,P1

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 99
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

ANL A,#11110000B
cjne A,#11110000B, ROW2

MOV P1,#11111011B ; Noi dat hang 3


MOV A,P1
ANL A,#11110000B
cjne A,#11110000B, ROW3

MOV P1,#11110111B ; Noi dat hang 4


MOV A,P1
ANL A,#11110000B
cjne A,#11110000B, ROW4

ROW1: MOV DPTR,#KCODE1


call FIND
ljmp Start

ROW2: MOV DPTR,#KCODE2


call FIND
ljmp Start

ROW3: MOV DPTR,#KCODE3


call FIND
ljmp Start

ROW4: MOV DPTR,#KCODE4


call FIND
ljmp Start

; ##############################################
; THU TUC TIM KIEM TRONG BANG
; ##############################################
FIND:
rlc A ; Quay lan luot cac cot len co nho' de ktra
jnc MATCH ; Neu = 0, dung la cot dang co phim duoc an
inc DPTR ; Neu = 1, tiep tuc tang con tro DL va quay de tim ra cot chua phim
dc an
sjmp FIND
MATCH:
CLR A
MOVC A,@A+DPTR ; Luc nay A se chua cac gia tri tu 0-15

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 100
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

MOV P3,A ; xuat ra ngoai, do A < 16 nen bit D7 bao gio cung = 0,
; ta tan dung de tao ra ngat ngoai cho CPU
WAIT5: ; Doi phim duoc tha het
mov P1, #11110000B ; Noi dat tat ca cac hang
mov A, P1
anl A, #11110000B
cjne A, #11110000B, WAIT5
mov P3, #0FFH ; Tat ngat, khoa tin hieu o ngo ra
call Delay
ret
; ##############################################
; KET THUC THU TUC TIM KIEM
; ##############################################

DELAY:
TT0: MOV R2,#180
MOV R1,#72
TT1: DJNZ R1,TT1
DJNZ R2,TT1
RET
;Giai ma
KCODE1: DB 3, 2, 1, 0
KCODE2: DB 7, 6, 5, 4
KCODE3: DB 11, 10, 9, 8
KCODE4: DB 15, 14, 13, 12

END

6.4 Ch−¬ng tr×nh ®iÒu khiÓn hiÓn thÞ LCD


; ######################################################
; THU TUC XUAT LENH RA LCD
; ######################################################
Command_To_LCD:
push DPH
push DPL
push 02H

mov R2, A ; Luu A


mov A,#CW_011 ; Dat A ra, B,C dau vao
mov DPTR, #CW1
movx @DPTR, A ; Xuat tu dieu khien
; Doc thanh ghi lenh

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 101
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

; PA3 PA2 PA1 PA0


; E2 E1 RW RS
mov A, E
cjne A, #2, Nua_MH1
mov A, #00001010B
jmp Xuat_Ra
Nua_MH1:
mov A, #00000110B
Xuat_Ra:
mov DPTR, #LCD_CONTROL
movx @DPTR, A ; Xuat th dk ra LCD
mov DPTR, #LCD_DATA
Ready_CMD:
movx A, @DPTR ; Doc DB vao
jb ACC.7, Ready_CMD
; Dat lai PA, PB lam cong ra
mov A,#CW_000 ; Dat A,B,C dau RA
mov PTR, #CW1
movx @DPTR, A
mov A, R2
mov DPTR, #LCD_DATA
movx @DPTR, A ; Xuat ra

; Chot du lieu bang cach dua xung tu H to L o chan E1


mov DPTR, #LCD_CONTROL

mov A, E
cjne A, #2, Nua_MH1_C
mov A, #00001000B ; E2 = 1; E1 = 1, RW = 0; RS = 0
jmp Chot
Nua_MH1_C:
mov A, #00000100B ; E2 = 0; E1 = 1, RW = 0; RS = 0
Chot:
movx @DPTR, A ; E2 =1; E1 = 0, RW = 0; RS = 0
nop
nop

mov A, #00000000B
movx @DPTR, A ; Chot du lieu

pop 02H
pop DPL

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 102
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

pop DPH
ret
; ######################################################
; KET THUC THU TUC XUAT LENH RA LCD
; ######################################################

; ######################################################
; THU TUC IN KI TU RA LCD
; INPUT = A (ASCII)
; ######################################################
In_Ki_Tu:
push DPH
push DPL
push 02H
mov R2, A ; Luu A
mov A,#CW_011 ; Dat A ra, B,C dau vao
mov DPTR, #CW1
movx @DPTR, A ; Xuat tu dieu khien
; Doc thanh ghi lenh
; PA3 PA2 PA1 PA0
; E2 E1 RW RS
mov A, E
cjne A, #2, Nua_MH1_InKT
mov A, #00001010B
jmp Xuat_Ra_InKT
Nua_MH1_InKT:
mov A, #00000110B
Xuat_Ra_InKT:
mov DPTR, #LCD_CONTROL
movx @DPTR, A ; Xuat ra LCD
mov DPTR, #LCD_DATA
Ready_Chr:
movx A, @DPTR ; Doc DB vao
jb ACC.7, Ready_Chr
; Dat lai PA, PB lam cong ra
mov A,#CW_000 ; Dat A,B,C dau RA
mov DPTR, #CW1
movx @DPTR, A ; Xuat tu dieu khien

mov A, R2 ; Lay lai gia tri luu ban dau, lenh


mov DPTR, #LCD_DATA
movx @DPTR, A ; Xuat ra

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 103
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

; Chot du lieu bang cach dua xung tu H to L o chan E1


mov DPTR, #LCD_CONTROL
mov A, E
cjne A, #2, Nua_MH1_Chot
mov A, #00001001B
jmp Chot_InKT
Nua_MH1_Chot:
mov A, #00000101B
Chot_InKT:
movx @DPTR, A ; E2 =0; E1 = 1, RW = 0; RS = 1
nop
nop
mov A, #00000001B
movx @DPTR, A ; Chot du lieu
pop 02H
pop DPL
pop DPH
ret
; ######################################################
; KET THUC CHUONG TRINH IN KI TU RA LCD
; ######################################################
; ######################################################
; THU TUC IN CHUOI RA LCD
; INPUT = DIA CHI CUA CON TRO DU LIEU DPTR
; ######################################################

Str_To_LCD:
push ACC
Continue_To_Print:
clr A
movc A,@A+DPTR
jz Done
call In_Ki_Tu
inc DPTR
mov A, #06h ; Dich con tro sang phai
call Command_To_LCD
sjmp Continue_To_Print
Done:
pop ACC
ret
; ######################################################
; KET THUC THU TUC IN CHUOI RA LCD

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 104
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

; ######################################################
; ######################################################
; THU TUC XOA LCD
; ######################################################
CLS:
mov E, #1
mov A, #01H
call Command_To_LCD
mov E, #2
mov A, #01H
call Command_To_LCD
mov E, #1
mov A, #0EH
call Command_To_LCD
mov A, #0CH ; Bat hien thi, tat con tro
call Command_To_LCD
ret

; ######################################################
; KET THUC THU TUC XOA LCD
; ######################################################

; ######################################################
; THU TUC IN SO HEXA
; ######################################################
phex:
phex8: ; In so hexa 8 bit, input = ACC
push 02
push acc
swap a
anl a, #0FH
add a, #246
jnc phex_b
add a, #7
phex_b:
add a, #58
mov R2, A ;Luu
mov A, #0EH
call Command_To_LCD
mov A, R2
call In_Ki_Tu

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 105
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

pop acc
phex1:
push acc
anl a, #0FH
add a, #246
jnc phex_c
add a, #7
phex_c:
add a, #58
mov R2, A ;Luu
mov A, #0EH
call Command_To_LCD
mov A, R2
call In_Ki_Tu
pop acc
pop 02
ret
phex16: ; In so hexa 16 bit, input = DPTR
push acc
mov a, dph
acall phex
mov a, dpl
acall phex
pop acc
ret

; ######################################################
; KET THUC THU TUC IN SO HEXA
; ######################################################

6.5 C¸c vÝ dô DEMO


; ########################################### movx @DPTR, A
; CAC VI DU DEMO cpl A
; ########################################### call Delay_100ms
DEMO1: ; LED DON - 8255-4 mov R6, A
mov DPTR, #LED_DON mov A, KEY ; Neu co nut an tro ve
DEMO1_1: ; Nhap nhay cac LED xen ke cjne A, #KEY_BSP, TiepDemo1_1 ; Tiep
tuc chay cho het vong lap
mov R5, #48
jmp Exit_DEMO1 ; Neu co lenh thoat
mov R6, #10101010B thi tro ve luon
Again_DM11: TiepDemo1_1:
mov A, R6 djnz R5, Again_DM11

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 106
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

; Neu co lenh thoat thi tro ve luon


DEMO1_2: ; Chay LED tu trai sang phai TiepDemo1_3:
; Nghi mot chut djnz R5, Again_DM13
mov A, #00H Exit_DEMO1:
movx @DPTR, A mov KEY, #0FFH
call Delay_500ms call Restore_SCR
; Tra lai man hinh truoc'
mov R5, #48
mov R6, #10000000B ret
; Tro ve man hinh 4, chon vd DEMO
Again_DM12:
mov A, R6
; ------------------------------------------
movx @DPTR, A
DEMO2: ; LED 7 DOAN
call Delay_100ms
mov Led7Doan1, #0
rr A
mov Led7Doan2, #0
mov R6, A
mov Led7Doan3, #0
mov A, KEY ; Neu co nut an tro ve
mov Led7Doan4, #0
cjne A, #KEY_BSP, TiepDemo1_2
; Tiep tuc chay cho het vong lap
DEMO2_1:
jmp Exit_DEMO1
; Dem len
; Neu co lenh thoat thi tro ve luon
mov A, #DONG2
TiepDemo1_2:
call Command_To_LCD
djnz R5, Again_DM12

mov DPTR, #MSG11


DEMO1_3: ; Chay LED tu phai sang trai
call Str_To_LCD
; Nghi mot chut
mov A, #00H
mov A, #DONG3
movx @DPTR, A
call Command_To_LCD
call Delay_500ms

mov DPTR, #MSG12


mov R5, #48
call Str_To_LCD
mov R6, #10000000B
Again_DM13:
Dem_Len:
mov A, R6
call Display_Four_7Seg_Led
movx @DPTR, A
call Delay_100ms
call Delay_100ms
mov A, KEY
rl A
cjne A, #KEY_BSP, Sang_Dem_Xuong
mov R6, A
mov KEY, #0FFH
mov A, KEY
jmp Exit_DEMO2
; Neu co nut an tro ve
cjne A, #KEY_BSP, TiepDemo1_3
Sang_Dem_Xuong:
; Tiep tuc chay cho het vong lap
cjne A, #1, TiepTucDemLen
mp Exit_DEMO1

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 107
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

mov KEY, #0FFH


jmp Exit_DEMO2_1 mov DPTR, #MSG13
call Str_To_LCD
TiepTucDemLen:
mov A, Led7Doan4 mov A, #DONG3
inc A call Command_To_LCD
mov Led7Doan4, A
cjne A, #0AH, Dem_Len mov DPTR, #MSG14
add A, #6 call Str_To_LCD
anl A, #00001111B
mov Led7Doan4, A DEMO2_2: ; ---- Dem xuong'
call Display_Four_7Seg_Led
mov A, Led7Doan3 call Delay_100ms
inc A mov A, KEY
mov Led7Doan3, A cjne A, #KEY_BSP, Sang_Dem_Len
cjne A, #0AH, Dem_Len mov KEY, #0FFH
add A, #6 jmp Exit_DEMO2
anl A, #00001111B
mov Led7Doan3, A Sang_Dem_Len:
cjne A, #0, TiepTucDemXuong
mov A, Led7Doan2 mov KEY, #0FFH
inc A jmp DEMO2_1
mov Led7Doan2, A
cjne A, #0AH, Dem_Len TiepTucDemXuong:
add A, #6 mov A, Led7Doan4
anl A, #00001111B dec A
mov Led7Doan2, A mov Led7Doan4, A
cjne A, #0FFH, DEMO2_2
mov A, Led7Doan1 mov Led7Doan4, #9
inc A
mov Led7Doan1, A mov A, Led7Doan3
cjne A, #0AH, Dem_Len dec A
add A, #6 mov Led7Doan3, A
anl A, #00001111B cjne A, #0FFH, DEMO2_2
mov Led7Doan1, A mov Led7Doan3, #9
jmp Dem_Len
mov A, Led7Doan2
Exit_DEMO2_1: dec A
; Thoat dem len, chuyen sang dem xuong mov Led7Doan2, A
mov KEY, #0FFH cjne A, #0FFH, DEMO2_2
mov A, #DONG2 mov Led7Doan2, #9
call Command_To_LCD

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 108
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

mov A, Led7Doan1 DEMO3_3:


dec A mov DPTR, #MATRIX_LED_ANOD
mov Led7Doan1, A mov A, #0FFH
cjne A, #0FFH, DEMO2_2 movx @DPTR, A
mov Led7Doan1, #9
mov A, #11001100B
jmp DEMO2_2 mov DPTR, #MATRIX_LED_R
mov R7, #32
Exit_DEMO2: Again_DM3_3: ; Chay LED
movx @DPTR, A
ret rl A
; ------------------------------------------- call Delay_100ms
DEMO3: ; LED MA TRAN djnz R7, Again_DM3_3
DEMO3_1:
mov DPTR, #MATRIX_LED_ANOD DEMO3_4: ; Thi nghiem voi cac cot
mov A, #0FFH mov A, #0FFH
movx @DPTR, A mov DPTR, #MATRIX_LED_R
movx @DPTR, A
mov A, #11001100B
mov DPTR, #MATRIX_LED_R mov A, #0FFH
mov R7, #32 mov DPTR, #MATRIX_LED_G
Again_DM3_1: ; Nhay LED cua cac cot, xen ke movx @DPTR, A
movx @DPTR, A
cpl A mov DPTR, #MATRIX_LED_ANOD
call Delay_100ms mov A, #01H
djnz R7, Again_DM3_1 movx @DPTR, A

DEMO3_2: mov R7, #64


mov DPTR, #MATRIX_LED_ANOD Again_DM3_4: ; Chay LED
mov A, #0FFH movx @DPTR, A
movx @DPTR, A rl A
call Delay_100ms
mov A, #11001100B djnz R7, Again_DM3_4
mov DPTR, #MATRIX_LED_R ret
mov R7, #32
Again_DM3_2: ; Chay LED DEMO4: ; BAN PHIM, LCD
movx @DPTR, A
rr A ret
call Delay_100ms
djnz R7, Again_DM3_2

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 109
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

DEMO5: ;ADC, DAC


; 8255-2
; ADC_DB EQU 8008H ; Bus du lieu cua ADC0809
; DAC_DB EQU 8009H ; Bus du lieu cua DAC0808
; ADC_CONTROL EQU 800AH ; Cac tin hieu dieu khien ADC0809
; CW2 EQU 800BH ; Tu dieu khien CW cua 8255-2
; Cac bit cua ADC_CONTROL nhu sau
; 7 6 | 5 | 4 | 3 | 2 | 1 | 0 |
; ----|-----|----|--------|------|------|------|
; X X | EOC | OE | ALE+SC | ADDC | ADDB | ADDA |
ADC:
mov DPTR, #ADC_CONTROL
mov DPTR, #CW2 mov A, #00110000B ; Cho phep dau ra OE
= 1
mov A, #CW_100 ; A vao, B, C ra
movx @DPTR, A
movx @DPTR, A

mov DPTR, #ADC_DB ; Doc du lieu tra ve


mov DPTR, #ADC_CONTROL ; Chon
kenh analog 0 movx A, @DPTR
mov A, #00001000B mov Nhiet_Do, A
movx @DPTR, A
nop mov E, #2
nop mov A, #DONG1
nop call Command_To_LCD
mov A, #00100000B ; Chot
dia chi va bat dau chuyen doi
mov DPTR, #MSG34
movx @DPTR, A
call Str_To_LCD

mov DPTR, #CW2 ; Chuyen PC -


ADC_CONTROL lam dau vao
mov A, #CW_101 ; A, C vao, B ra mov A, #DONG2

movx @DPTR, A call Command_To_LCD

Wait_EOC: ; Cho` cho mov DPTR, #MSG35


qua trinh convert ket thuc call Str_To_LCD
mov DPTR, #ADC_CONTROL
movx A, @DPTR mov A, #DONG3
anl A, #00100000B call Command_To_LCD
cjne A, #00100000B, Wait_EOC
; Ket thuc qua trinh chuyen doi mov DPTR, #MSG33
call Str_To_LCD
mov DPTR, #CW2 ; Dat lai PC lam dau
ra
mov A, Nhiet_Do
mov A, #CW_100 ; A vao, B, C ra
clr CY
movx @DPTR, A

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 110
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

subb A, #100 mov A, #'C'


jc Nhiet_Do_Nho_Hon_100 call In_Ki_Tu
Nhiet_Do_Lon_Hon_100: mov A, #' '
mov A, Nhiet_Do call In_Ki_Tu
dec A ; Tru 1 call Delay_500ms
rl A call Delay_500ms
rl A ; Nhan 4 de nhay cho dung mov A, KEY
vi tri chuoi can tra trong bang
cjne A, #KEY_ENTER, KT_Thoat_ADC
mov R6, #4
mov KEY, #0FFH
mov R0, A
jmp DAC
mov DPTR, #LON_HON_100_DO
In_Nhiet_Do_1:
KT_Thoat_ADC:
movc A, @A + DPTR
cjne A, #KEY_BSP, Tiep_Tuc_ADC
call In_Ki_Tu
mov KEY, #0FFH
inc R0
call Restore_SCR
mov A, R0
ret
djnz R6, In_Nhiet_Do_1
jmp In_Do_C
Tiep_Tuc_ADC:
jmp ADC
Nhiet_Do_Nho_Hon_100:
mov A, Nhiet_Do
dec A ; Tru 1
; -------------------------------------------
rl A ; Nhan 2 de nhay cho dung ----
vi tri chuoi can tra trong bang
DAC:
mov R6, #2
mov E, #2
mov R0, A
mov A, #01
mov DPTR, #NHO_HON_100_DO
call Command_To_LCD
In_Nhiet_Do_2:
movc A, @A + DPTR
mov A, #DONG2
call In_Ki_Tu
call Command_To_LCD
inc R0
mov A, R0
mov DPTR, #MSG38 ; 'Thi nghiem voi
djnz R6, In_Nhiet_Do_2 DAC'
call Str_To_LCD
In_Do_C:
mov A, #' ' ; DAC_DB EQU 8009H
; Bus du lieu cua DAC0808
call In_Ki_Tu
mov A, #DONG3
mov A, #'d'
call Command_To_LCD
call In_Ki_Tu
mov A, #'o'
mov DPTR, #MSG36
call In_Ki_Tu
call Str_To_LCD
mov A, #' '
call In_Ki_Tu

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 111
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

mov Ap_Ra, #10 mov KEY, #0FFH


Tang_Ap_DAC:
mov A, Ap_Ra Exit_DEMO5:
Dao_Gia_Tri: call Restore_SCR
rrc A ret
mov 07H, C DEMO6: ; STEPPER, DC MOTOR
rrc A ;DIGITAL_INPUT EQU 800CH ; Dau vao so
mov 06H, C ;DC_STEPPER EQU 800DH ; Dieu khien dong co
rrc A buoc (PB0-PB3), dong co 1 chieu(PB4-PB7
mov 05H, C
; PULSE_INPUT EQU 800EH ; 4 dau vao xung =
rrc A
nut(PC4-PC7), 4 tu cac nguon phat
mov 04H, C
xung(PC0-PC3)
rrc A
; CW3 EQU 800FH ; Tu dieu khien CW cua
mov 03H, C 8255-3
rrc A
mov 02H, C mov DPTR, #DC_STEPPER
rrc A mov R4, #00110011B
mov 01H, C mov R7, #255
rrc A mov R6, #5
mov 00H, C mov Nut1, #0
mov Nut2, #0
mov A, 20H mov Nut3, #0
mov Nut4, #0
mov DPTR, #DAC_DB
movx @DPTR, A Quay_Thuan:
mov A, Ap_Ra mov A, R4
add A, #2 movx @DPTR, A
mov Ap_Ra, A rl A
call Delay_500ms mov R4, A
call Delay_500ms call Delay_7ms
call Delay_500ms call Delay_7ms
call Delay_500ms call Delay_7ms
call Delay_500ms mov A, KEY
call Delay_500ms cjne A, #KEY_BSP, Case_Enter_QT
mov KEY, #0FFH
mov A, Ap_Ra call Restore_SCR
cjne A, #254, KT_Thoat_Tang_Ap_DAC ret
jmp Exit_DEMO5 ; MSG29: db 'ENTER=Test pulse input', 0
; MSG30: db 'ENTER=Test digital
KT_Thoat_Tang_Ap_DAC: input',0

mov A, KEY Case_Enter_QT:

cjne A, #KEY_BSP, Tang_Ap_DAC mov A, KEY

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 112
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

cjne A, #KEY_ENTER, Du_So_Buoc1 mov A, #DONG1


mov KEY, #0FFH call Command_To_LCD
;Hien thi thong bao bam enter de quay
nguoc
mov DPTR, #MSG30
mov E, #2
call Str_To_LCD
mov A, #DONG1
mov DPTR, #DC_STEPPER
call Command_To_LCD
mov A, #0
movx @DPTR, A
mov DPTR, #MSG29
jmp Pulse_Digital_Input_Test
call Str_To_LCD
mov R7, #255
Du_So_Buoc2:
mov R6, #5
djnz R7, Quay_Nguoc
mov R4, #00110011B
mov R7, #255
mov DPTR, #DC_STEPPER
djnz R6, Quay_Nguoc
jmp Quay_Nguoc

Pulse_Digital_Input_Test:
Du_So_Buoc1:
; MSG32: db 'Digital input value: ',0
djnz R7, Quay_Thuan
mov E, #2
mov R7, #255
mov A, #DONG2
djnz R6, Quay_Thuan
call Command_To_LCD

Quay_Nguoc:
mov DPTR, #MSG31
mov A, R4
call Str_To_LCD
movx @DPTR, A
rr A
mov A, #DONG3
mov R4, A
call Command_To_LCD
call Delay_7ms
call Delay_7ms
mov DPTR, #MSG32
call Delay_7ms
call Str_To_LCD

mov A, KEY
; DIGITAL_INPUT EQU 800CH ;
cjne A, #KEY_BSP, Case_Enter_QN Dau vao so
mov KEY, #0FFH ; DC_STEPPER EQU 800DH ;
Dieu khien dong co buoc (PB0-PB3), dong co 1
call Restore_SCR chieu(PB4-PB7)
ret ; PULSE_INPUT EQU 800EH ;
4 dau vao xung = nut(PC4-PC7), 4 tu cac nguon
phat xung(PC0-PC3)
Case_Enter_QN:
; CW3 EQU 800FH
mov A, KEY ; Tu dieu khien CW cua 8255-3
cjne A, #KEY_ENTER, Du_So_Buoc2
mov KEY, #0FFH Quet_phim:
;Hien thi thong bao bam enter de quay mov DPTR, #PULSE_INPUT
TEST pulse input
movx A, @DPTR
mov E, #2

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 113
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

cjne A, #0FFH, Phim1 movx A, @DPTR


anl A, #11110000B
cjne A, #11110000B, Cho_Phim3_tha
jmp Cap_nhat_gia_tri call Delay_7ms
call Delay_7ms
Phim1: call Delay_7ms
movx A, @DPTR inc Nut3 ; Duoc tha roi thi tang
Nut1 - chua tong so lan bam len
anl A, #11110000B ; Neu phim
thu 1 dc an jmp Cap_nhat_gia_tri
cjne A, #01110000B, Phim2
Cho_Phim1_tha: Phim4:
mov DPTR, #PULSE_INPUT movx A, @DPTR
movx A, @DPTR anl A, #11110000B ; Neu phim
thu 4 duoc an
anl A, #11110000B
cjne A, #11100000B, Cap_nhat_gia_tri
cjne A, #11110000B, Cho_Phim1_tha
Cho_Phim4_tha:
call Delay_7ms
movx A, @DPTR
call Delay_7ms
anl A, #11110000B
call Delay_7ms
cjne A, #11110000B, Cho_Phim4_tha
inc Nut1 ; Duoc tha roi thi tang
Nut1 - chua tong so lan bam len call Delay_7ms
jmp Cap_nhat_gia_tri call Delay_7ms
call Delay_7ms
Phim2: inc Nut4 ; Duoc tha roi thi tang
Nut1 - chua tong so lan bam len
movx A, @DPTR
anl A, #11110000B ; Neu phim
thu 2 duoc an Cap_nhat_gia_tri:
cjne A, #10110000B, Phim3 Cap_nhat_gia_tri_digital_input:
Cho_Phim2_tha: mov A, #DONG3 + 28
movx A, @DPTR call Command_To_LCD
anl A, #11110000B
cjne A, #11110000B, Cho_Phim2_tha mov DPTR, #DIGITAL_INPUT
call Delay_7ms movx A, @DPTR
call Delay_7ms call phex8 ; in ra gia tri cua
digital input
call Delay_7ms
inc Nut2 ; Duoc tha roi thi tang
Nut1 - chua tong so lan bam len
jmp Cap_nhat_gia_tri ; MSG31: db 'B1: |B2: |B3: |B4: ',0
Cap_nhat_so_lan_bam_cac_nut:
Phim3: mov A, #DONG2 + 3
movx A, @DPTR call Command_To_LCD
anl A, #11110000B ; Neu phim
thu 3 duoc an
mov A, Nut1
cjne A, #11010000B, Phim4
call phex8
Cho_Phim3_tha:

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 114
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

mov A, #DONG2 + 9 ; Select receive mode, bam nut 1


call Command_To_LCD mov DPTR, #MSG25
mov A, Nut2 call Str_TO_LCD
call phex8 mov A, #0CH ; Giau con tro
call Command_To_LCD
mov A, #DONG2 + 15 Cho_Phim_0_DM7:
call Command_To_LCD mov A, KEY
mov A, Nut3 cjne A, #0, Cho_Phim_1_DM7
call phex8 mov KEY, #0FFH
jmp Receive_Mode
mov A, #DONG2 + 21
call Command_To_LCD Cho_Phim_1_DM7:
mov A, Nut4 mov A, KEY
call phex8 cjne A, #1, Cho_Phim_BSP_DM7
mov KEY, #0FFH
mov A, KEY jmp Send_Mode
cjne A, #KEY_BSP, Tiep_tuc
mov KEY, #0FFH Cho_Phim_BSP_DM7:
call Restore_SCR mov A, KEY
ret cjne A, #KEY_BSP, Cho_Phim_0_DM7
mov KEY, #0FFH
Tiep_tuc: call Enable_SERIAL_INT
jmp Quet_Phim ret

ret Receive_Mode:
DEMO7: ; RS232 mov A, #DONG3
call Disable_SERIAL_INT call Command_To_LCD
; Lam viec voi nua man hinh 2
mov E, #2 mov DPTR, #MSG26
call Str_To_LCD
mov A, #01
call Command_To_LCD ; Xoa LCD mov A, #DONG4
call Command_To_LCD
mov A, #DONG1
call Command_TO_LCD mov A, #0FH ; Nhap nhay con tro
; Select receive mode, bam nut 0 call Command_To_LCD
mov DPTR, #MSG24 clr RI
call Str_TO_LCD mov R7, #23
Doi_Nhan_Du_Lieu:
mov A, #DONG2 mov A, KEY
call Command_TO_LCD cjne A, #KEY_BSP, Co_Du_Lieu_Den

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 115
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

mov KEY, #0FFH


jmp DEMO7 call Delay_500ms
call Delay_500ms
Co_Du_Lieu_Den: call Delay_500ms
jnb RI, Doi_Nhan_Du_Lieu call Delay_500ms
mov A, SBUF mov A, KEY
call In_Ki_Tu cjne A, #KEY_BSP, Continue_Transfer
mov KEY, #0FFH
djnz R7, Chua_Het_Hang jmp DEMO7
mov R7, #24
mov A, #DONG4 ; Tro ve dau dong
call Command_To_LCD
Chua_Het_Hang:
clr RI
jmp Doi_Nhan_Du_Lieu

; ------------------------------------
Send_Mode:
mov A, #DONG3
call Command_To_LCD

mov DPTR, #MSG27


call Str_To_LCD

Continue_Transfer:
mov DPTR, #MSG22
call Send_String

mov A, #13
call Send_Char

mov A, #10
call Send_Char

mov DPTR, #MSG23


call Send_String

mov A, #13
call Send_Char

mov A, #10
call Send_Char

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 116
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

6.5 S¬ ®å m¹ch in cña c¸c board

S¬ ®å m¹ch in cña BOARD CPU - mÆt trªn

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 117
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

S¬ ®å m¹ch in cña BOARD CPU - mÆt d−íi

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 118
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

S¬ ®å m¹ch in cña BOARD ADC - mÆt trªn

S¬ ®å m¹ch in cña BOARD xung sè, ®éng c¬ b−íc- mÆt d−íi

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 119
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

S¬ ®å m¹ch in cña BOARD LED (mÆt d−íi)


®¬n, LED 7 ®o¹n vµ LED ma trËn
(mÆt trªn)

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 120
www.scribd.com/bao_trinh
suu tam: trinhvubao.ac@gmail.com
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 61 :PhÇn phô lôc

Tµi liÖu tham kh¶o


1. CÊu tróc vµ lËp tr×nh hä vi ®iÒu khiÓn 8051 – NguyÔn T¨ng C−êng – Nhµ
xuÊt b¶n khoa häc kü thuËt – 2004
2. Hä vi ®iÒu khiÓn 8051 – Tèng V¨n On, Hoµng §øc H¶i – Nhµ xuÊt b¶n
Lao ®éng –X/ héi – 2001
3. C¸c tµi liÖu tham kh¶o kh¸c d−íi d¹ng html vµ d¹ng pdf ®i kÌm theo CD
ë th− môc “Tai lieu tham khao”

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H Trang 121
www.scribd.com/bao_trinh

You might also like