Professional Documents
Culture Documents
1689 Thiet Ke He PLC
1689 Thiet Ke He PLC
PhÇn I:
Trong phÇn nµy chóng ta ®i t×m hiÓu vÒ kh¸i niÖm ®iÒu khiÓn l«gic vµ c¸c
kiÕn thøc vÒ PLC.
1.1. Kh¸i niÖm ®iÒu khiÓn logic.
Trong thùc tÕ c«ng nghÖ cã nhiÒu ®¹i l−îng vËt lý cÇn ®iªï khiÓn vµ quan t©m
®Õn gi¸ trÞ cña nã t¹i mét thêi ®iÓm cã thÓ lµ lín hay nhá qu¸ tr×nh ®iÒu ®ã gäi lµ
®iÒu khiÓn qóa tr×nh. Nh−ng ngoµi ra cßn cã mét ®iÒu khiÓn kh¸c trong qu¸ tr×nh
s¶n xuÊt cÇn quan t©m tíi ®ã lµ viÖc ®ång bé qu¸ tr×nh lµm viÖc cña toµn bé hÖ
thèng. Khi ®ã ta chØ quan t©m ®Õn tr¹ng th¸i cña c¸c thiÕt bÞ ®ang lµm viÖc hay
nghØ qu¸ tr×nh nµy gäi lµ ®iÒu khiÓn l«gic.
§iÒu khiÓn l«gic xuÊt ph¸t tõ thùc tÕ ngoµi viÖc thiÕt bÞ lµm viÖc nh− thÕ nµo
ng−êi ta cßn ph¶i quan t©m tíi viÖc khi nµo cho thiÕt bÞ lµm viÖc, khi nµo cho
thiÕt bÞ nghØ ®Ó ®¹t ®−îc hiÖu qu¶ cao trong qu¸ tr×nh ®iÒu khiÓn.
VËy trong ®iÒu khiÓn l«gic ta cÇn quan t©m tíi 2 tr¹ng th¸i do ®ã vÒ mÆt tÝn
hiÖu ng−êi ta quan t©m ®Õn 2 tr¹ng th¸i: Tr¹ng th¸i cao(High) vµ tr¹ng th¸i thÊp
(low).Th«ng th−êng trong thiÕt kÕ ®iÒu khiÓn logic ng−êi ta ngÇm qui −íc thiÕt
bÞ ®ang lµm viÖc cã tr¹ng th¸i Logic 1 hay tr¹ng th¸i cao cßn khi thiÕt bÞ ®ang
nghØ th× ë møc l«gic 0 hay tr¹ng th¸i thÊp. Tuy nhiªn viÖc quy −íc trªn chØ lµ
t−¬ng ®èi mµ tuú theo thiÕt bÞ ®iÒu khiÓn mµ t−¬ng øng víi 0 lµ ®iÓm nghØ vµ lµ
®iÒu khiÓn lµm viÖc hoÆc ng−îc l¹i cßn nÕu con ng−êi chñ ®éng ¸p ®Æt 1 lµ lµm
viÖc th× chän thiÕt bÞ cho phï hîp vµ cã thÓ ®Æt ng−îc l¹i.
Trong ®iÒu khiÓn l«gic ta cÇn quan t©m ®Õn c¸c biÕn ®Çu vµo ®Ó gia c«ng
theo hµm logic t¹o nªn gi¸ trÞ ®Çu ra. Quan hÖ gi÷a ®Çu ra vµ ®Çu vµo nhê
ch−¬ng tr×nh phÇn mÒm hay phÇn cøng ®iÒu khiÓn. C¸c biÕn ®Çu vµo ®−îc t¹o
nªn tõ c¸c nót Ên, c«ng t¾c c¸c gi¸ trÞ nµy phô thuéc vµo ng−êi vËn hµnh hay
tr×nh tù cña c«ng nghÖ. Ngoµi ra c¸c biÕn vµo kh¸c Sensor logic cña c¸c thiÕt bÞ
do l−êng c¸c ®¹i lù¬ng vËt lý mµ ta cÇn ®iÒu khiÓn nh− tÝn hiÖu ra cña c¸c c«ng
t¾c hµnh tr×nh, R¬le ®iÖn ¸p, R¬le ¸p lùc, R¬le nhiÖt…
Hµm Logic ®Çu ra ®−a tíi ®iÒu khiÓn c¸c ®èi t−îng cã thÓ lµ nhãm c¸c thiÕt
bÞ nh− c¸c cuén hót c¸c thiÕt bÞ ®ãng c¾t hay ®éng c¬ cña m¸y s¶n xuÊt…
IN0 Out0
C¸c Bé ®iÒu C¸c
®Çu ®Çu ra
IN1 khiÓn Out1
vµo logic
theo
logic ®éc
®éc ch−¬ng
tr×nh.
lËp.
lËp.
INK Outm
Khi nghiªn cøu tíi PLC ®iÒu ®Çu tiªn ®ã lµ sè l−îng c¸c ®Çu vµo vµ ®Çu ra
(Input, Output) ®èi víi mét PLC th× sè ®Çu vµo ra cã thÓ lµ 6 hoÆc 8 hay nhiÒu
h¬n. Sè l−îng ®Çu vµo vµ ®Çu ra cho biÕt møc ®é qu¶n lý ®−îc nhiÒu thiÕt bÞ.
VÊn ®Ò nµy ®Æc biÖt quan träng khi øng dông PLC cho mét d©y truyÒn s¶n xuÊt
phøc t¹p cÇn gia c«ng nhiÒu biÕn ®Çu vµo.
C¸c biÕn ®Çu vµo ®−îc lÊy tõ c¸c c«ng t¾c ®ãng c¾t th«ng th−êng, c«ng t¾c
vÞ trÝ hay c¸c Sensor logic ®Ó ®Æt c¸c gi¸ trÞ logic ë ®Çu vµo. C¸c ®Çu vµo nµy
th−êng cã møc ®iÖn ¸p cao ®Ó t¨ng ®é tin cËy khi cÇu truyÔn xa. V× bªn trong
cña PLC lµ mét bé vi ®iÒu khiÓn víi vi ®iÒu khiÓn kh«ng lµm viÖc víi møc ®iÖn
¸p cao v× vËy cÇn mét m¹ch chuyÓn møc ®iÖn ¸p vÒ møc chuÈn víi møc logic 1
lµ +5 vµ møc logic 0 lµ 0V. Khi ®ã PLC (bé ®iÒu khiÓn bªn trong) sÏ quÐt c¸c
cæng vµo ®Ó lÊy d÷ liÖu sau mét qu¸ tr×nh xö lý bªn trong b»ng ch−¬ng tr×nh
phÇn mÒm sau ®ã d÷ liÖu ®Çu ra d¹ng sè víi møc logic 1 lµ +5V møc logic 0 lµ
0V qua m¹ch chuyÓn møc ta cã c¸c møc ra ®iÖn ¸p cao h¬n ®Ó ®¸p øng yªu cÇu
®iÒu khiÓn.
C¸c ®Çu ra nèi víi c¸c cuén hót ®ãng c¾t r¬le, ®éng c¬ m¸y s¶n xuÊt, ®ãng
më c¸c van…
Víi PLC th× bé vi ®iÒu khiÓn MCU (Micro Controller Unit) lµ h¹t nh©n
cña c¶ hÖ. Bé vi ®iÒu khiÓn ®¶m nhiÖm tÊt c¶ c¸c c«ng viÖc tõ thu nhËp d÷ liÖu
®Çu vµo, xö lý c¸c d÷ liÖu ®ã vµ ®−a ra ®Çu ra PLC lµm viÖc nh− mét m¸y tÝnh
nhËn d÷ liÖu ®Çu vµo d¹ng sè vµ ®−a d÷ liÖu ra d¹ng sè vµ qu¸ tr×nh ho¹t ®éng lµ
hoµn toµn tù ®éng.
Ngoµi ra c¸c ®Çu vµo ra logic th× PLC cßn cã c¸c ®Çu vµo ®Ó cÊp nguån
th«ng th−êng nguån nu«i PLC lµ mét ®iÖn ¸p xoay chiÒu qua xö lý nguån t¹o ra
®iÖn ¸p 1 chiÒu phï hîp ®Ó nu«i bé vi ®iÒu khiÓn vµ c¸c m¹ch ®iÖn tö kh¸c.
1.2.3. øng dông vμ −u nh−îc ®iÓm cña bé ®iÒu khiÓn logic cã kh¶
n¨ng lËp tr×nh (PLC).
Sù ra ®êi cña PLC ®· ®¸p øng ®−îc yªu cÇu cÇn thiÕt cña viÖc ®iÒu khiÓn
c¸c d©y truyÒn s¶n xuÊt vµ mét lo¹t c¸c yªu cÇu kh¸c mµ c¸c thiÕt bÞ ®iÒu khiÓn
logic tr−íc nã kh«ng thÓ ®¸p øng hoÆc ®¸p øng h¹n chÕ.
§¬n cö viÖc øng dông PLC ®Ó thay thÕ cho 1 m¶ng r¬le. Trong c¸c hÖ
thèng khèng chÕ - ®iÒu khiÓn logic truyÒn thèng qóa tr×nh nµy ®−îc thùc hiÖn
b»ng m¶ng c¸c r¬le - c«ng t¾c t¬ vµ sau nµy cßn ®−îc thay thÕ b»ng c¸c m¹ch IC
Lª Thμnh S¬n \4 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
sè râ rµng thùc hiÖn qu¸ tr×nh ®iÒu khiÓn nµy hoµn toµn thùc hiÖn b»ng phÇn
cøng v× vËy mµ mçi mét yªu cÇu ®iÒu khiÓn th× l¹i ph¶i ®i x©y dùng 1 phÇn cøng
®¸p øng yªu cÇu trªn mµ viÖc x©y dùng b»ng phÇn cøng nh− vËy lµ cùc kú khã
kh¨n vÒ mÆt kü thuËt, chi phÝ tèn kÐm vÒ mÆt kinh tÕ vµ ®Æc biÖt lµ mÊt rÊt nhiÒu
thêi gian khi x©y dùng còng nh− khi cã yªu cÇu thay ®æi hay hiÖu chØnh th× ph¶i
cho hÖ thèng dõng vµ th¸o ra l¾p l¹i hoµn toµn b»ng phÇn cøng v× vËy mµ tæng
chi phÝ cho qu¸ tr×nh nµy lµ rÊt lín. §Æc biÖt víi c¸c d©y truyÒn yªu cÇu ®iÒu
khiÓn phøc t¹p th× m¹ch nµy chiÕm mét thÓ tÝch ®¸ng kÓ vµ ®é tin cËy kh«ng cao.
ViÖc ®−a PLC vµo ®Ó thay thÕ cho qu¸ tr×nh ®iÒu khiÓn logic ®em l¹i
nh÷ng −u ®iÓm næi bËt.
Víi mét hÖ thèng lín th× chi phÝ cho mét bé PLC lµ rÊt nhá. Mét PLC rÊt
gän nhÑ mµ møc ®é ®iÒu khiÓn lµ v« cïng lín. C¸c tiÕp ®iÓm trong m¹ch ®iÒu
khiÓn logic b»ng cuén d©y r¬le ®· ®−îc thay thÕ b»ng c©u lÖnh v× vËy sè l−îng
tiÕp ®iÓm lµ kh«ng h¹n chÕ.
§Æc ®iÓm tÝnh mÒm dÎo trong ®iÒu khiÓn mµ ta cã thÓ thay thÕ luËt ®iÒu
khiÓn rÊt ®¬n gi¶n vµ nhanh gän mµ hÇu nh− kh«ng ph¶i chi phÝ tµi chÝnh trong
khi hÖ thèng ®ang lµm viÖc b»ng mét m¸y lËp tr×nh cÇm tay (HPC) hay mét m¸y
tÝnh c¸ nh©n (PC) ta hoµn toµn cã thÓ gäi ch−¬ng tr×nh ra ®Õ söa ch÷a. ViÖc l¾p
®Æt PLC rÊt ®¬n gi¶n nhanh gän chØ cÇn x¸c ®Þnh c¸c ®Çu vµo vµ ®Çu ra viÖc lËp
tr×nh cho PLC hoµn toµn thùc hiÖn ®−îc b»ng phÇn mÒm do nhµ s¶n xuÊt cung
cÊp, c¸c nhµ s¶n xuÊt .
C¸c nhµ s¶n xuÊt PLC cã thÓ s¶n xuÊt theo ph−¬ng ph¸p s¶n xuÊt hµng
lo¹t tuú theo øng dông mµ khi viÕt ch−¬ng tr×nh sÏ t¹o ra c¸c quy luËt ®Òu kh¸c
nhau v× vËy mµ lµm gi¶m gi¸ thµnh cña PLC.
VËy c¸c −u ®iÓm khi dïng PLC.
- Thêi gian l¾p ®¹t c«ng tr×nh ng¾n.
- DÔ dµng thay ®æi mµ kh«ng g©y tæn thÊt ®Õn tµi chÝnh.
- Cã thÓ dÔ dµng tÝnh to¸n chÝnh x¸c gi¸ thµnh.
- CÇn Ýt thêi gian huÊn luyÖn
- DÔ dµng thay ®æi phÇm mÒm.
Lª Thμnh S¬n \5 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Nh− vËy øng dông PLC trong kü thuËt lµ v« cïng phong phó trong rÊt nhiÒu
lÜnh vùc tõ ®iÒu khiÓn ®Õn xö lý th«ng tin v× vËy cµng thÊy vai trß cña nã.
1.3. Bé vi ®iÒu khiÓn vμ øng dông cña bé vi ®iÒu khiÓn
trong hÖ PLC.
Trong thêi ®¹i c«ng nghÖ th«ng tin vµ øng dông m¹nh mÏ cña nã vµo ®êi
sèng vµ kü thuËt th× nh÷ng kiÕn thøc vÒ vi ®iÒu khiÓn (Micro Controller) vµ øng
dông cña nã cµng trë nªn cÇn thiÕt.
1.3.1. Giíi thiÖu tæng quan vÒ bé vi ®iÒu khiÓn.
1.3.1.1. §Þnh nghÜa vi ®iÒu khiÓn.
Bé vi ®iÒu khiÓn MC (Micro Controller) lµ mét m¹ng tÝch hîp rÊt cao trªn
mét chip vµ cã thÓ lËp tr×nh ®−îc dïng ®Ó ®iÒu khiÓn hÖ thèng.
Bé vi ®iÒu khiÓn suÊt hiÖn tõ viÖc ®−a bé VXL vµo qu¸ tr×nh ®iÒu khiÓn v×
vËy cã thÓ hiÓu bé vi ®iÒu khiÓn nh− bé vi xö lý song song søc xö lý th−êng
kh«ng lín nh− nh÷ng bé vi xö lý lín.
Khi nghiªn cøu vi ®iÒu khiÓn ta quan t©m ®Õn c¸c vÊn ®Ò nh− sau:
- KÝch th−íc bit xö lý.
- Tèc ®é xö lý.
- Kh¶ n¨ng vµo ra.
- T−¬ng thÝch víi m¸y tÝnh c¸ nh©n (PC).
- Ph©n tÝch øng dông.
- Ngoµi ra cßn quan t©m ®Õn gi¸ thµnh cña thiÕt bÞ.
1.3.1.2. Nguyªn lý ho¹t ®éng.
Nguyªn lý ho¹t ®éng cña bé vi ®iÒu khiÓn nh− mét bé vi xö lý
Víi mçi mét bé vi ®iÒu khiÓn ngoµi c¸c phÇn tö phô nh− c¸c r¾c c¾m c¸c
m¹ch ®Öm vµ l©ng møc ®iÖn ¸p cho phï hîp yªu cÇu th× víi mäi hÖ vi ®iÒu khiÓn
®Òu chøa c¸c phÇn tö c¬ b¶n nh− sau:
- ChÝp vi xö lý ë ®©y diÔn ra c¸c qu¸ tr×nh xö lý th«ng tin nh− c¸c phÐp
to¸n sè häc vµ logic, c¸c thao t¸c vµo ra d÷ liÖu mäi qu¸ tr×nh nµy theo mét
ch−¬ng tr×nh ®· ®−îc l¹p s½n ®Ó t¹o ra quan hÖ gi÷a ®Çu vµo vµ ®Çu ra theo yªu
cÇu.
- ROM (Read Only Memory) lµ mét bé nhí chØ ®äc th−êng l−u tr÷ hÖ ®iÒu
hµnh ®Ó gióp chÝp vi xö lý tiÕn hµnh c¸c thao t¸c khëi t¹o khi dõng vµ 1 sè qu¸
tr×nh vµo ra d÷ liÖu.
- RAM (Ramdom Access Memory) lµ bé nhí võa cã kh¶ kh¶ n¨ng ®äc vµ
ghi víi bé nhí nµy th−êng dïng l−u tr÷ d÷ liÖu trong qu¸ tr×nh lµm viÖc hoÆc cã
thÓ dïng RAM nh− mét ROM khi ®ã c¸c thao t¸c chung nhËp vµo RAM nh−
viÖc ®äc ch−¬ng tr×nh ë ROM.
S¬ ®å cña mét hÖ vi ®iÒu khiÓn víi c¸c phÇn tö chÝnh nh− sau:
Ngo¹i vi
Xung nhÞp d
d d
TÝn hiÖu ng¾t RoM RAM
VXL
Reset a a
a
TXD RXD
Cæng truyÒn
nèi tiÕp
Ban ®Çu khèi t¹o vi xö lý ®äc ch−¬ng tr×nh trong ROM ®ã lµ ch−¬ng tr×nh
®iÒu hµnh nã quÐt vµ kiÓm tra toµn bé hÖ thèng vµ ®−a tr¹ng th¸i c¶ hÖ ë tr¹ng
th¸i s½n sµng råi ch¹y ch−¬ng tr×nh chÝnh khi ®ã sÏ cã qu¸ tr×nh quÐt lÊy tÝn hiÖu
vµo theo yªu cÇu cña ch−¬ng tr×nh råi tiÕn hµnh xö lý, gia c«ng ®Ó ®−a ra ®iÒu
khiÓn c¸c thiÕt bÞ theo yªu cÇu. C¸c tÝn hiÖu ®iÒu khiÓn nµy cã thÓ lµ d¹ng sè
®−îc l−u tr÷ b»ng mét vi m¹ch ®Öm chèt vµ cã thÓ chuyÓn møc ®iÒu khiÓn theo
yªu cÇu. NÕu ®èi t−îng ®iÒu khiÓn lµ tÝn hiÖu t−¬ng tù th× tõ tÝn hiÖu sè qua bé
chuyÓn ®æi D/A t¹o ra tÝn hiÖu t−¬ng tù lµm tÝn hiÖu ®iÒu khiÓn.
Lª Thμnh S¬n \8 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
T−¬ng tù nh− ®Çu ra, ®Çu vµo còng cã thÓ chuyÓn møc chuÈn v× th−êng
c¸c tÝn hiÖu sè lÊy tõ Sensor logic v× yªu cÇu truyÒn xa nªn cã møc ®iÖn ¸p
kh«ng phï hîp víi yªu cÇu lµm viÖc cña vi xö lý nÕu ®Çu vµo lµ mét tÝn hiÖu
t−¬ng tù th× cÇn mét bé biÕn ®æi A/D ®Ó ®−a tÝn hiÖu sè vµo vi xö lý.
Nh− vËy vi ®iÒu khiÓn nh− mét m¸y tÝnh mµ øng dông cña nã lµ t¹o ra c¸c
tÝn hiÖu ®iÒu khiÓn hÖ thèng b»ng ch−¬ng tr×nh phÇn mÒm.
1.3.1.3. øng dông cña vi ®iÒu khiÓn.
Sù lín m¹nh kh«ng ngõng cña c¸c thiÕt bÞ vi ®iÒu khiÓn (chip xö lý trung
t©m) phÇn nµo nãi lªn vai trß quan träng cña hÖ vi ®iÒu khiÓn trong thùc tÕ. Vµo
nh÷ng n¨m 1970 do sù ph¸t triÓn cña kü thuËt vi ®iÖn tö dùa trªn kü thuËt MOS
(Metal Oxire Semicon Ductor) víi ®é tÝch hîp ngµy cµng cao. Vi m¹ch MSI
(Mundium Size Integration) cã ®é tÝch hîp cì 103 Tranzito trªn mét chÝp, vi
m¹ch LSI (Large Size Integretion) cã ®é tÝch hîp cì 104 Trangito trªn mét chÝp
vµ vi m¹ch VLSI (Verry LSI) cã ®é tÝch hîp 105 Tranzito trªn chÝp nh−ng sè bit
xö lý cßn nhá. N¨m 1971 bé vi xö lý Intel 4004 lo¹i 4 bit ra ®êi cã chøa 2250
Tranzito ®Õn n¨m 1975 h·ng Intel cã ra ®êi chÝp xö lý 8 bit 8080 vµ 8085. N¨m
1978 h·ng Intel cho ra ®êi vi xö lý 16bit 8086 cã 29.000 Tranzito vµ h·ng
Motorola cho ra ®¬× vi xö lý 68.000 víi 70.000 Tranzito vµ vi xö lý 32bit cña
Henlet packand cã 40.000 Tranzito.
VËy tõ n¨m 1947 ®Õn n¨m 1984 sè Tranzito tÝch hîp trªn mét chÝp ®· t¨ng
100 lÇn. §Õn n¨m 1983 h·ng Intel cho ra vi xö lý 8286 dïng cho m¸y tÝnh AT
(Advaned Tecchnology) dïng c¸c ®−êng I/0 16bit vµ cã 24 ®−êng ®Þa chØ vµ
kh«ng gian nhí ®Þa chØ thùc lµ 16MB vµ n¨m 1987 vi xö lý 80386 xö lý 32bit
n¨m 1989 h·ng Intel cho ra ®êi chip xö lý 80486 ph¸t triÓn trªn c¬ së 80386 cã
thªm bé nhí Ên vµ m¹ch tÝnh to¸n dÊu phÈy ®éng.
N¨m 1992 Intel cho ra 80586 cßn gäi lµ Pentium 64bit cã 4 triÖu Tranzito.
C¸c bé vi xö lý nµy ph¸t triÓn theo h−íng ngµy cµng t¨ng chøc n¨ng vµ ®é
tÝch hîp.
Tõ c¸c con sè trªn ta thÊy ®−îc sù ph¸t triÓn m¹nh mÏ lÜnh vùc vi ®iÒu
khiÓn, riªng chip vi ®iÒu khiÓn 8051 mçi n¨m b¸n ra trªn thÞ tr−êng cì 1,5 tû bé.
Lª Thμnh S¬n \9 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
øng dông cña bé vi ®iÒu khiÓn rÊt réng r·i trong c¸c thiÕt bÞ th«ng minh b»ng
viÖc lËp tr×nh t¹o ch−¬ng tr×nh ®iÒu khiÓn v× vËy mµ tÝnh mÒm dÎo cña nã rÊt
cao, thay ®æi ch−¬ng tr×nh ®iÒu khiÓn ®¬n gi¶n ®Æc biÖt víi c¸c bé ®Õm thêi gian
lËp tr×nh ®−îc cµng t¨ng tÝnh øng dông cña nã.
Trong c«ng nghiÖp dïng hÖ vi ®iÒu khiÓn trong c¸nh tay rob«t, c¸c hÖ
thèng ®iÒu khiÓn d©y truyÒn hay tæng hîp thèng kª c¸c th«ng tin cña qu¸ tr×nh
s¶n xuÊt nhµ m¸y hay dïng trong viÖc b¶o vÖ vµ tù ®éng ®iÒu khiÓn c¸c Camera
quan s¸t.
ViÖc kÕt hîp gi÷a hÖ vi ®iÒu khiÓn vµ c¸c c¶m biÕn t¹o nªn c¸c hÖ ®iÒu
khiÓn th«ng minh ®−îc øng dông trong c¸c m¸y giÆt, qu¹t giã, ®iÒu hoµ nhiÖt dé,
®Çu ®Üa, ti vi, ®iÖn tho¹i di ®éng…
§Æc biÖt cã thÓ tiªu chuÈn ho¸ phÇn cøng mµ øng dông trong c«ng nghiÖp
s¶n xuÊt hµng lo¹t.
VËy øng dông cña thiÕt bÞ vi ®iÒu khiÓn lµ rÊt phong phó trong mäi lÜnh
vùc nhê kh¶ n¨ng lËp tr×nh cao cña thiÕt bÞ.
1.3.2. øng dông bé vi ®iÒu khiÓn trong PLC.
Vi ®iÒu khiÓn trong bé PLC lµ h¹t nh©n ®iÒu hµnh vµ kiÓm so¸t mäi thao
t¸c tõ ®äc d÷ liÖu ®Çu vµo råi xö lý vµ ®iÒu hµnh qu¸ tr×nh ®−a d÷ liÖu ra. ThiÕt bÞ
PLC ®−îc t¹o lªn tõ hÖ vi ®iÒu khiÓn vµ c¸c m¹ch ®iÖn chèt, chuyÓn møc ®iÖn ¸p
vµ mét cæng truyÒn RS232 ®Ó ®äc ra vµ ®−a vµo ch−¬ng tr×nh ®iÒu khiÓn. Nh−
vËy bé vi ®iÒu khiÓn trong PLC quyÕt ®Þnh mäi sù ho¹t ®éng cña PLC.
KÕt luËn: ë phÇn I nµy chóng ta ®· ®i t×m hiÓu mét sè kh¸i niÖm chung vµ
mét sè kiÕn thøc cã liªn quan tíi PLC vµ bé vi ®iÒu khiÓn. §Ó t×m hiÓu vµ x©y
dùng cô thÓ bé vi ®iÒu khiÓn vµ thiÕt bÞ PLC sÏ ®−îc ®Ò cËp ë phÇn sau.
PhÇn II:
Vi ®iÒu khiÓn 8031 cã nh÷ng tÝnh chÊt ®Æc tr−ng nh−: §¬n vÞ xö lý trung
t©m 8bit ®· ®−îc tèi −u ho¸ ®Ó ®¸p øng c¸c chøc n¨ng ®iÒu khiÓn.
- Khèi logic xö lý theo bit thuËn thiÖn cho c¸c phÐp to¸n Boolear.
- Bé t¹o giao ®éng gi÷ nhÞp bªn trong ( ®Õn 12 MHZ).
- TËp lÖnh rÊt phong phó.
- Giao diÖn nèi tiÕp cã kh¶ n¨ng ho¹t ®éng song song ®ång bé (UART).
16(32) ®−êng dÉn vµo/ra 2 h−íng vµ tõng ®−êng dÉn cã thÓ ®−îc ®Þnh ®Þa chØ 1
c¸ch t¸ch biÖt.
- N¨m nguån ng¾t víi hai møc −u tiªn.
- Dung l−îng bé nhí ch−¬ng tr×nh bªn ngoµi ( ROM) cã thÓ ®Õn 64 KB.
- Dung l−îng bé nhí d÷ liÖu ( RAM ) bªn ngoµi ®Õn 64KB.
- Dung l−îng bé nhí RAM trong 128byte.
- Hai bé ®Õm ®Þnh thêi 16 bit.
- Bus vµ khèi ®Þnh thêi t−¬ng thÝch víi c¸c khèi ngo¹i vi cña bé vi xö lý
8085/88.
- TÊt c¶ c¸c vi ®iÒu khiÓn cña dßng vi ®iÒu khiÓn MCS - 51 ®Òu cã chung
bé lÖnh. NÕu ®é lín cña ch−¬ng tr×nh võa trong mét chip ROM vµ nÕu Ram
trong ®Çy ®ñ th× vi ®iÒu khiÓn 8031 kh«ng yªu cÇu thªm logic ®Ó thi hµnh kÕt
thóc ®iÒu khiÓn hÖ thèng.
P1.0 1 40 Vcc
P1.1 2 39 P0.0 ADO
P1.2 3 38 P0.1 AD1
P1.3 4 37 P0.2 AD2
P1.4 5 36 P0.3 AD3
P1.6 6 35 P0.4 AD4
P1.6 7 34 P0.5 AD5
P1.7 8 33 P0.6 AD6
RST 9 * 32 P0.7 AD7
RXD P3.0 10 31 EA / Vpp
TXD P3.1 11 30 ALE / PROG
INTO P3.2 12 29 PSEN
INT1 P3.3 13 28 P2.7 A15
TO P3.4 14 27 P2.6 A14
T1 P3.5 15 26 P2.5 A13
WR P3.6 16 25 P2.4 A12
RD P3.7 17 24 P2.3 A11
XTAL2 18 23 P2.2 A10
XTAL1 19 22 P2.1 A 9
Vss 20 21 P2.0 A 8
Ram trong
®iÒu NGuåN timer timer
khiÓn o 1
NG¾t thanh 128
ng¾t
ghi byte
TRONG
sfr
ram
cpu
p p p p
bé 0 0 0 0 cæng
dao qu¶n r r r r nèi
lý
®éng bus
t t t t tiÕp
0 2 1 3
txd
rxd
PhÇn chÝnh cña vi m¹ch lµ ®¬n vÞ xö lý trung t©m ( CPU: Central processing
Unit), ®¬n vÞ nµy cã chøa:
+. Thanh ghi tÝch lòy ( kÝ hiÖu lµ A).
+. Thanh ghi tÝch luü phô (B) dïnngcho phÐp nh©n vµ chia.
+. §¬n vÞ logic (ALU: Arithmetic Logical Unit)
+. Tõ tr¹ng th¸i ch−¬ng tr×nh ( PSW: Progam Status Word)
+. Bèn b¨ng thanh ghi.
Lª Thμnh S¬n \ 15 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
+. Con trá ng¨n xÕp (SP) còng nh− con trá d÷ liÖu ®Ó ®Þnh ®Þa chØ cho bé
nhí d÷ liÖu ngoµi.
+. Ngoµi ra ë ®©y cßn cã: Bé ®Õm ch−¬ng tr×nh (PC), bé gi¶i m· lÖnh, bé
®iÒu khiÓn thêi gian vµ logic.
§¬n vÞ xö lý th«ng tin nhËn trùc tiÕp xung nhÞp tõ bé t¹o dao ®éng ®−îc
l¾p thªm vµo, linh kiÖn phô trî cã thªm lµ mét khung dao ®éng b»ng vËt liÖu
gèm hoÆc mét céng h−ëng b»ng th¹ch anh.
Ch−¬ng tr×nh ®ang ch¹y cã thÓ dõng l¹i nhê mét khèi logic ng¾t ë bªn
trong. C¸c nguån ng¾t cã thÓ lµ: C¸c biÕn cè ë bªn ngoµi, sù trµn bé ®Õm/ ®Þnh
thêi hoÆc còng cã thÓ lµ giao diÖn nèi tiÕp.
Bé vi xö lý 8031 nhËn ®−îc ch−¬ng tr×nh ®iÒu hµnh cña nã tõ mét bé nhí
ch−¬ng tr×nh bªn ngoµi, 8031 cã 128 bytes RAM bªn trong ®Ó cã thÓ x¾p xÕp
c¸c d÷ liÖu vµ th«ng tin ®iÒu khiÓn. 8031 cã 2 bé ®Þnh thêi 16 bit, chóng còng
®−îc xö dông nh− lµ bé ®Õm sù kiÖn.
8031 cã 4 cæng réng 8 bit, ®éc lËp víi nhau, cæng P.0 dïng ®Ó truyÒn nöa
d−íi cña c¸c ®Þa chØ vµ còng dïng cho c¸c d÷ liÖu 8 bit. Cæng P.2 ®Ó truyÒn nöa
trªn cña c¸c ®Þa chØ. ë cæng P.3 cßng cã thªm c¸c ®−êng dÉn ®iÒu khiÓn dïng ®Ó
trao ®æi tin víi bé nhí ngoµi, ®Ó ®Êu nèi giao diÖn nèi tiÕp còng nh− c¸c ®−êng
dÉn ng¾t bªn ngoµi.
Giao diÖn nèi tiÕp cã chøa mét bé truyÒn vµ mét bé nhËn kh«ng ®ång bé,
lµm viÖc ®éc lËp víi nhau. B»ng c¸ch ®Êu nèi víi c¸c bé ®Öm thÝch hîp, ta cã thÓ
h×nh thµnh mét cæng nèi tiÕp RS - 232 ®¬n gi¶n. Tèc ®é truyÒn qua cæng nèi tiÕp
cã thÓ ®−îc ®Æt trong mét vïng réng vµ ®−îc Ên ®Þnh b»ng mét bé ®Þnh thêi.
2.3. Ho¹t ®éng víi bé nhí ch−¬ng tr×nh bªn ngoμi cña
VXL 8031.
H×nh vÏ sau chØ ra mét s¬ ®å nguyªn t¾c cÊu tróc mét m¹ch ®iÖn dïng víi
bé VXL 8031 vµ bé nhí ch−¬ng tr×nh bªn ngoµi cïng víu bé chèt ( latch) 8 bit.
Psen OE
P1 P0 D0..D7
8031
CHèT A0..A7
P3 ALE
P2 A8..A15
EA
ROM
- §−a ®Þa chØ byte thÊp (A0 ÷ A7) lªn bus d÷ liÖu.
- Chèt c¸c ®Þa chØ b»ng m¹ch ngoµi. ViÖc nµy thùc hiÖn b»ng c¸ch lËp
xung chèt qua ch©n ALE cho m¹ch chèt ngoµi.
§−a ®Þa chØ byte cao ®Õn ROM (nÕu cÇn) cho phÐp ROM ®−a d÷ liÖu lªn
bus d÷ liÖu . Khi ®äc d÷ liÖu tõ ROM vi xö lý sÏ ®−a ch©n PSEN suèng møc
thÊp.
Vi xö lý 8031 cã thÓ ®Þa chØ ho¸ ®−îc 64KB bé nhí ch−¬ng tr×nh ngoµi nªn
ta cã thÓ cho ROM 64KB. §iÓn h×nh lµ lo¹i 2764 gåm c¸c ch©n nh− sau:
- OE (Out Enable) ch©n cho phÐp d÷ liÖu ra khi ch©n OE ë møc thÊp
th× ROM cho d÷ liÖu lªn bus d÷ liÖu cña vi xö lý.
ALE
PSEN
P0
INST A0..A7 INST A0..A7I INST
Bé lÖnh cña VXL 8031 nhËn biÕt 2 ®é dµi lÖnh kh¸c nhau. PhÇn lín c¸c
lÖnh ®−îc VXL trong ph¹m vi cña mét chu tr×nh m¸y, sè Ýt c¸c lÖnh cßn l¹i cÇn
cã 2 chu tr×nh m¸y, Mét chu tr×nh m¸y b»ng 12 chu kú dao ®éng cña tÝn hiÖu
gi÷a nhÞp.
Trong mét chu tr×nh m¸y, ®−êng dÉn ®iÒu khiÓn ALE cã 2 lÇn chuyÓn
tr¹ng th¸i ®−îc kÝch ho¹t, ngay c¶ khi do cã lÖnh ®ang ®−îc thùc hiÖn nªn chØ
cÇn cã mét chu tr×nh. ChØ sù truy nhËp viÕt hoÆc ®äc lªn bé nhí d÷ liÖu bªn
ngoµi, n¬i kh«ng cÇn ®Õn mét chu tr×nh ALE lµ mét tr−êng hîp ngo¹i lÖ. Kh«ng
cã bé nhí d÷ liÖu bªn ngoµi, tÇn sè ALE còng lµ h»ng sè ( OSC/6). TÝn hiÖu
ALE trong tr−êng hîp nµy cã thÓ sö dông lµm tÝn hiÖu gi÷ nhÞp cho c¸c m¹ch
bªn ngoµi.
Trong chu tr×nh ALE ®−îc kÝch ho¹t ë møc Hight, bé VXL ®Æt ë trong
®−êng dÉn ®Þa chØ phÝa d−íi ®Ó truy nhËp lªn bé nhí ch−¬ng tr×nh bªn ngoµi lªn
Bus chung dïng cho d÷ liÖu vµ ®Þa chØ. Sau ®ã khi cã s−ên dèc xuèng trªn xung
tÝn hiÖu ALE th× néi dung cña ®Þa chØ thÊp nµy ®−îc chuyÓn vµo bé nhí trung
gian.
B»ng viÖc x¾p xÕp c¸c ®Þa chØ phÝa d−íi vµo Bus d÷ liÖu, c¸c ®−êng dÉn
®Þa chØ A8 ®Õn A15 ®−îc xÕp vµo cæng P2 møc cu¶ c¸c ®−êng dÉn nµy gi÷ nguyªn
æn ®Þnh cho ®Õn khi kÕt thóc chu tr×nh truy nhËp lÖnh.
Khi xung tÝn hiÖu cña ALE cã ®o¹n dèc xuèng th× bé VXL ®Æt ®−êng dÉn
®iÒu khiÓn PSEN cña nã vµo møc Low. Sau mét vµi chu tr×nh gi÷ nhÞp, bé nhí
ch−¬ng tr×nh bªn ngoµi cÇn ph¶i s¾p xÕp c¸c d÷ liÖu( c¸c lÖnh) cña nã lªn Bus d÷
liÖu vµ Bus ®Þa chØ chung. Sau ®ã b»ng s−ên dèc lªn cña PSEN bé VXL ®ãn
nhËn c¸c d÷ liÖu ®ang ®−îc xÕp ë cæng P0.
2.5. Qu¸ tr×nh truy nhËp lªn bé nhí d÷ liÖu cña VXL 8031.
H×nh vÏ d−íi ®©y minh ho¹ diÔn biÕn cña mét qu¸ tr×nh truy nhËp ®Ó ®äc
bé nhí d÷ liÖu bªn ngoµi:
ALE
RD
P0
A0..A7 Data in A0..A7
P2 A8..A15
Gièng nh− khi ®äc bé nhí ch−¬ng tr×nh bªn ngoµi, tr−íc hÕt 8 ®−êng dÉn
dÉn 8 ®Þa chØ thÊy ë cæng P0 vµ ®−îc xÕp lªn Bus chung dïng cho d÷ liÖu vµ ®Þa
chØ thÊp ®Ó chuyÓn vµo bé nhí trung gian dïng cho ®Þa chØ b»ng s−ên dèc xuèng
cuÈ tÝn hiÖu ALE. tiÕp theo lµ sù kÝch ho¹t cña ®−êng dÉn RD, ®iÒu khiÓn qu¸
tr×nh ®äc d÷ liÖu bªn ngoµi. Ngay tr−íc khi ®−êng dÉn RD trë vÒ víi møc High,
bé xö lý ®ãn nhËn c¸c d÷ liÖu ®ang ®−îc xÕp ë bus. Do ®ã, víi nhiÒu øng dông
®−êng dÉn RD ®−îc nèi tiÕp hoÆc qua mét bé gi¶i m· ®Þa chØ víi ch©n OE cña
thiÕt bÞ ngo¹i vi.
VXL 8031 nhËn biÕt mét qu¸ tr×nh truy nhËp d÷ liÖu bªn ngoµi 8 vµ 16 bit,
khi truy nhËp d÷ liÖu 8 bit, néi dung cña cáng P2 gi÷ nguyªn kh«ng thay ®æi.
gièng nh− khi viÕt, c¸c ®Þa chØ ®−îc truy nhËp ®−îc xuÊt ra Bus chung dïng cho
d÷ liÖu vµ ®Þa chØ, tõ ®ã suy ra r»ng mét vïng ®Þa chØ lín nhÊt lµ 256 Byte cã thÓ
trao ®æi ®−îc. Cßn khi s¶y ra qu¸ tr×nh truy nhËp 16 bit, bé xö lý xuÊt ra 8 bit ®Þa
chØ gi¸ trÞ cao h¬n qua cæng P2. B»ng c¸ch nµy cã thÓ truy nhËp trùc tiÕp lªn bé
nhí d÷ liÖu bªn ngoµi ®Õn 64 KB.
H×nh vÏ gi¶n ®å sau ®©y biÓu diÔn diÔn biÕn cña mét qu¸ tr×nh viÕt lªn bé
nhí d÷ liÖu bªn ngoµi cña VXL 8031.
ALE
WR
P0
A0..A7 Data in A0..A7
P2
A8..A15
ViÖc s¾p xÕp c¸c ®Þa chØ gi¸ trÞ thÊp A0 ®Õn A7 diÔn ra gièng nh− trong qu¸
tr×nh truy nhËp ®Ó ®äc, tiÕp theo c¸c d÷ liÖu cÇn viÕt ®−îc xuÊt ra cæng P0. Mét
xung Low ®−îc ®Æt lªn ®−êng dÉn WR. Th«ng th−êng th× khi xuÊt hiÖn s−ên dèc
lªn ë ®−êng dÉn tÝn hiÖu nµy, khèi ngo¹i vi ®−îc nèi vµo Bus d÷ liÖu sÏ ®ãn nhËn
c¸c th«ng tin ®−îc s¾p xÕp trªn Bus d÷ liÖu.
Víi qu¸ tr×nh truy nhËp ®Ó viÕt, gièng nh− khi ®äc c¸c qu¸ tr×nh truy nhËp
8 hoÆc 16 bit lªn thiÕt bÞ ngo¹i vi bªn ngoµi lµ hoµn toµn cã thÓ. Khi truy nhËp 8
bit, cæng P2 còng gi÷ nguyªn kh«ng thay ®æi, trong khi ë qu¸ tr×nh truy nhËp 16
bit c¸c ®Þa chØgi¸ trÞ cao h¬n ®−îc s¾p xÕp.
Khi ho¹t ®éng víi bé nhí bªn ngoµi, c¸c cæng 0,2 vµ ®«i khi c¶ cæng 3
®Òu ®−îc s¾p xÕp dïng cho viÖc ®Þnh ®Þa chØ vµ truyÒn d÷ liÖu, mét bé nhí Ram
ngoµi sö dông cïng Bus ®Þa chØ vµ Bus d÷ liÖu gièng nh− bé nhí ch−¬ng tr×nh ë
ngoµi. nh−ng chóng ®−¬cn trao ®æi víi c¸c ®−êng dÉn ®iÒu khiÓn IOR vµ IOW ,
trong khi bé nhí ch−¬ng tr×nh ë ngoµi ®−îc kÝch ho¹t b»ng tÝn hiÖu PSEN .
2.6. Vi ®iÒu khiÓn 8031.
PhÇn tr−íc ta ®· t×m hiÓu nh÷ng nÐt c¬ b¶n vÒ hä VXL MCS -51 ®¹i diÖn
lÇ VXL 8031. Cã thÓ nãi bé VXL 8031 cña h·ng INTEL lµ thÕ hÖ kÕ tiªp cña
VXL 8048 sau khi ®· ®−îc c¶i tiÕn vµ më réng thªm nhiÒu vÒ phÇn cøng. HiÖn
nay bé VXL nµy lµ mét bé VXL ®−îc dïng th«ng dông nhÊt. Bé VXL 8031 ®Þnh
®Þa chØ « nhí d÷ liÖu vµ ch−¬ng tr×nh ®Õn 64 Kbyte. VÒ phÇn cøng trong 8031
®−îc bæ xung ph¶i kÓ ®Õn mét giao diÖn nèi tiÕp vµ mét bé ®Þnh thêi bæ xung ®·
lµm ®¬n gi¶n ho¸ c¶ nh÷ng øng dông phøc t¹p. Ngoµi ra tèc ®é lµm viÖc cña
8031 còng t¨ng lªn. Mét bé t¹o tÝn hiÖu gi÷ nhÞp víi tÇn sè ®−îc xo¸ ®Þnh bëi bé
céng h−ëng th¹ch anh ®Êu bªn ngoµi, x¸c ®Þnh ®é lµm viÖc cña VXL. C¸c lÖnh
®−îc thùc hiÖn tíi møc tÇn sè b»ng 1/12 tÇn sè riªng cña bé dao ®éng th¹ch anh.
Khi tÇn sè riªng cña bé dao ®éng th¹ch anh b»ng 12 MHz th× mét lÖnh mét byte
cÇn ®óng mét Micro gi©y. Khi c¸c lÖnh cã th¹m sè cÇn tra cøu trong bé nhí
ch−¬ng tr×nh th× cÇn cã thêi gian dµi gÊp ®«i.
2.6.1. Bé ®Õm ch−¬ng tr×nh cña 8031.
Bé ®Õm ch−¬ng tr×nh ®−îc dïng ®Ó chØ ®Õm byte lÖnh tiÕp theo sÏ ®−îc
®äc. Nã kh«ng bÞ ¶nh h−ëng trùc tiÕp nh−ng sÏ bÞ thay ®æi b»ng nh÷ng lÖnh rÏ
nh¸nh nh− lÖnh Jump hoÆc Call. Nã còng cã thÓ dïng nh− ®Þa chØ c¬ së cho chØ
sè ®Þa chØ khi ®äc tõ bé nhí ch−¬ng tr×nh.
Khèi Ram trong cña 8031tõ [ 0h.....1Fh] ®−îc dïng cho c¸c thanh ghi. C 4
bank víi 8 thanh ghi trong mçi Bank ®ã tõ R0 ®Õn R7.
Bank thanh ghi 0: Tõ 00h ®Õn 07h ( R0 dÕn R7).
Bank thanh ghi 1: Tõ 08h ®Õn 0Fh
Bank thanh ghi 2: Tõ 10h ®Õn 17h
Bank thanh ghi 3: Tõ 18h ®Õn 1Fh
§Ó chän ®Þa chØ c¸c thanh ghi, ®Çu tiªn c¸c thanh ghi Bank ph¶i ®−îc kÝch
ho¹t (Active). ViÖc lùa chän ®−îc lµm bëi cê trong tõ tr¹ng th¸i ch−ong tr×nh
PSW. Sau khi ®· ®−îc chän thanh ghi 1 ®−îc kÝ hiÖu lµ RI.
VÝ dô:
Mov a , R5 sÏ chuyÓn néi dung thah ghi sè 5 vµo thanh ghi A, thanh
ghi ®ã phô thuéc vµo thanh ghi Bank hiÖn t¹i ®−îc chän, cã thÓ lµ byte sè 5,
0Dh, 15h hoÆc 1Dh cña Ram trong. C¸c thanh ghi Bank th−êng ®−îc dïng dµnh
cho ch−¬ng tr×nh con ( Subroutine) hoÆc ch−ong tr×nh con phôc vô ng¾t ( Interup
Service Routine).
2.6.2. Nh÷ng thanh ghi chøc n¨ng ®Æc biÖt: SFR ( Special Function
Registers).
Trong phÇn trªn cña vïng ®Þa chØ Ram bªn trong cña VXL 8031 cã ®Æt v«
sè c¸c thanh ghi cã chøc n¨ng ®Æc biÖt ( SFR) ®Ó qua ®ã cã thÓ trao ®æi víi c¸c
bé phËn ngo¹i vi ë bªn trong cña bé VXL 8031.
SFR bao gåm c¸c thanh ghi d÷ liÖu vÇ c¸c thanh ghi ®iÒu khiÓn chóng
n»m trong c¸c cæng, time, hoÆc lµ c¸c thanh ghi ®iÒu khiÓn ng¾t....
Cæng nèi tiÕp ®−îc ®iÒu khiÓn bëi SFR Scon, trong khi d÷ liÖu vµo ra cæng
nµy ®i qua thanh ghi SFR SBUF. Nh÷ng bit riªng lÎ cña Scon x¸c lËp nh÷ng chÕ
®é kh¸c nhau cña cæng nãi tiÕp. Scon cã thÓ ®−îc xem nh− thanh ghi ®iÒu khiÓn
vµ SBUF ®−îc gäi lµ thah ghi d÷ liÖu.
SFR cã byte ®Þa chØ trong kho¶ng ( 80h...FFh) ( tiÕp theo phÇn ®Þa chØ cña
Ram trong tõ 00h....07h nh− ®· nãi ë trªn). 8031 cã thÓ truy nhËp Ram vµ SFR
b»ng chÕ ®é ®Þa chØ gi¸n tiÕp thanh ghi.
VÝ dô:
Mov A,80h: ChuyÓn gi¸ trÞ l−u tr÷ trong SFR 80h vµo thah ghi A
Mov A, @ RO: RO ®· ®−îc ®Æt 80h, sÏ chuyÓn néi dung cña Ram vµo
trong thah ghi A.
SFR bao gåm c¶ thanh ghi A, thanh ghi B vµ tõ tr¹ng th¸i ch−¬ng tr×nh
PSW bao gåm c¶ cê hÖ thèng nh− cê Carry cã 2 bit ®Ó kÝch ho¹t thanh ghi Bank.
Sau ®©y lµ danh s¸ch c¸c thanh ghi cã chøc n¨ng ®Æc biÖt SFR cña 8031:
Lª Thμnh S¬n \ 22 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
TÊt c¶ nh÷ng SFR ®−îc bæ xung, nöa byte ®Þa chØ gi¸ trÞ thÊp cña nã cã gi¸
trÞ b»ng 0 hoÆc b»ng 8 ( c¸c ®Þa chØ byte 80h, 88h... cho ®Õn F8) lµ ®Þnh ®Þa chØ
®−îc theo bit. Bëi v× phÇn lín c¸c SFR bao gåm tõ nh÷ng bit riªng lÎ víi c¸c
chøc n¨ng ®éc lËp, nªn sÏ rÊt thuËn lîi khi cÇn ®Æt vµ ®Æt ra c¸c bit ®iÒu khiÓn
riªng lÎ.
7FH
Sö dông tù do vµ ng¨n xÕp
30H
2FH
C¸c ®Þa chØ bit 0.....7Fh
20H
1FH
Bank thanh ghi 3
18H
17H
Bank thanh ghi 2
10H
0FH
Bank thanh ghi 1
08H
07H
Bank thanh ghi 0
00H
Mét ®iÒu chó ý n÷a lµ mÆc dï tÊt c¶ c¸c thao t¸c ®äc mµ ®äc gi¸ trÞ tõ
ch©n cæng, Cã mét vµi thao t¸c vÉn ®äc ngÇm ®äc gi¸ trÞ cña cæng chèt, gäi lµ
thao t¸c Read Modify Wite.
VÝ dô:
INC P1 sÏ ®äc néi dung cu¶ cæng, t¨ng gi¸ trÞ vµ ghi kÕt qu¶ trë l¹i cæng.
Nh÷ng thao t¸c ®ã ®−îc tiÕn hµnh hoµn toµn b»ng phÇn cøng. nh÷ng chØ thÞ read
Modify Wite lÇ ANL, ORL, XRL khi mµ to¸n h¹ng ®Ých lµ c¸ bit cña cæng SFR,
cßn thao t¸c JBC vµ CPL ®−îc dïng khi to¸n h¹ng ®Ých lµ c¸c bit cña cæng SFR.
INC, DEC, MOV, CLR vµ SET, DJNZ ®−îc dïng khi to¸n h¹ng thø nhÊt lµ cæng
SFR.
VÝ dô:
MOV P1.0,c chuyÓn gi¸ trÞ cña cê Carry vµo bit 0 cña Port 1. thao t¸c nµy
®−îc tiÕn hµnh b»ng phÇn cøng, chia lµm 2 phÇn: Port 1 ®−îc ®äc tõ chèt sau ®ã
bit 0 cña nã sÏ bÞ thay ®æi vµ sÏ ®−îc ghi trë l¹i chèt.
Tæng céng cã 4 cæng, nh−ng khi dông bé nhí ë ngoµi th× 3 cæng trong sè
®ã ®−îc sö dông hoµn toµn hoÆc mét phÇn. ChØ cßn l¹i cæng P1 cã 8 lèi ra vµo
®−îc sö dông tù do. Chóng ®−îc gäi lµ c¸c cæng gi¶ hai h−íng (Quasi bidirectional),
bëi v× tr¹ng th¸i tÜnh cña cæng nµy lµ cao vµ cã ®iÖn trë cao, ngoµi ra chóng cã
thÓ ®ãng vai trß nh− c¸c lèi vµo. ë tr¹ng th¸i thÊp chóng cã ®iÖn trë thÊp vµ cã
thÓ ®Öm trùc tiÕp cho c¸c LED. Cæng 0,2,3 cã c¸c chøc n¨ng thay ®æi, nh÷ng
ch©n cæng nµy cã thÓ ®−îc dïng nh− lµ nh÷ng ®−êng vµo ra sè liÖu chung, hoÆc
cã thÓ dïng cho nh÷ng chøc n¨ng thø hai cña chóng. Chøc n¨ng thø hai cña cæng
0 vµ 2 lµ giao tiÕp víi bé nhí ngoµi. Cæng 3 cã c¸c chøc n¨ng thø hai nh− sau:
Bit Alternate Function Mnemonic/ Designation
0 Serial Input Port RxD
1 Serial Output Port TxD
2 External Interrupt 0 INT 0
3 External Interrupt 1 INT1
4 Timer/ Counter 0 External Input T0
5 Timer/ Counter 1 External Input T1
Lª Thμnh S¬n \ 26 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
7 6 5 4 3 2 1 0
REN: §−îc x¸c lËp b»ng phÇn mÒm ®Ó cho phÐp nhËn nèi tiÕp nÕu bÞ xo¸
d÷ liÖu sÏ nhËn theo tõng khèi.
TB8: §−îc lËp vµ xo¸ b»ng phÇn mÒm vµ bit thø 9 sÏ ®−îc truyÒn trong
Mode 2 vµ Mode 3.
RB8: Phô thuéc vµo chÕ ®é ho¹t ®éng cña chÕ ®é lµm viÖc. NÕu ®ang lµm
viÖc ë chÕ ®é 2 hoÆc 3 th× sÏ nhËn 9 bit d÷ liÖu vµ bit cuèi cïng ®−îc ®−a vµo
RB8.
TI: §−îc x¸c lËp bëi phÇn cøng ®Ó b¸o hiÖu viÖc truyÒn ®· kÕt thóc. Nã
ph¶i ®−îc xo¸ b»ng phÇn mÒm ®Ó cho phÐp truyÒn d÷ liÖu tiÕp theo.
RI: §−îc x¸c lËp b»ng phÇn cøng ®Ó b¸o hiÖu viÖc nhËn ®· hoµn thµnh. Nã
còng ®−îc xo¸ b»ng phÇn mÒm lóc ®äc byte d÷ liÖu tõ SBUF ®Ó cho phÐp nhËn
d÷ liÖu tiÕp theo.
Thanh ghi d÷ liÖu cña giao dÞch nèi tiÕp lµ SBUF (SFR 99h) d÷ liÖu vµo vµ
ra cæng nèi tiÕp ®Òu ®i qua SFR SBUF. Thùc tÕ phÝa sau thanh ghi SBUF lµ hai
thanh ghi cô thÓ lµ thanh ghi d÷ liÖu truyÒn vµ thanh ghi d÷ liÖu nhËn. Qu¸ tr×nh
®−îc truyÒn më ®Çu b»ng c¸ch ®¬n gi¶n b»ng c¸ch truy nhËp ®Ó ghi lªn thanh
ghi SBUF. Ng−îc l¹i, mét byte ®· ®−îc nhËn cã thÓ ®−îc ®äc tõ SBUF. Trong
chÕ ®é 9 bit, mçi mét bit thø 9(TB 8 hoÆc TR 8) trong thanh ghi SMOD cÇn ph¶i
®−îc chó ý ®Õn. ng−êi ta hay dïng chÕ ®é ho¹t ®éng lo¹i 1 vµ nh− vËy cã 1 bé
UART 8 bit, tèc ®é Baud b»ng bé ®Þnh thêi 1. Dßng d÷ liÖu 8 bit ®−îc më ®µu
b»ng 1 bit Start kÕt thóc b»ng 1 bit Stop. Tèc ®é Baud b»ng 1/16(SMOD =1)
hoÆc 1/32 (SMOD=0) cña tèc ®é trµn cña bé ®Þnh thêi 1. SMOD lµ bÝt cã gi¸ trÞ
cao nhÊt trong thanh ghi SCON ( SFR 87h).
SMOD: 1 b»ng tèc ®é Baud thÊp, b»ng 0 tèc ®é baud cao.
GF1, GF2: Cê ®−îc sö dông tù do.
PD: ChÕ ®é Power Down (chØ ë lo¹i CMOS 80C31).
IDL: ChÕ ®é ch¹y kh«ng (IDLE).
2.6.6. Timer/ Counter cña 8031.
ViÖc t¹o ra mét tÝn hiÖu gi÷ nhÞp dïng cho giao diÖn nèi tiÕp ®ßi hái tr−íc
hÕt lµ viÖc lËp tr×nh cho bé ®Þnh thêi 1. 8031 cã 2 Timer/ Counter, c¶ hai bé ®Þnh
Lª Thμnh S¬n \ 28 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
thêi nµy ®Òu cã hai thanh ghi ®Õm 8 bit trªn mçi bé. C¸c thanhghi nµy cã thÓ
®−îc n¹p vµ ®−îc ®äc ra. Time / Counter 0 lµ thanh ghi TH0 vµ TL0, Timer/
Counter 1 lµ TH1 vµ TL1. Khi ho¹t ®éng, mçi khi cã xung ®ét nµo th× sè ®Õm
xong l−u trong 1 hoÆc 2 ch©n cña cæng 3 (XTAL1, XTAL2). Sè xung hiÖn t¹i
cña Timer/ Counter cã thÓ ®äc tõ TL0 vµ TL 1 hoÆc TH0 vµ TH1. Timer/Counter
còng ph¸t ra ng¾t víi ®iÒu kiÖn lµ nh÷ng ng¾t ®ã kh«ng bÞ IE ch¾n, khi bé ®Õm
bÞ trµn ( vµ l¹i quay vÒ 0) th× ng¾t ®−îc ph¸t ra. Tr¹ng th¸i cña c¸c ng¾t ®ã ®−îc
quan s¸t qua SFR TCON.
Illator Frequenry
UP DATE
TH0, TL0
P3.4(T0)
MODE
SElECT
TMOD
GT C/T M1 M0
P3.2(INT0)
TCON
TI1 TR1 TI0 TR0
Ho¹t ®éng cña Timer/ Counter ®−îc ®iÒu khiÓn bëi bé xung ngÉu nhiªn tõ
nguån tíi thanh ghi ®Õm d÷ liÖu. Nguån d÷ liÖu sÏ tíi thanh ghi d÷ liÖu cña
Timer 0 nÕu ®iÒu kiÖn lµ (Gate hoÆc INTO) vµ TR0. Gate lµ bit ®iÒu khiÓn
Timer 0 cña TMOD. 8031 coi bit ®iÒu khiÓn lµ Gate. Tuy nhiªn khi Timer/
Counter ho¹t ®éng trong lóc Gate ®ang ë møc logic thÊp th× sÏ gièng nh− trªn
chøng tá bit ®iÒu khiÓn lµ Gate. TR0 còng lµ bit ®iÒu khiÓn cña Timer 0 trong
thanh ghi TMOD, INTO cña 80331 ( ch©n 12 cña 8031). §iÒu kiÖn trªn ®· chØ râ
r»ng nh÷ng thanh ghi d÷ liÖu cña Timer 0 ®· ®−îc cËp nhËp nguån khi bit ®iÒu
khiÓn TR0 ®−îc thiÕt lËp vµ c¶ bit ®iÒu khiÓn Gate bÞ xo¸ hoÆc INT0 cña 8031 ë
møc 1.
Th«ng th−êng ng−êi ta chia chÕ ®é lµm viÖc cña bé ®Þnh thêi ra lµm 3 phÇn:
+. Nguån vµo
+. §iÒu khiÓn ho¹t ®éng.
+. CËp nhËp chÕ ®é lµm viÖc.
Nguån vµo cã thÓ lµ 1/12 tÇn sè dao ®éng hoÆc xung nhËn ®−îc ë ch©n T0
(T1)cña cæng P3 bëi Timer 0 (Timer 1).
Nguån vµo ®−îc chän bëi bit ®iÒu khiÓn C?T cña thanh ghi TMOD. Trªn
thùc tÕ cã 2 bit ®iÒu khiÓn, mçi bit cho 1 Timer.
Nh− ®· nãi ë trªn ®Ó t¹o ra tÝn hiÖu gi÷ nhÞp cho Timer/ Counter 1. C¸c
tÝnh chÊt cña bé ®Þnh thêi ®−îc ®iÒu khiÓn qua thanh ghi TCON ( SFR 88h) vµ
TMOD ( SFR 89h). Trong ®ã lo¹i ho¹t ®éng ®−îc thiÕt lËp qua TMOD.
Bé ®Þnh thêi 1 hoÆc 0 ®Õm c¸c xung nhÞp bªn trong cña 8031 nh− lµ bé
®Õm liªn tôc tù do. V× thÕ nã ®−îc ®−a vµo nh− lµ mét bé ®Þnh thêi trong chÕ ®é
ho¹t ®éng lo¹i 2. Khi ®ã cø mçi lÇn trµn th× mét tr¹ng th¸i ®· ®−îc ®Æt tr−íc bé
®Õm l¹i t¸i lËp trong bé ®Õm. Mçi mét bé ®Õm ®−îc khëi ®éng qua bit TR cña nã
trong thanh ghi TCON, TCON còng cã chøa c¸c cê trµn cña 2 bé ®Þnh thêi vµ 4
bit ®iÒu khiÓn ®Ó ®iÒu khiÓn ng¾t qua c¸c ch©n INT 0 vµ INT 1.
§èi víi chÕ ®é ho¹t ®éng nh− lµ m¸y ph¸t tèc ®é Baud, ë ®©y chØ cÇn bit
ch¹y ( Rn bit) TR1 ph¶i ®−îc ®Æt. Muèn thÕ ph¶i ®Þnh ®Þa chØ ®−îc tíi bit lµ ®¹t
tíi ®−îc ®Þa chØ 8Eh. Nh−ng tr−íc hÕt, khi bé ®Õm ®−îc lµm dõng th× tèc ®é bé
chia tÇn cÇn ph¶i ®−îc thiÕt lËp. ë lo¹i ho¹t ®éng 2, byte bé ®Õm cã gi¸ trÞ cao
nhÊt TH1 cã chøa gi¸ trÞ n¹p l¹i, gi¸ trÞ mµ cø mçi lÇn trµn l¹i ®−îc n¹p vµo
thanh ghi bé ®Õm. §èi víi vËn tèc truyÒn 9600 Baud, ë bit SMOD ®· ®−îc ®Æt
cÇn cã gi¸ trÞ tÇn sè bé céng h−ëng th¹ch anh b»ng 11,0592 MHz ph¶i lùa chän
mét sè chia b»ng 6.
11059,2 KHz/12/6/16 = 9,6 KHz.
Lª Thμnh S¬n \ 30 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Khi n¹p gi¸ trÞ bé ®Õm b»ng 256 - 6 = 250 = FAh th× hÖ sè chia b»ng 6 v×
bé ®Õm ë ®©y ®Õm theo h−íng tiÕn.
Timer/ Counter cã 4 chÕ ®é ho¹t ®éng, ho¹t ®éng cña c¶ 2Timer/ Counter
®−îc quyÕt ®inh bëi SFR TMOD. 4 bit thÊp cña TMOD ®iÒu khiÓn 0,4 bit cao
cña TMOD ®iÒu khiÓn Timer 1.
TMOD Register(89h) :
7 6 5 4 3 2 1 0
Gate C/T M1 M0 Gate C/T M1 M0
Bé ®Õm 1 Bé ®Õm 0
Gate: Mçi mét bé ®Õm ®−îc cho phÐp qua ch©n INTO hoÆc INT1 . Khi TR0
(RT1) cña TCON ®−îc thiÕt lËp Gate sÏ xo¸ Timer/ Counter ho¹t ®éng. NÕu
Gate vµ TR0 ( TR1) còng ®−îc thiÕt lËp th× cho phÐpTimer/ Counter ho¹t ®éng
nÕu INTO (IMT1) ®−îc kÝch ho¹t Low.
C/T (Counter/Timer Select): 0: Timer
1: Counter.
Bé ®Õm sÏ t¨ng khi xung vµo TO ( T1) cæng 3 ë chÕ ®é Timer mçi khi cã
xung ( qua) thø 12 th× bé ®Õm sÏ t¨ng.
M1 vµ M0 : Chén chÕ ®é lµm viÖc.
0 0 : Mode 0 bé ®Õm/ bé ph¸t thêi gian 13 bit. Trong chÕ ®é nµy
ng¾t ®−îc ph¸t ra khi cã 213 = 8192 xung vµo.
0 1 : Mode 1 bé ®Õm/ bé ph¸t thêi gian 16 bit. Trong chÕ ®é nµy
ng¾t ®−îc ph¸t ra khi cã 216 = 65536 xung vµo.
1 0 : Bé ®Õm/ bé ph¸t thêi gian 8 bit, tù ®éng n¹p l¹i khi bËt nguån
nu«i.
1 1 : Mode 3 chØ dïng cho bé ®Õm 0 : Hai bé ®Õm 8 bit t¸ch rêi
nhau.
TF1: Cê trµn dïng cho Timer 1. TF1 ®−îc thiÕt lËp b»ng phÇn cøng khi
Timer/Counter bÞ trµn. TF1 bÞ xo¸ khi cã xö lý rÏ nh¸nh ®Õn ch−¬ng tr×nh con,
phôc vô ng¾t, TF1 vµ IE1 cã thÓ ®iÒu khiÓn b»ng phÇn mÒm ®Ó quyÕt ®Þnh tr¹ng
th¸i cña Timer 1.
TR1: §ãng m¹ch Timer 1: Timer/Counter 1 kh«ng ho¹t ®éng khi bit nµy
bÞ xo¸, bit nµy cÇn thiÕt ®−îc lËp nh−ng kh«ng ®ñ ®Ó cho phÐp Timer/Counter
ho¹t ®éng. TR1 ®iÒu khiÓn hoµn toµn b»ng phÇn mÒm.
TF0: Cê trµn dïng cho Timer 0.
TR0: §ãng m¹ch Timer 0.
IE1: Ng¾t ë INT1 víi kÝch chuyÓn b»ng s−êng xung. §−îc thiÕt lËp b»ng
phÇn mÒm khi ng¾t ngoµi ®−îc x¸c ®Þnh, bit nµy sÏ bÞ xo¸ khi lÖnh Return ®−îc
thùc hiÖn ( Return From Interrupt).
IT1: Cê ng¾t dïng cho INT1. Ng¾t 1 ë ngoµi nhËn qua ch©n P3.3 cña
cæng 3. Xãa IT1 th× ng¾t sÏ ph¸t ra khi tÝn hiÖu ngoµi lµ thÊp. NÕu tÝn hiÖu ngoµi
vÉn ë møc thÊp INT1 sÏ ®−îc ph¸t ra nÕu INT1 bÞ xo¸ vµ sÏ kh«ng ph¸t ra nÕu
INT1 ®−îc lËp. INT1 ®−îc ®iÒu khiÓn b»ng phÇn mÒm.
IE0: Ng¾t ë INT0 víi kÝch chuyÓn b»ng s−ên xung.
IT0: Cê ng¾t dïng cho INT0.
2.6.7. §iÒu khiÓn ng¾t.
8031 cã 5 ng¾t: TF0, TF1, INT0, INT1 vµ kÕt qu¶ cña cæng nèi tiÕp. TF0
vµ TF1 cña c¸c thanh ghi TCON t¹o ra 2 ng¾t, Timer/Counter t¹o ra ng¾t khi bé
®Õm bÞ trµn. INT0 vµ INT1 t¹o ra 2 ng¾t ngoµi, nh÷ng ng¾t ®ã do tÝn hiÖu ngoµi
nhËn ®−îc qua 2 ch©n P3.2 vµ P3.3 cña cæng 3. PhÇn cøng ®iÒu khiÓn ng¾t cã thÓ
lËp tr×nh ®Ó tr¶ lêi mçi khi cã s−ên xuèng cña tÝn hiÖu ngoµi hoÆc møc thÊp cña
tÝn hiÖu ngoµi. Sù lù chän nµy sÏ quyÕt ®Þnh bëi bit ®iÒu khiÓn INT0 vµ INT1 cña
SFR TCON. Ng¾t cuèi cïng lµ tõ cæng nèi tiÕp, cê ng¾t RT vµ TI cña SCON kÕt
Lª Thμnh S¬n \ 32 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
EX0 (Enable Extenal Interrupt 0): §−îc thiÕt lËp b»ng phÇn mÒm ®Ó cho
phÐp ng¾t 0 ngoµi, xo¸ vÒ 0 lµ kh«ng cho phÐp.
ET0 ( Enable Timer/Counter Interrupt 0): ThiÕt lËp b»ng phÇn mÒm cho
phÐp Timer/Counter trµn Interrupt 0, xo¸ vÒ 0 lµ kh«ng cho phÐp.
EX1: §−îc thiÕt lËp b»ng phÇn mÒm ®Ó cho phÐp ng¾t 1 ngoµi, xo¸ vÒ 0 lµ
kh«ng cho phÐp.
ET1: ThiÕt lËp b»ng phÇn mÒm cho phÐp Timer/Counter trµn Interrupt 1,
xo¸ vÒ 0 lµ kh«ng cho phÐp.
ES: (Enable Serial Port Interrupt ): §−îc thiÕt lËp b»ng phÇn mÒm cho phÐp
cæng nèi tiÕp ng¾t 1, xo¸ vÒ 0 kh«ng cho phÐp.
EA( Enable All): Khi bit nµy bÞ xo¸ tÊt c¶ c¸c ng¾t nµy ®Òu bÞ xo¸ vµ khi
®−îc lËp sÏ cho phÐp phô thuéc vµo bit ®iÒu khiÓn.
IP Register:
7 6 5 4 3 2 1 0
PS PT1 PX1 PT0 PX0
PX0 ( Priority of Enable Interrupt 0): Khi ®−îc thiÕt lËp ng¾t 0 ngoµi nhËn
®−îc sÏ ë møc −u tiªn cao.
PT0 ( Priority of Timer/Counter Interrupt 0 ): Khi bit nµy lËp ng¾t 0 ë ngoµi
Timer/Counter nhËn ®−îc sÏ ë møc −u tiªn cao.
PX1: T−¬ng tù PX0 nh−ng cho ng¾t 1 ngoµi.
PT1: T−¬ng tù PT0 nh−ng cho ng¾t 1 ngoµi nhËn ®−îc.
PS: ( Priority of Serial Port Interrupt ): Ng¾t cæng nèi tiÕp nhËn ®−îc ë møc
−u tiªn cao khi bit nµy ®−îc lËp.
2.6.8. Bé ph¸t dao ®éng.
8031 cã mét bé ph¸t dao ®éng dïng th¹ch anh bªn ngoµi. Bé t¹o dao
®éng tÇn sè gièng nh− tÇn sè cña tinh thÓ th¹ch anh vµ ®−îc chia cho 12, nã cã
thÓ ®−îc dïng lµm ®Çu vµo cña Timer.
Dïng bé ph¸t dao ®éng 12 MHz th× ®Çu vµo cña Timer sÏ lµ 1 MHz. 8031
cã 12 chu kú dao ®éng trªn mét chu kú m¸y. Nã cã 255 thao t¸c nh÷ng nhãm
m· lÖnh, t−¬ng ®−¬ng 111 chØ thÞ.
VÝ dô:
Cã 15 m· thao t¸c cô thÓ phô thuéc vµo byte ®Ých, byte nguån vµ chÕ ®é
®Þa chØ. Thªm vµo ®ã, cã 2 lÖnh dÞch chuyÓn bit vµ mét lÖnh dÞch chuyÓn Word,
lÖnh ®ã dÞch chuyÓn 16 bit vµo con trá d÷ liÖu ( Data Poiter). Trong 255 m· thao
t¸c ®ã,159 thao t¸c hÕt mét chu kú m¸y, 51 thao t¸c cÇn 2 chu kú m¸y, 43 thao
t¸c cÇn 3 chu kú m¸y vµ 2 thao t¸c cÇn 4 chu kú m¸y. Trõ khi cã nhiÒu thao t¸c
chØ cÇn cã mét chu kú m¸y, 8031 ®· xem xÐt ®Õn kh¶ n¨ng cã thÓ thùc hiÖn hµng
triÖu lÖnh trong mét gi©y. RÊt nhiÒu hÖ thèng 8031 dïng dao ®éng tinh thÓ th¹ch
anh 11,0582 MHz, Së dÜ cã sù lùa chän nµy v× thùc tÕ nã cã thÓ ph¸t ra tèc ®é
Baud rÊt cao. Dao ®éng tinh thÓ 11,0592 MHz tèc ®é cã thÓ lªn tíi 19200 Baud.
Sau khi xung Reset t¸c ®éng, vi xö lý ®−îc khëi t¹o l¹i ta cã néi dung cña
c¸c thanh ghi ®Æc biÖt (SFR) nh− sau:
VÝ dô:
Mov C,13h chuyÓn néi dung boolean cña bit 13h vµo thanh ghi cê. Bit 13h
lµ bit sè 3 cña byte ë vÞ trÝ 22h cña Ram trong. Ta còng cã thÓ viÕt nh− sau:
Mov C,22.3h còng cho mét kÕt qu¶. C¸c SFR kh¸c còng cã thÓ ®¸nh ®Þa
chØ theo tõng bit, nh÷ng bit ®Þa chØ ®ã n»m trong kho¶ng tõ { 80h... FFh}.
FFh
§Þa chØ cña c¸c SFR.
80h
7Fh
Sö Dông tù do vµ ng¨n xÕp
30h
2FH 2Fh
16 BYTE ®¸nh ®Þa chØ theo bit
20h
1Fh
4 Bank thanh ghi 32 byte
00h
B¶n ®å bé nhí RAM trong 8031.
VÝ dô:
90h lµ ®Þa chØ cña cæng 1 ( Port1), ghi vµo ®Þa chØ 990h cã nghÜa lµ göi d÷
liÖu ra Port 1.
Mov a, 70h; chuyÓn néi dung cña thanh ghi ®Þa chØ 70h vµo thanh ghi a.
Mov 90h, a; ChuyÓn néi dung thanh ghi a vµo Port 1.
- ChÕ ®é ®Þa chØ thanh ghi (Register Addressing Mode). To¸n h¹ng nguån
hoÆc to¸n h¹ng ®Ých lµ 1 trong 8 thnh ghi cña Bank thanh ghi ®−îc chän.
VÝ dô:
Mov PSW,#2 : Chän thanh ghi Bank 2.
Mov R0, a: ChuyÓn néi dung thanh ghi a vµo R0.
Mov R2,b: ChuyÓn néi dung thanh ghi B vµo R2.
- ChÕ ®é ®Þa chØ gi¸n tiÕp thanh ghi. Trong chÕ ®é nµy to¸n h¹ng nguån
hay lµ ®Ých lµ mét « nhí cã ®Þa chØ chøa trong mét thanh ghi cña thanh ghi Bank
®−îc chän.
VÝ dô:
Mov PSW, #0: Chän thanh ghi Bank 0.
Mov R0, #a:
Mov @ R0,#1: ChuyÓn 1 vµo « nhí cã ®Þa chØ chøa trong R0.
- ChÕ ®é ®Þa chØ sè thanh ghi (Register Indexed Addressing Mode). Trong
chÕ ®é nµy to¸n h¹ng nguån hay to¸n h¹ng ®Ých ®−îc lÊy b»ng c¸ch céng gi¸ trÞ
cña thanh ghi a víi ®Þa chØ c¬ së. §Þa chØ c¬ së cã thÓ lµ DPTR ( Data Poiter)
hoÆc PC (Progam Counter).
VÝ dô:
Mov DPTR, # 800h: ChuyÓn ®Þa chØ b¶ng c¬ së vµo data.
Mov a, #0 : Pointer.
Mov a, @ + DPTR : a:= ( a+ DPTR),ROM.
Ngoµi nh÷ng chÕ ®é ®Þa chØ trªn 8031 cßn cã c¸c chÕ ®é ®Þa chØ lµm viÖc
víi Stack, lµm viÖc theo tõng bit vµ cã lÖnh ho¸n ®æi tõng bit cña 1 byte.
VÝ dô:
Mov SP, #SFR: Khëi t¹o Stack Pointer.
Lª Thμnh S¬n \ 38 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
Mov a, # 45h :
Push acc : CÊt thanh ghi a vµo Stack.
Mov b, # 0 : Xo¸ thanh ghi B.
Pop B : ChuyÓn néi dung tõ ®Þnh Stack (45h) vµo thanh ghi B.
C¸c lÖnh ho¸n ®æi cña 8031 rÊt tiÖn lîi khi lµm viÖc víi c¸c sè BCD. Néi
dung cña thanh ghi a, C¸c thanh ghi kh¸c cã thÓ ho¸n ®æi cho nhau mµ kh«ng
cÇn biÕn trung gian.
VÝ dô :
Mov a, # 0ah: Khëi t¹o thanh ghi a.
Mov b, # 0bbh: Khëi t¹o thanh ghi a.
Xch a,b : Ho¸n ®æi a,b.
Xch a,b : Tr¶ l¹i gi¸ trÞ cho thanh ghi a,b.
Xch a,b : Ho¸n ®æi 4 bit thÊp cña a,b
+. TÊt c¶ c¸c bit trong kho¶ng 20h ®Õn 2Fh cã thÓ ®−îc xö lý ®ång thêi
tõng byte hay tõng bit vµ ta còng cã thÓ xö lý tõng bit cña cæng.
VÝ dô:
Mov C,P1.0
Mov P1.1,C.
2.7.2. Bé lÖnh 8031.
2.7.2.1. LÖnh n¹p trùc tiÕp.
LÖnh M· gîi nhí NhÞp Chøc n¨ng
14 CLR A 1 A: = 0
74 Mov A, # Data 2 A: = d÷ liÖu
78...7F Mov R, # Data 2 R0...R7: = d÷ liÖu
76,77 Mov @R, # Data 2 R0,R1: = d÷ liÖu, bé nhí
Ram trong.
75 Mov adr, # Data 2 adr: = d÷ liÖu, bé nhí
Ram trong.
90 Mov DPTR, adr 16 2 DPTR: = adr 16.
PhÇn III:
ThiÕt kÕ m¹ch ®iÒu khiÓn logic
cã lËp tr×nh
Cæng
D7 Më
D0 Réng
Rom RAm
VXL
64K 64K
Bµn M¹ch
PhÝm MAX Gi¶i m∙
®Þa chØ
Khèi
Nguån
ThuyÕt minh ho¹t ®éng cña s¬ ®å khèi vµ chøc n¨ng cña c¸c khèi.
§Ó PLC lµm viÖc th× tr−íc hÕt ph¶i cã phÇn mÒm ®iÒu khiÓn c¸c thao t¸c khëi
t¹o vµ qu¸ tr×nh vµo ra d÷ liÖu còng nh− t¹o tr¹ng th¸i dõng ngoµi ra cßn ch−¬ng
tr×nh chÝnh .
TÊt c¶ c¸c ch−¬ng tr×nh ®−a vµo PLC qua cæng truyÒn nèi tiÕp RS232.
Khi cã ch−¬ng tr×nh PLC ®· s½n sµng lµm viÖc. Ban ®Çu PLC ®äc ch−¬ng
tr×nh ®iÒu hµnh tõ ROM ®Ó khëi t¹o sau ®ã quÐt bµn phÝm ®Ó x¸c ®Þnh tr¹ng th¸i
cã thÓ lµ Stop, Run hay Term.
NÕu phÝm Stop th× PLC ngõng mäi thao t¸c vµ chê tÝn hiÖu ®iÒu khiÓn tõ
bµn phÝm khi cã phÝm Run th× vi xñ lÝ ®äc ch−¬ng tr×nh chÝnh trong RAM vµ lÊy
tÝn hiÖu vµo theo yªu cÇu ch−¬ng tr×nh .
Sau khi xö lÝ, vi xö lÝ sÏ ®−a tÝn hiÖu lªn Bus ®Öm chèt vµ ®−a tÝn hiÖu ra
ngoµi ®Ó ®ãng, c¾t thiÕt bÞ ®−îc ®iÒu khiÓn .
Ngoµi ra cã yªu cÇu lµm viÖc víi ngo¹i vi qua cæng më réng th× tÝn hiÖu
®−îc trao ®æi víi vi xö lÝ qua cæng vµo ra hai chiÒu 74LS245.
Khèi gi¶i m· ®Þa chØ nhËn ®Þa chØ tõ vi xö lÝ ®Ó øng víi mét gi¸ trÞ ®Þa chØ cã
mét vi m¹ch ®−îc chän lµm viÖc tr¸nh ng¾n m¹ch Bus .
Khèi t¹o nguån nu«i cho hÖ vèi c¸c møc yªu cÇu ®iÖn ¸p: +5v; -5v; +12v;
+24v.
3.2. ThiÕt kÕ chi tiÕt tõng khèi.
1 A 15
/Y0
2 B /Y1 14
3 13
C /Y2
12
/Y3
/Y4 11
4 10
G1 /Y5
5 /G2A /Y6 9
6 /G2B /Y7 7
74LS138
Trong ®ã:
Y0 .. Y7 lµ c¸c ®Çu ra cña74LS138. Khi ®Çu ra ®−îc chän ë møc thÊp. Cßn
c¸c ®Çu ra kh«ng ®−îc chän ë møc cao .
A,B,C lµ 3 ®Çu vµo chän viÖc thay ®æi c¸c gi¸ trÞ nµy sÏ thay ®æi c¸c ®Çu
ra ®−îc chän.
G1, G 2 A , G 2 B lµ c¸c ®Çu vµo ®iÒu khiÓn chän chip cña vi m¹ch. IC nµy
chØ lµm viÖc khi c¸c tÝn hiÖu:G1=1, G2 A = 0 vµ G2 B = 0. Cßn mét trong c¸c
®iÒu kiÖn trªn kh«ng tho¶ m·n th× vi m¹ch kh«ng ®ù¬c lµm viÖc. Khi ®ã c¸c ®Çu
ra ®Òu ë tr¹ng th¸i trë kh¸ng cao. §Ó hiÓu râ nguyªn lý ho¹t ®éng cña vi m¹ch
74LS138 ta xÐt b¶ng tr¹ng th¸i cña74LS138.
1 0 0 0 0 0 0 1 1 1 1 1 1 1
1 0 0 0 0 1 1 0 1 1 1 1 1 1
1 0 0 0 1 0 1 1 0 1 1 1 1 1
1 0 0 0 1 1 1 1 1 0 1 1 1 1
1 0 0 1 0 0 1 1 1 1 0 1 1 1
1 0 0 1 0 1 1 1 1 1 1 0 1 1
1 0 0 1 1 0 1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1 1 1 0
B¶ng tr¹ng th¸i cña 74LS138.
X: Tr¹ng th¸i bÊt kú (cã thÓ 0 hay 1)
HiZ: Tr¹ng th¸i trë kh¸ng cao (hë m¹ch).
Trong s¬ ®å cña chóng ta m¹ch gi¶i m· dïng cho c¸c bé nhí, c¸c vi m¹ch
vµo ra d÷ liÖu. Do ®ã m¹ch gi¶ m· sÏ ho¹t ®éng trong suèt qu¸ tr×nh lµm viÖc
cña vi xö lý tøc lµ tõ khi hÖ thèng ®−îc cÊp nguån th× 74LS138 sÏ chê vi xö lý
®iÒu khiÓn. §Ó tho¶ m·n ®−îc ®iÒu kiÖn lµm viÖc ®ã ta x©y dùng ®−îc m¹ch gi¶i
m· ®Þa chØ.
§Ó 74LS138 ho¹t ®éng ®−îc ngay khi cÊp nguån cho hÖ thèng th× ta ph¶i
tho¶ m·n c¸c ®iÒu kiÖn cña ®Çu vµo ®iÒu khiÓn, G1 møc cao, G2 A , G2 B ë møc
thÊp.
ë ®©y 3 ®Çu vµo chän lÊy tõ c¸c bit ®Þa chØ A13, A14, A15 tõ vi xö lý.
C¸c ®Çu ra cña vi m¹ch gi¶i m· ®Þa chØ ®−îc ®−a tíi ®Ó chän bé nhí vµ c¸c
vi m¹ch kh¸c.
ë trong m¹ch cña chóng ta cÇn sö dông c¸c vi m¹ch ®Öm chèt ®Ó ®Öm chèt
d÷ liÖu ra cña vi xö lý. Trong s¬ ®å cña chóng ta vi m¹ch ®Öm chèt ®−îc dïng
cho c¸c chøc n¨ng sau.
- §Öm chèt c¸c bit ®Þa chØ cho c¸c bé nhí ROM, RAM.
- §Öm chèt c¸c d÷ liÖu tõ vi xö lý ra ngoµi.
Trong m¹ch nµy ta sö dông m¹ch ®Öm chèt 74LS373 .
74LS373 lµ vi m¹ch ®Öm cèt 8 bit d÷ liÖu (®Þa chØ) s¬ ®å ch©n cña nã nh−
sau:
2 2
D0 Q0
5 5
D1 Q1
6 6
D2 Q2
9 9
D3 Q3
12 12
D4 Q4
15 15
D5 Q5
16 16
D6
Q6
19 19
D7 Q7
20 20
E Vcc
10 10
OE GND
74LS373
D0…D7 lµ 8 bit ®Çu vµo cña vi m¹ch ®Öm chèt ®Þa.
Q0…Q7 lµ 8 bit ®Çu ra cña bé m¹ch ®Öm chèt.
Ch©n E (Enable) lµ ch©n cho phÐp cña 74LS373 khi ®−îc chän ë møc
thÊp. Ch©n OE (Output Enable) cho phÐp ra khi m¹ch lµm viÖc OE ë møc thÊp.
§Ó hiÓu râ ta nghiªn cøu b¶ng tr¹ng th¸i cña vi m¹ch:
OE E Dn Qn+1
1 X X Hi-Z
0 0 X Qn
0 1 0 0
0 1 1 1
B¶ng tr¹ng th¸i 74LS373
D0 D
Q0
G
D1 D
Q1
G
D2 D
Q2
G
D3 D
Q3
G
D4 D
Q4
G
D5 D
Q5
G
D6 D
Q6
G
D7 D
Q7
G
E
Vi m¹ch ®Öm chèt 74LS373 cã 8 ®Çu vµo d÷ liÖu vµ 8 ®Çu ra t−¬ng øng
®−îc m« t¶ nh− s¬ ®å cÊu tróc trªn. Ho¹t ®éng cña m¹ch ®−îc ®iÒu khiÓn bëi hai
tÝn hiÖu ®−a tíi: OE vµ E (hay OC vµ G). trong ®ã E lµ ch©n cho phÐp (Enable),
ch©n OE lµ ch©n ®iÒu khiÓn ra (Out Enable).
- Khi ch©n OE ®−îc chän ë møc cao cã nghÜa lµ cæng 3 tr¹ng th¸i kh«ng
lµm viÖc vµ ë tr¹ng th¸i trë kh¸ng cao (Hi-Z) mµ kh«ng phô thuéc vµo c¸c tÝn
hiÖu cho phÐp E ë møc cao th× cæng 3 tr¹ng th¸i lµm viÖc ë chÕ ®é ®Öm d÷ liÖu,
d÷ liÖu ®Çu ra gièng d÷ liÖu ®Çu vµo.
- Khi E ë m¹ch møc thÊp th× ®Çu ra ë m¹ch ®Öm chèt lµ gi÷ nguyªn tr¹ng
th¸i tr−íc ®ã mµ kh«ng phô thuéc vµo d÷ liÖu ®Çu vµo.
3.2.3. ThiÕt kÕ khèi ghÐp nèi.
Khèi ghÐp nèi cã nhiÖm vô ghÐp nèi gi÷a m¸y tÝnh vµ c¸c khèi vi xö lý.
ViÖc truyÒn d÷ liÖu thùc hiÖn qua khèi ghÐp nèi. Khèi ghÐp nèi thùc chÊt lµ mét
cæng giao diÖn nèi tiÕp trong ®å ¸n nµy ta dïng chuÈn truyÒn tin RS232 ®Ó
truyÒn lµ vi m¹ch Max 232. Së dÜ ta dïng cæng giao diÖn nèi tiÕp lµ do truyÒn
nèi tiÕp sÏ tiÕt kiÖm ®−êng truyÒn vµ gi¶m ®−îc nhiÔu trªn ®−êng truyÒn. Khèi
ghÐp nèi theo tiªu chuÈn RS232 sÏ chuyÓn møc tõ TTL thµnh møc RS232 vµ
ng−îc l¹i chuyÓn møc RS232 thµnh møc TTL do vi m¹ch Max RS232 chuyÓn
®æi møc TTL ë nèi vµo thµnh møc +10V hoÆc -10V ë phÝa truyÒn vµ c¸c møc
+3V ®Õn +15V hoÆc -3V ®Õn -5V thµnh møc 0V vµ +5V ë phÝa nhËn.
S¬ ®å ch©n cña Max 232:
C1+ 1 16 +Vcc
V+ 2 15 GND
C1- 3 14 T1Out
C2+ 4 13 R1In
C2- 5 12 R1Out
V- 6 11 T1In
T2Out 7 10 T2In
R2In 8 9 R2Out
MAX232
+5V
+5V…-5V DTR
+10V…-10V DSRS
Vi m¹ch Max232 sÏ ®−îc ®Æt gi÷a cæng nèi tiÕp cña vi xö lý vµ æ c¾m lÊy
ra cña cæng RS232. Ta chän æ c¾m lo¹i DB9 cã s¬ ®å bè trÝ ch©n nh− sau:
1
6 DCD
DSR RXD
RTS TXD
CTS DTR
RI 9 GND
5
1
6
RXD In
RXD RXD Out
9
VXL 5
MAX232
TXD TXD In
TXD Out
- PhÝm Term (PhÝm nhËn vµ ch¹y thö ch−¬ng tr×nh trªn PLC khi lÊy ch−¬ng
tr×nh tõ m¸y tÝnh hoÆc m¸y lÆp tr×nh ®Ó kiÓm tra kÕt qu¶).
§ång thêi lµ hiÓn thÞ LED t−¬ng øng víi 3 tr¹ng th¸i cña thiÕt bÞ.
S¬ ®å nguyªn lý cña khèi nh− sau:
R
STOP
D0 Q0 R
.
. RUN
.
.
.
.
TERM
.
. R
D7 Q7
Tõ gi¶i m· ®Þa chØ Ucc
G +5V
GND
OC
74LS373
BUS d÷ liÖu
Q0 D0
. .
. .
. .
. .
Q7 D7
Ucc
G +5V
Tõ gi¶i m· ®Þa chØ DIR GND
74LS245
R R
+5V
S¬ ®å nguyªn lÝ cña khèi ®äc bµn phÝm vµ hiÓn thÞ tr¹ng th¸i PLC.
Nguyªn lÝ ho¹t ®éng cña s¬ ®å:
Gi¶ sö ban ®Çu thiÕt bÞ PLC ®ang ë tr¹ng th¸i ch¹y(Run) th× tr−íc ®ã phÝm
Run ®· ®−îc Ên .C¸c phÝm Ên ë ®©y lµ c«ng t¾c ba vÞ trÝ t¹i mét thêi ®iÓm chØ cã
mét vÞ trÝ ®−îc ®ãng. Khi ®ã PLC ®ang ë chÕ ®éc lµm viÖc,®Ó b¸o tr¹ng th¸i nµy
trªn Bus d÷ liÖu cña PLC cã gi¸ trÞ ®Ó LED Run s¸ng vµ vi m¹ch 74LS373 sÏ
chèt d÷ liÖu nµy trong suèt qu¸ tr×nh lµm viÖc víi gi¸ trÞ 20h. Khi ®ã ®Çu ra Q1 ë
møc cao cßn c¸c ®Çu ra kh¸c ë møc thÊp vµ LED nèi vµo Q2 sÏ ph¸t s¸ng,b¸o
tr¹ng th¸i PLC ®ang lµm viÖc.
Gi¶ sö ta chuyÓn sang vÞ trÝ Stop (cho dõng hÖ thèng). §Õn hÕt chu kú lµm
viÖc VXL sÏ cho ch¹y ch−¬ng tr×nh ®äc bµn phÝm.Khi ®ã VXL sÏ nhËn tr¹ng
th¸i míi cña bµn phÝm(tr¹ng th¸i dõng) VXL®−a hÖ thèng vÒ tr¹ng th¸i dõng.
Khi VXL ch¹y ch−¬ng tr×nh con ®äc bµn phÝm th× d÷ liÖu vµo ®−îc truyÒn qua vi
m¹ch ®Öm 74LS245 vµo Bus ®Ó VXL ®äc vµ xö lÝ, kÕt qu¶ cña qu¸ tr×nh nµy sÏ
®−îc ®−a lªn Bus ®Ó ®Öm chèt 74LS373 nhËn vµ ®−a ra hiÓn thÞ b¸o tr¹ng th¸i .
Víi phÝm Stop gi¸ trÞ ®−a ra lµ 01h, khi ®ã c¶ hÖ thèng sÏ dõng vµ c¸c ®Çu ra cña
PLC ®Òu ë møc Logic thÊp tøc lµ c¸c thiÕt bÞ sau nã sÏ bÞ c¾t .
Nguyªn lÝ ho¹t ®«ng cña khèi nµy hoµn toµn t−¬ng tù khi phÝm Term ®−îc
Ên nh−ng gi¸ trÞ tr¹ng th¸i VXL ®−a ra lµ 04h .
VXL ®äc phÝm víi c¸c gi¸ trÞ :
- PhÝm Stop lµ F1h .
- PhÝm Run lµ F2h .
- PhÝm Term lµ F4h.
Khi lËp tr×nh VXL sÏ biÕt øng víi gi¸ trÞ ®ã th× phÝm nµo ®−îc ®ãng.
3.2.5 Vi m¹ch ®Öm vμo ra hai chiÒu 74LS245.
Vi m¹ch nµy ®¶m nhiÖm viÖc trao ®æi vµo ra hai chiÒu 8Bit cã s¬ ®å ch©n
vµ b¶ng tr¹ng th¸i nh− sau:
DIR 1 20 +Vcc
D0 2 19 E
D1 3 18 Q0
D2 4 17 Q1
D3 5 16 Q2
D4 6 15 Q3
D5 7 14 Q4
D6 8 13 Q5
D7 9 12 Q6
GND 10 11 Q7
74LS245
Q0
D0
Q1
D1
Q2
D2
Q3
D3
Q4
D4
Q5
D5
Q6
D6
Q7
D7
E
DIR
ng¾t cã c¸c thao t¸c cho VXL tiÕn hµnh. Ngoµi ra ROM chøa ch−¬ng tr×nh t¹o
nªn tr¹ng th¸i dõng vµ ®iÒu khiÓn qu¸ tr×nh n¹p ch−¬ng tr×nh tõ cæng nèi tiÕp vµo
trong RAM ë ®©y ta chän ROM 2764 v× VXL cã thÓ qu¶n lÝ ®−îc bé nhí ch−¬ng
tr×nh ngoµi tíi 64KB, vi m¹ch nµy cã dung l−îng nhí 64KB cÇn 13 ®−êng ®Þa
chØ vµ tÝn hiÖu ®äc ra khi cã tÝn hiÖu chän chip CE (Chip Select) ë møc thÊp, 13
®−êng ®Þa chØ vµ tÝn hiÖu cho phÐp ra OE (Out Enable).
+ A0..A12 lµ c¸c ch©n ®Þa chØ.
+ D0..D7 lµ c¸c ch©n d÷ liÖu.
+ OE (Out Enable) cho phÐp ra.
3.2.7. RAM - Bé nhí d÷ liÖu vμ ch−¬ng tr×nh.
§èi víi VXL viÖc ®äc d÷ liÖu hay ch−ng tr×nh thùc VXL chØ nhËn biÕt
®−îc c¸c møc Logic nh− vËy ch−¬ng tr×nh ®−îc VXL nhËn ®−îc nh− d÷ liÖu.
V× trong PLC yªu cÇu viÖc n¹p vµ xo¸ ch−¬ng tr×nh nhiÒu lÇn mµ thao t¸c
®¬n gi¶n, ®Ó lµm viÖc nµy ta kh«ng thÓ th¸o ROM ®Ó n¹p mµ ta sÏ dïng ROM ®Ó
®iÒu khiÓn VXL n¹p ch−¬ng tr×nh vµo RAM. Khi ®ã ch−¬ng tr×nh n»m trong
Ram ®−îc VXL coi nh− d÷ liÖu. Nhê vËy mµ qu¸ tr×nh ®äc viÕt trë nªn ®¬n gi¶n
. Khi cÇn ®äc ch−¬ng tr×nh th× tiÕn hµnh ®äc b×nh th−êng nh− trong ROM .
Ta chän RAM lµ RAM tÜnh SRAM (Static RAM) 6264 RAM nµy cã dung
l−îng 64KB, cÇn 13 ®−êng ®Þa chØ vµ c¸c tÝn hiÖu ®iÒu khiÓn WE , OE , CE1 , CE2
cïng 8 ®−êng d÷ liÖu.
1 28 Vcc
NC
2 27 WE
A12
3 26 CE2
A7
4 25 A8
A6
5 24 A9
A5
6 23 A11
A4
7 22 OE
A3
8 21 A10
A2
9 20 CE1
A7
10 19
A0 D7
11 18
D0 D6
12 17
D1 D5
13 16
D2 D4
GND 14
15
D3
SRAM 6264
1FFFh
0FFFh
0000h
3.2.8. HÖ vi xö lý.
HÖ vi xö lý ®−îc thiÕt kÕ dùa trªn c¬ së cña VXL8031 cã thÓ dïng bé nhí
ngoµi lªn tíi 64KB víi Bus d÷ liÖu 8 bit hÖ thèng giao tiÕp víi m¸y tÝnh th«ng
qua chuÈn truyÒn tin RS 232. Bé phèi ghÐp dïng vi m¹ch Max 232 víi bé ghÐp
nèi nµy hÖ chØ giao tiÕp víi m¸y tÝnh kho¶ng 30m trë l¹i. Khi cÇn truyÒn xa ph¶i
cã bé khuyÕch ®¹i ®−êng truyÒn bæ xung. VXL 8031 cã 16 ®−êng ®Þa chØ víi 8
bÝt ®Þa chØ thÊp vµ 8 bÝt d÷ liÖu truyÒn trªn 1 cæng b»ng dïng bé dån kªnh, ngoµi
ra cßn vi m¹ch gi¶i m· ®Þa chØ chän chip 74LS138 vµ vi m¹ch ®Öm chèt
74LS373.
C¸c linh kiÖn trong s¬ ®å ®· ®−îc nghiªn cøu ë c¸c phÇn tr−íc ®©y ta
nghiªn cøu nguyªn lý ho¹t ®éng cña s¬ ®å. §Ó hÖ lµm viÖc tõ qu¸ tr×nh lÊy
ch−¬ng tr×nh bªn ngoµi th× ban ®Çu trong ROM ph¶i cã ch−¬ng t×nh ®iÒu hµnh.
Khi ch−¬ng tr×nh ®iÒu khiÓn ®−îc tõ m¸y tÝnh qua cæng truyÒn nèi tiÕp
vµo VXL vµ ®−îc ROM ®iÒu hµnh ®−a vµo d÷ liÖu trong RAM. §©y lµ ®iÒu kh¸c
c¬ b¶n gi÷a c¸c hÖ VXL v× RAM ngo¹i l−u ch−¬ng tr×nh ë vïng nöa ®Þa chØ cao
th× nöa vïng ®Þa chØ thÊp ®Ó l−u ch−¬ng tr×nh.
Khi ch−¬ng tr×nh l−u trong RAM khi cã yªu cÇu ch¹y th× VXL ph©n biÖt
ch−ong tr×nh ®iÒu hµnh vµ ch−¬ng tr×nh ®iÒu khiÓn ë tÝn hiÖu PSEN kÕt hîp víi
gi¸ trÞ ®Þa chØ cô thÓ khi ®äc ch−¬ng tr×nh ®iÒu hµnh trong ROM th× VXL ®−a ra
tÝn hiÖu PSEN ë møc thÊp vµ gi¸ trÞ ®Þa chØ ë vïng tõ 0000h ®Õn 1FFFh. Khi ®ã
ROM ®−îc chän vµ gi¸ trÞ ®Þa chØ vµo ®Ó ®−a ta ch−¬ng tr×nh ®iÒu khiÓn.
Ch−¬ng tr×nh trong ROM lµ c¸c d¹ng ch−¬ng tr×nh khëi t¹o vµ t¹o tr¹ng
th¸i ban ®Çu ë c¸c ®Çu ra. C¸c ch−¬ng tr×nh xö lý ng¾t vµ ch−¬ng tr×nh nhËn
ch−¬ng tr×nh tõ cæng nèi tiÕp chuyÓn vµo RAM vµ lÊy ch−¬ng tr×nh trong RAM
khi cÇn.
Khi VXL ch¹y ch−¬ng tr×nh chÝnh trong RAM th× VXL còng ®−a ra PSEN
vµ gi¸ trÞ ®Þa chØ nh−ng trong vïng tõ 2000h ®Õn 3FFFh khi ®ã VXL sÏ lµm viÖc
víi ch−¬ng tr×nh trong RAM.
V× 8 bit ®Þa chØ thÊp cïng ®Çu ra víi 8 bit d÷ liÖu theo kiÓm dån kªnh nªn
ph¶i cÇn bé nhí trung gian mµ vai trß nµy do 74LS373 ®¶m nhiÖm ®Ó l−u gi¸ trÞ
8 Bit ®Þa chØ thÊp khi truy nhËp.
3.2.9. ThiÕt kÕ khèi ®Çu vμo vμ khèi ®Çu ra.
Hai khèi nµy lµ c¸c lµ c¸c vÝt ®−a tÝn hiÖu vµo vµ ra d−íi d¹ng 2 møc logic
râ rÖt. V× c¸c møc logic nµy do yªu cÇu nµy do yªu cÇu truyÒn xa, chèng nhiÔu
hay yªu cÇu ®iÒu khiÓn mµ møc ®iÖn ¸p th−êng cao h¬n møc ®iÖn ¸p chuÈn cña
vi m¹ch xö lý bªn trong vµ cßn yªu cÇu c¸ch ly vÒ ®iÖn gi÷a bé xö lý vµ c¸c
®−êng truyÒn tÝn hiÖu bªn ngoµi nh»m b¶o vÖ t¨ng ®é an toµn cho PLC.
R1 +5V
TÝn hiÖu vµo +
OP
TÝn hiÖu vµo
LED1
S¬ ®å nguyªn lý m¹ch lÊy tÝn hiÖu vµo cã chuyÓn møc ®iÖn ¸p.
+12V
TÝn hiÖu ra RL
R1
R2 T
LED R3
S¬ ®å nguyªn lÝ m¹ch d−a tÝn hiÖu ra theo kiÓu ®ãng c¾t R¬le.
Nguyªn lÝ ho¹t ®éng cña khèi lÊy tÝn hiÖu vµo:
Møc Logic 1 ë ®©y th−êng cao víi PLC 57-200 lµ +24V v× vËy mµ cÇn cã
chuyÓn møc vµ c¸ch ly ®iÖn ¸p vµo vµ m¹ch VXL.
Khi ®Çu vµo ë møc 0 (thÊp) lµ 0V khi ®ã ®iÖn ¸p ®Æt lªn LED trong Opto
lµ 0V nªn Opto kho¸ vµ d÷ liÖu ë ®Çu ra lµ 0V øng víi møc thÊp vµ LED1 kh«ng
s¸ng b¸o møc logic lµ møc 0.
3.2.10 ThiÕt kÕ nguån nu«i cho toμn m¹ch.
Trong m¹ch ta sö dông c¸c vi m¹ch:
- Vi m¹ch ®Öm chèt 74LS373.
+5V
7805
2200μ 104 2200μ 104
~ 9V
~ 9V
2200μ 104 2200μ 104
-5V
7905
+12V
7812
2200μ 104 2200μ 104
~ 220V ~ 15V
+24V
7824
2200μ 104 2200μ 104
~ 27V
PhÇn IV:
HÖ vi ®iÒu khiÓn logic lËp tr×nh PLC cÇn ph¶i thùc hiÖn ®−îc c¸c thao t¸c
tr−íc tiªn lµ giao tiÕp víi m¸y tÝnh hoÆc hÖ VXL kh¸c. HÖ vi ®iÒu khiÓn hiÖn nay
xö dông rÊt nhiÒu lÜnh vùc ®o l−êng vµ ®iÒu khiÓn. Nh− thÕ ®ßi hái ph¶i ghÐp nèi
m¸y tÝnh, toµn bé qu¸ tr×nh ho¹t ®éng ®−îc thùc hiÖn b»ng phÇn mÒm ®iÒu
khiÓn.Víi hÖ ®iÒu khiÓn logic chóng ta cÇn n¹p ch−¬ng tr×nh vµo trùc tiÕp tõ
m¸y tÝnh vµo VXL vµ VXL sÏ l−u gi÷ ch−¬ng tr×nh trong bé nhí. ViÖc trao ®æi
th«ng tin gi÷a PLC vµ m¸y tÝnh ®−îc thùc hiÖn qua cæng nèi tiÕp RS232 (cæng
COM1 hoÆc COM2) cña m¸y tÝnh th«ng qua hÖ thèng c¸p truyÒn. ChÕ ®é nµy
gäi lµ chÕ ®é trao ®æi th«ng tin theo ch−¬ng tr×nh b»ng ph−¬ng ph¸p truyÒn nèi
tiÕp kh«ng ®ång bé.
C¸c chÕ ®é ch−¬ng tr×nh: Sö dông c¸c lÖnh vµo ra (In, Out) c¸c lÖnh chuyÓn
d÷ liÖu gi÷a c¸c thanh ghi (MOV) ®Ó chuyÓn d÷ liÖu cña m¸y tÝnh vµo bé nhí
ngoµi cña PLC hoÆc ng−îc l¹i .
4.1. Giíi thiÖu vÒ truyÒn tin nèi tiÕp cña m¸y tÝnh PC.
Sau d÷ liÖu cña ký tù lµ bit ch½n lÎ, dïng ®Ó ph¸t hiÖn lçi khi truyÒn.
Ng−êi ta ph©n biÖt bit Parity ch½n vµ bit Parity lÎ. Bit Parity ch½n nghÜa lµ bit
Parity ®−îc thiÕt lËp sao cho tæng sè bit cña mét ký tù vµ bit Parity lµ ch½n. Bit
Parity lÎ nghÜa lµ bit Parity ®−îc thiÕt lËp sao cho tæng sè bit1 cña mét ký tù vµ
bit Parity lµ lÎ.
Cuèi cïng lµ bit STOP, bit nµy th«ng b¸o kÕt thóc viÖc truyÒn d÷ liÖu cña
1 ký tù. Bit Stop cã thÓ lµ 1,1,5, hoÆc 2.
VÝ dô:
Gi¶ sö d÷ liÖu ®−îc truyÒn víi tèc ®é 300 Baud (300 bit/ s) víi 1 bit Stop.
V× cã bit Stop nªn kªnh sÏ ë møc cao trong 1/300s sau khi truyÒn xong 1 ký tù.
Nh−ng nÕu cã 1,5 bit Stop th× kªnh sÏ lªn møc cao trong.
1,5 * 1/300s = 1/200s. ViÖc truyÒn ký tù ®Õn ®©y lµ kÕt thóc kªnh sÏ ë
møc cao cho ®Õn khi cã 1 ký tù míi ®−îc vµo vÞ trÝ truyÒn .Khi ®ã kªnh sÏ h¹
xuèng møc thÊp ®Ó truyÒn bit Start.
Sè l−îng bit d÷ liÖu phô thuéc vµo kiÓu d÷ liÖu cÇn truyÒn. §Ó truyÒn d÷
liÖu ASCII th−êng dïng 7 bit ( v× bé ký tù nµy chØ cã 127 ký tù ) nh−ng nÕu
truyÒn ký tù ASCII më réng th× ph¶i cÇn ®Õn 8 bit d÷ liÖu cho mçi ký tù. Xö lý
truyÒn vµ nhËn trong chÕ ®é kh«ng ®ång bé dïng c¸c vi m¹ch thu ph¸t kh«ng
®ång bé v¹n n¨ng UART. Nh−îc ®iÓm cña truyÒn kh«ng ®ång bé lµ tèc ®é
truyÒn kh¸ chËm v× ph¶i truyÒn thªm c¸c bit kh«ng mang tin (Start bit, Parity bit,
Stop bit ). Muèn lo¹i bá c¸c bit kh«ng mang tin nµy ®Ó tõ ®ã n©ng cao ®−îc tèc
®é hiÖu dông cña ®−êng truyÒn ng−êi ta sö dông ph−¬ng ph¸p truyÒn ®ång bé.
Trong chÕ ®é nµy d·y c¸c ký tù ®−îc truyÒn sÏ kÌm thªm m«t ký tù ®Æc biÖt: Ký
tù ®ång bé SYN ( cã m· ASCII lµ 22). Xö lý truyÒn vµ nhËn ký tù trong chÕ ®é
nµy dïng c¸c vi m¹ch thu ph¸t UART. Vi m¹ch nµy cho phÐp ho¹t ®éng c¶ ë hai
chÕ ®é.
4.1.2. ChuÈn truyÒn nèi tiÕp RS232.
D÷ liÖu ë møc TTL ®−îc biÕn ®æi sang c¸c møc ®iÖn ¸p t−¬ng øng theo
tiªu chuÈn RS232 nh− sau:
Møc 1: Tõ –3V ®Õn –15V ( Tiªu chuÈn lµ -12V )
Lª Thμnh S¬n \ 68 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
CD
RXD
TXD
DTR
GND
DSR
RTS
CTS
RI
* CD: DCE Ph¸t hiÖn ®−êng truyÒn cã vËt mang tin hay DCE ®· thu ®−îc
dÊu hiÖu cña tin trªn ®−êng truyÒn vµ b¸o ®−êng truyÒn tèt
• RXD: DTE nhËn sè liÖu tõ DCE.
• TXD: DTE truyÒn sè liÖu ra.
• DTR: S è liÖu s½n sµng ë DTE.
• GND: D©y nèi ®Êt .
• DSR: Sè liÖu s½n sµng ë DCE.
• RTS: DTE yªu cÇu göi sè liÖu .
• CTS: TÝn hiÖu tr¶ lêi chÊp nhËn RTS hoÆc ®ã lµ tÝn hiÖu yªu cÇu lµm viÖc.
• RI: B¸o chu«ng.
4.1.3. Bé thu ph¸t kh«ng bé v¹n n¨ng.
Bé thu ph¸t kh«ng ®ång bé v¹n n¨ng UART ®−îc thiÕt kÕ ®Æc biÖt ®Ó xö
lý truyÒn tin kh«ng ®ång bé. Chip UART 8250 lµ chip c¬ b¶n ®−îc thiÕt kÕ cho
CPU 80286. HiÖn nay cã c¸c chÝp th«ng dông UART kh¸c nh− 16450 vµ
16550A t−¬ng øng víi c¸c CPU cã bus d÷ liÖu 32 hay 64 bit. Ngoµi ra cßn cã
c¸c chip UART ®−îc thiÕt kÕ cho xö lý c¶ ®ång bé vµ kh«ng ®ång bé.
Bit 4 = 1: Trong khi thu nhËn ®−îc kho¶ng c¸ch trèng lín h¬n 1 ký tù ®Çy
®ñ
Bit 3 = 1: Lçi khung
Bit 2 = 1: Lçi Parity
Bit 1= 1: Mét byte sè liÖu nhËn vÒ ch−a kÞp ®äc bëi CPU ®· bÞ dßng d÷
liÖu kh¸c ®Ì lªn.
Bit 0 = 1: NhËn ®−îc d÷ liÖu.
+3FE/2FE: Thanh ghi tr¹ng th¸i MODEM
D7 D 6 D 5 D 4 D 3 D 2 D 1 D 0
Cæng nèi tiÕp cña 8031 cã thÓ truyÒn 2 chiÒu ®ång thêi vµ ký tù cã thÓ
®−îc nhËn vµ l−u tr÷ trong bé ®Öm trong khi ký tù thø 2 ®· ®−îc nhËn vµ nÕu
CPU ®äc ký tù thø nhÊt tr−íc khi ký tù thø 2 ®−îc nhËn th× d÷ liÖu kh«ng bÞ mÊt
Cã 2 thanh ghi chøc n¨ng ®Æc biÖt ®Ó phÇn mÒm qua ®ã truy nhËp cæng nèi tiÕp
lµ SPUF Vµ SCON.
SPUF cã ®Þa chØ 99h ®−îc xem nh− 2 Buffer .Khi ghi d÷ liÖu vµo SBUF lµ truyÒn
d÷ liÖu cßn khi ®äc d÷ liÖu tõ SBUF Lµ nhËn d÷ liÖu tõ ®−êng truyÒn SCON Cã
®Þa chØ 98h lµ thanh ghi cã thÓ ®¸nh ®Þa chØ theo tõng bit bao gåm bit tr¹ng th¸i
vµ bit ®iÒu khiÓn. Bit ®iÒu khiÓn x¸c lËp chÕ ®é ®iÒu khiÓn cho cæng nèi tiÕp vµ
bit tr¹ng th¸i cho biÕt ký tù ®−îc truyÒn hay ®−îc nhËn. Bit tr¹ng th¸i ®−îc kiÓm
tra b»ng phÇn mÒm hoÆc lËp tr×nh ®Ó g©y ra ng¾t.
4.2.2. Thanh ghi ®iÒu khiÓn cæng nèi tiÕp. (Spesial Post Cobtrol
Register).
C¸c chÕ ®é ho¹t ®éng cña cæng nèi tiÕp ®−îc x¸c lËp b»ng c¸ch ghi vµo
thanh ghi SCON ë ®Þa chØ 99h.
Sau ®©y lµ c¸c bit cña thanh ghi SCON:
BIT SYBOL ADRES DESCRIPTION
SCON.7 SMO 9FH Serial port mode bit 0
SCON.6 SM1 9EH Serial port mode bit 1
SCON.5 SM2 9DH Serial port mode bit 2
SCON.4 REN 9CH Receive enable
§−îc x¸c lËp nhËn ký tù
SCON.3 TB8 9BH Transmit bit 8
Bit thø 9 truyÒn ë chÕ ®é 3
§−îc lËp vµ xo¸ b»ng phÇn mÒm
SCON.2 RB8 9AH Receive bit 8 .Bit 9 ®−îc nhËn
SCON.1 TI 99H Transmit interrut flag
Nã ®−îc lËp khi kÕt thóc truyÒn
ký tù vµ ®−îc xo¸ b»ng phÇn mÒm
SCON.0 RI 98H Receive Interrupt Flag .
Lª Thμnh S¬n \ 74 [ http://www.ebook.edu.vn
§¹i Häc S− Ph¹m Kü ThuËt H−ng yªn ThiÕt kÕ hÖ PLC
n¨ng cña chÕ ®é thanh ghi dÞch lµ cã thÓ më réng ®−êng racña 8031. Thanh ghi
dÞch chuyÓn ®æi nèi tiÕpthµnh song song cã thÓ kÕt nèi c¸c ®−êng TXD vµ RXD
cung cÊp thªm 8 ®−êng ra.
4.2.3.2. Bit UART tèc ®é Baud cã thÓ thay ®æi ®−îc (Mode 1).
ë Mode 1 cæng nèi tiÕp cña 8031 ho¹t ®éng nh− lµ UART 8 bit víi tèc ®é
Baud cã thÓ thay ®æi ®−îc. UART lµ mét thiÕt bÞ nhËn vµ truyÒn d÷ liÖu nèi tiÕp ,
mçi ký tù ®−îc truyÒn b¾t ®Çu b»ng bit Start (tr¹ng th¸i thÊp) sau ®ã lµ c¸c bit d÷
liÖu ®−îc truyÒn vµ cuèi cïng lµ bit Stop (tr¹ng th¸i cao).
Mét chøc n¨ng quan träng cña UART lµ chuyÓn ®æi d÷ liÖu song song
thµnh nèi tiÕp ®Ó truyÒn vµ chuyÓn ®æi nèi tiÕp thµnh song song ®Ó nhËn.
Trong chÕ ®é nµy, 10 bit d÷ liÖu ®−îc ®−îc truyÒn qua TXD vµ nhËn vµo
qua RXD vµ viÖc truyÒn còng t−¬ng tù nh− chÕ ®é 0, bit Start lu«n b»ng 0 sau ®ã
®Õn 8 bit d÷ liÖu (LSB ®Çu tiªn ) vµ cuèi cïng lµ bit Stop. Bit TI cña SCON ®−îc
lËp b»ng 1 khi bit Stop ë ch©n TXD. Trong qu¸ tr×nh nhËn bit Stop ®−îc ®−a vµo
bit RB8 cña thanh ghi SCON vµ tèc ®é truyÒn ®−îc ®Æt bëi Timer 1. ViÖc ®ång
bé thanh ghi dÞch cña cæng nèi tiÕp ë chÕ ®é 1,2,3 ®−îc ®iÒu khiÓn bëi Counter
víi ®Çu ra Counter lµ nhÞp ®ång hå ®iÒu khiÓn tèc ®é Baud cßn ®Çu vµo cña
Counter ®−îc chän b»ng phÇn mÒm .
4.2.3.3. 9 Bit UART víi tèc ®é Baud cè ®Þnh.
ChÕ ®é ®−îc chän b»ng c¸ch ®Æt bit SM1 = 1 Vµ SM0 = 0, cæng nèi tiÕp
cña 8031 sÏ ho¹t ®éng nh− UART 9 bit cã tèc ®é baud cè ®Þnh, 11 bit sÏ ®−îc
truyÒn vµ nhËn qua TXD vµ RXD: 1 bit Start, 9 bit d÷ liÖu vµ mét bit Stop
.Trong khi truyÒn bit thø 9 sÏ ®−îc ®Æt vµo TB8 cña thanh ghi SCON cßn khi
nhËn bit thø 9 sÏ ®−îc ®Æt vµo RB8. Tèc ®é baud cña chÕ ®é 2 cã thÓ lµ 1/32
hoÆc 1/64 xung nhÞp ®ång hå.
4.2.3.4. 9 Bit UART víi tèc ®é Baud cã thÓ thay ®æi ®−îc.
Mode 3 t−¬ng tù nh− Mode 2 nh−ng tèc ®é Baud ®−îc lËp tr×nh vµ ®−îc
cung cÊp b»ng Timer. Trong thùc tÕ c¶ 3 mode 1,2,3 lµ t−¬ng ®−¬ng nhau chØ
kh¸c nhau ë chç tèc ®é Baud ë chÕ ®é 2 lµ cè ®Þnh cßn chÕ 1 vµ 3 cã thÓ thay ®æi
®−îc vµ sè l−îng bit d÷ liÖu cña Mode 1 lµ 8 bit cßn Mode 2 vµ mode 3 lµ 9 bit.
4.2.4. Khëi t¹o vμ truy nhËp cæng nèi tiÕp.
* Cho phÐp nhËn
Bit cho phÐp nhËn (REN) cña thanh ghi SCON ph¶i ®−îc lËp b»ng phÇn
mÒm ®Ó cho phÐp nhËn d÷ liÖu. ViÖc nµy ®−îc tiÕn hµnh lóc b¾t ®Çu ch−¬ng
tr×nh khi cæng nèi tiÕp, Timer, Counter ®−îc khëi t¹o. Cã hai c¸ch x¸c lËp bit
nµy:
SETB REN hoÆc MOV , SCON , #XXX1XXXXB
( Trong ®ã x cã thÓ lµ 0 hay 1 tuú theo yªu cÇu cña ch−¬ng tr×nh ).
* Cê ng¾t (Interrupt Flag).
Hai bit RI vµ TI trong thanh ghi SCON ®−îc lËp lªn 1 b»ng phÇn cøng vµ
ph¶i ®−îc xo¸ vÒ 0 b»ng phÇn mÒm.
RI ®−îc x¸c lËp khi bit cuãi cïng cña d÷ liÖu ®−îc nhËn mµ nã cho biÕt
r»ng ®· kÕt thóc truyÒn 1 byte d÷ liÖu nã ®−îc Test b»ng ch−¬ng tr×nh ®Ó g©y ra
ng¾t. NÕu ch−¬ng tr×nh muèn nhËn d÷ liÖu tõ 1 thiÕt bÞ nèi víi cæng nèi tiÕp nã
ph¶i chê cho ®Õn khi RI ®−îc lËp sau ®ã xo¸ RI vµ ®äc d÷ liÖu tõ SBUF
VÝ dô:
WAIT : JNB RI, WAIT; test RI vµ chê cho ®Õn khi ®−îc lËp
CLR RI ; xo¸ RI
MOV A , SBUF ; §äc d÷ liÖu tõ SBUF
T−¬ng tù bit TI ®−îc lËp khi bit cuèi cïng cña d÷ liÖu ®−îc truyÒn vµ nã
cho biÕt r»ng ®· truyÒn xong. NÕu ch−¬ng tr×nh muèn göi d÷ liÖu ®Õn thiÕt bÞ nèi
qua cæng nèi tiÕp nã ph¶i kiÓm tra xem ký tù tr−íc ®ã ®· göi ch−a, nÕu ch−a göi
nã ph¶i chê ®Õn khi göi xong míi ®−îc göi.
VÝ dô:
WAIT: JNB TI, WAIT; KiÓm tra khi TI Set
CLR TI ; NÕu set th× xo¸ TI
MOV SBUF, A; Göi d÷ liÖu vµo SBUF ®Ó truyÒn.
MAX232
COM2 - PC
BIOS cã thÓ ®iÒu hÇnh tèi ®a tíi 4 cæng nèi tiÕp cña m¸y tÝnh tõ COM1 ®Õn
COM4 víi cÊc ®Þa chØ :
Khèi ghÐp nèi §Þa chØ c¬ së Ng¾t cøng IRQ
COM1 3F8 IRQ4
COM2 2F8 IRQ3
COM3 3E8 IRQ4 ( hay hái vßng )
COM4 2E8 IRQ3 ( hay hái vßng)
ë møc ®é ch−¬ng tr×nh, ta cã thÓ chän mét khèi ghÐp nèi nèi tiÕp cña
cæng nèi tiÕp nµo ®ã b»ng c¸ch g¸n m· t−¬ng øng vµo thanh ghi víi gi¸ trÞ:
00H cho COM1
01H cho COM2
02H cho COM3
03H cho COM
*Phôc vô 00h: Khëi ph¸t khèi ghÐp nèi nèi tiÕp. Phôc vô 00h Ên ®Þnh
nh÷ng th«ng sè kh¸c nhau cña khèi ghÐp nèi cña cæng nèi tiÕp RS232. §ã lµ c¸c
th«ng sè:
Tèc ®é Baud: Tøc tèc ®é trao ®æi tin
TÝnh ch½n lÎ
Sè bit Stop
KÝch th−íc ký tù hay sè bit tin nèi tiÕp
Nh÷ng th«ng sè nµy ®−îc tæ hîp trong m· 8 bit ®−îc ®Æt vµo thanh ghi
cña khèi ghÐp nèi cña cæng nèi tiÕp theo thø tù c¸c bit nh− sau:
D7, D6 , D5: M· cña vËn tèc (tÝnh b»ng Baud )
D4, D3: M· cña tÝnh ch½n tÝnh ch½n lÎ
D2: M· cña bit Stop
D1,D0: M· cña kÝch thø¬c ký tù.
*Phôc vô 03h: §äc tr¹ng th¸i cña khèi ghÐp nèi nèi tiÕp.Tr×nh tù còng
nh− trªn:
§Æt sè liÖu khèi ghÐp nèi vµo thanh ghi d÷ liÖu
§Æt 03h vµo thanh ghi tæng
Gäi INT14H
KÕt qu¶ cña ch−¬ng tr×nh con lµ tr¹ng th¸i cña khèi ghÐp nèi nèi tiÕp
Bit7 - V−ît qu¸ ®é trÔ
0: Kh«ng cã sai sè
1: Cã sai sè
Bit 6 – Thanh ghi dÞch chuyÓn
0 : Thanh ghi bËn
1: Thanh ghi rçi
Bit 5 – Thanh ghi ®îi
0 : Thanh ghi bËn
1: Thanh ghi rçi
Bit 4 – Ng¾t bëi tÝn hiÖu Breack (®øt)
0: Kh«ng biÕt
1: Cã tÝn hiÖu Breack
Bit 3 – Giao thøc
0: Kh«ng cã lçi
1: Cã lçi
Bit 2 – TÝnh ch½n lÎ
0: «ng cã lçi
1: Cã lçi
Bit 1- Sè liÖu
0: kh«ng cã trµn
1: BÞ trµn
Bit 0 - Sè liÖu ®· s½n sµng
0: Kh«ng cã sè liÖu s½n sµng
1: Sè liÖu s½n sµng
4.3.3. Khëi t¹o thiÕt lËp cæng nèi tiÕp cña m¸y tÝnh b»ng
ch−¬ng tr×nh.
§Ó dïng cæng nèi tiÕp cña m¸y tÝnh trao ®æi th«ng tin víi hÖ vi xö lý
ngoµi th× ta ph¶i lËp tr×nh cho cæng nèi tiÕp cña m¸y tÝnh.Trong ®ã cæng nèi tiÕp
®−îc trao ®æi hÇu hÕt theo c¸ch lËp tr×nh trùc tiÕp cho c¸c thanh ghi cña bé thu
ph¸t kh«ng ®ång bé UART 8250. UART nµy cã 10 thanh ghi ®Ó ®iÒu khiÓn tÊt
c¶ c¸c chøc n¨ng cña viÖc nhËp vµo vµ xuÊt ra d÷ liÖu theo c¸ch nèi tiÕp. LËp
tr×nh cho cæng nèi tiÕp cña m¸y tÝnh ta cã thÓ dïng nhiÒu lo¹i ng«n ng÷ lËp
tr×nh kh¸c nhau. Tr−íc tiªn viÖc thiÕt lËp cÊu h×nh cho cæng nèi tiÕp lu«n lu«n
®−îc tiÕn hµnh tr−íc khi cã nhu cÇu cÇn truyÒn. Khi cã nhu cÇu cÇn truyÒn th×
kiÓm tra tr¹ng thÊi ®−êng truyÒn, nÕu ®−êng truyÒn rçi th× vïng ®Öm ®−îc
kiÓm tra vµ d÷ liÖu ®−îc truyÒn tõ vïng ®Öm nµy, vïng ®Öm khi l−u tr÷ d÷ liÖu
theo nguyªn t¾c hµng ®îi, d÷ liÖu cã yªu cÇu göi tr−íc th× ®−îc göi ra hµng ®¬Þ
tr−íc vµ ng−îc l¹i. NÕu kiÓm tra ®−êng truyÒn ®ang bËn th× tÝn hiÖu kh«ng ®−îc
phÐp truyÒn v× vËy kh«ng x¶y ra tranh chÊp ®−êng truyÒn .
PhÇn V:
START
Nèi tiÕp
STB = 0 STB = 1
§äc byte tiÕp theo vµ ®−a §äc byte tiÕp theo vµ ®−a
vµo vïng Code_Buffer. vµo vïng Para_Buffer.
INT 0 TIMER 1
END END
INT 1 TIMER 0
END END
PhÇn VI:
S¬ då nguyªn lý ®· vÏ
HÖ PLC øng dông bé vi ®iÒu khiÓn. Mäi thao t¸c trong PLC ®Òu do vi ®iÒu
khiÓn kiÓm so¸t.
§Çu tiªn cÊp nguÇn cho PLC khi ®ã PLC khëi t¹o b»ng c¸c thao t¸c kiÓm
tra ROM, RAM c¸c thanh ghi vµ ®Æt tr¹ng th¸i cho c¸c ®Çu ra ë møc logic thÊp
sau ®ã VXL cña hÖ ë tr¹ng th¸i s½n sµng lµm viÖc.
§Ó ®−a tr¹ng th¸i ®Çu ra xuèng møc thÊp th× VXL ph¶i ®−a d÷ liÖu lªn Bus
víi gi¸ trÞ 00h vµ gi¸ trÞ ®Þa chØ 8003h trªn Bus ®Þa chØ.
Khi ta chuyÓn c«ng t¾c ë mét vÞ trÝ bÊt kú. Gi¶ sö ë vÞ trÝ Stop khi ®ã VXL
lµm viÖc khi hÕt chu kú sÏ ®i ®äc ch−¬ng tr×nh ®äc bµn phÝm tõ ROM khi ®ã sÏ
xÈy ra c¸c thao t¸c.
- VXL ®−a lªn Bus ®Þa chØ gi¸ trÞ ®Þa chØ cña vi m¹ch 74LS245 trong m¹ch
bµn phÝm lµ 8001h vµ ®äc d÷ liÖu tõ bµn phÝm qua IC nµy vµ ®−a lªn Bus d÷ liÖu
®Æt vµo VXL.
- VXL nhËn gi¸ trÞ bµn phÝm FEh khi ®ã VXL biÕt víi gi¸ trÞ ®ã lµ bµn
phÝm Stop ®−îc Ên. Sau ®ã VXL ®−a tr¹ng th¸i Stop ta ®Ìn b¸o b»ng thao t¸c.
+ §−a ®Þa chØ cho vi m¹ch 74LS373 trong m¹ch b¸o tr¹ng th¸i víi ®Þa chØ
8000h vµ ®ång thêi ®−a lªn Bus d÷ liÖu gi¸ trÞ 01h råi ®−a tr¹ng th¸i dõng vµ s½n
sµng cho c¸c lÖnh vµo kh¸c.
Gi¶ sö ta Ên phÝm Run.
Khi ®ã còng cã tÝn hiÖu ng¾t vµ c¸c thao t¸c ®äc phÝm, ®äc ch−¬ng tr×nh
®iÒu hµnh vµ b¸o tr¹ng th¸i ra víi phÝm Run gièng nh− c¸c thao t¸c VXL lµm
khi phÝm Stop ®−îc Ên chØ kh¸c ë gi¸ trÞ cña phÝm Run lµ: FDh vµ gi¸ tri cña ®Ìn
b¸o Run trªn Bus d÷ liÖu lµ 02h.
Sau thao t¸c nµy VXL ®i ch¹y ch−¬ng tr×nh chÝnh trong RAM ®Ó ®äc
ch−¬ng tr×nh trong RAM VXL ph¶i tiÕn hµnh c¸c thao t¸c:
- §−a ch©n PSEN xuèng møc thÊp vµ ®−a ra gi¸ trÞ ®Þa chØ ®Ó ®äc RAM
víi ®o¹n ®Þa chØ 2000h ... 3FFFh. V× khi ®ã RAM ®−îc chia ta 2 phÇn vïng ®Þa
chØ thÊp dïng l−u tr÷ ch−¬ng tr×nh. Khi ghi ch−¬ng tr×nh trong RAM ngoµi tÝn
hiÖu ®Þa chØ 2000h ... 2FFFh cßn cÇn xung WR ë møc thÊp.
Trong qu¸ tr×nh lµm viÖc cã tËp hîp VXL ph¶i l−u tr÷ hay ®äc d÷ liÖu tõ
ROM. Khi ®ã vïng cho d÷ liÖu trong RAM lµ vïng ®Þa chØ cao 3000h ... 3FFFh
khi ®äc cÇn thªm xun RD vµ khi ghi cÇn xung nµy tÝch cùc møc thÊp.
Khi ch¹y ch−¬ng tr×nh chÝnh ch−¬ng tr×nh sÏ yªu cÇu VXL ®äc gi¸ trÞ cña
cæng vµo khi ®ã VXL sÏ ®−a ra gi¸ trÞ ®Þa chØ ®Ó chän vi m¹ch 74LS245 ë cæng
®Çu vµo víi c¸c thao t¸c ®−a ®Þa chØ ra trªn Bus ®Þa chØ cã ®Þa chØ sau ®ã gi¸ trÞ
®Çu vµo ®−îc ®−a lªn Bus d÷ liÖu vµ VXL lÊy vµo.
Sau khi kÕt thóc qu¸ tr×nh xö lý VXL sÏ ®−a ra c¸c gi¸ trÞ ®Çu ra c¸c gi¸
trÞ ®Çu ra. Thao t¸c nµy ®−îc tiÕn hµnh b»ng viÖc VXL ®−a ra gi¸ trÞ ®Þa chØ cña
vi m¹ch ®Öm chèt ë cæng ra víi gi¸ trÞ vµ sau ®ã ®−a ra d÷ liÖu lªn Bus d÷ liÖu.
Khi ®ã d÷ liÖu sÏ ®−îc ®−a ra ®Çu ra cña vi m¹ch nµy.
Khi tÝn hiÖu chän tõ gi¶i m· ®Þa chØ lªn møc cao th× vi m¹ch ®Öm chèt nµy
chèt d÷ liÖu sau m¹ch ®Öm chèt lµ m¹ch ®ãng c¾t R¬le vµ b¸o møc sÏ ®ãng c¾t
c¸c thiÕt bÞ qua tiÕp ®iÓm R¬le vµ §ièt ph¸t quang sÏ b¸o cho ng−êi vËn hµnh
biÕt tr¹ng th¸i Logic ë cæng ra. V× VXL8031 cã cæng P0 dïng kiÓm dån kªnh
võa mang gi¸ trÞ ®Þa chØ vµ gi¸ trÞ d÷ liÖu lªn khi lµm viÖc cÇn cã m¹ch ®Öm chèt
d÷ liÖu v× sau khi VXl ®−a gi¸ trÞ ®Þa chØ 8 bit thÊp ra th× VXL dïng cæng nµy
cho vµo ra d÷ liÖu nªn cÇn bé nhí trung gian l−u gi÷ gi¸ trÞ ®Þa chØ nµy. Vi m¹ch
74LS373 ë d©y ®Öm khi xung ALE (Address Latch Enable) xuèng 0 vµ chèt l¹i
gi¸ trÞ nµy khi xung lªn møc 1.
Ngoµi ra cßn vi m¹ch vµo ra 2 chiÒu phôc vô cho qu¸ tr×nh vµo ra d÷ liÖu
gióp cho viÖc më réng Modul c¬ së nµy víi gi¸ trÞ ®Þa chØ cha ®−îc sö dông th×
vi m¹ch lµm viÖc víi ngo¹i vi (Modul phô).
Khi phÝm Term ®−îc Ên th× qu¸ tr×nh ®äc bµn phÝm vµ hiÖn thÞ tr¹ng th¸i
hoµn toµn gièng nh− víi phÝm Stop hoÆc Run nh−ng gi¸ trÞ phÝm Term lµ FBh vµ
gi¸ trÞ LED b¸o Term s¸ng khi gi¸ trÞ trªn Bus d÷ liÖu lµ 04h.
Sau khi b¸o s¸ng tr¹ng th¸i VXL ch¹y ch−¬ng tr×nh nhËn truyÒn nèi tiÕp
tõ cæng nèi tiÕp qua Max 232 ®−a d÷ liÖu vµo thanh ghi trong VXL vµ ROM sÏ
chuyÓn ch−¬ng tr×nh nµy vµo RAM.
Sau khi nhËn song ch−¬ng tr×nh sÏ tiÕn hµnh ch¹y thö nh− c¸c thao t¸c khi
ch¹y phÝm Run.
§ã lµ nguyªn lý ho¹t ®éng cña toµn bé s¬ ®å nguyªn lý cña hÖ PLC.
KÕt luËn: Trong hÖ PLC nghiªn cøu ë ®å ¸n nµy ®−îc thiÕt kÕ lµm viÖc
víi c¸c tÝn hiÖu sè. Tuy nhiªn kh«ng gian nhí vµ vïng ®Þa chØ còng nh− kh¶
n¨ng lµm viÖc cña vi xö lý cßn rÊt nhiÒu nªn chóng ta cã thÓ tËn dông hÕt kh¶
n¨ng cña thiÕt bÞ v× vËy tr¸nh g©y l·ng phÝ trong ®Çu t−. Trong lÜnh vùc ®iÒu
khiÓn ta cã thÓ l¾p thªm c¸c Modul phô phôc vô cho xö lý vµ ®iÒu khiÓn c¸c tÝn
hiÖu t−¬ng tù.
C¸c tÝn hiÖu t−¬ng tù cã thÓ ®−îc lÊy tõ c¸c Sensor t−¬ng tù sau ®ã chuyÓn
®æi A/D ®Ó vi xö lý cã thÓ xö lý. C¸c ®èi t−îng cÇn ®iÒu khiÓn t−¬ng tù nh−
trong thiÕt bÞ chØnh l−u, trong thiÕt bÞ æn ®Þnh nhiÖt ®é … mµ tõ ®Çu ra sè ta cÇn
1 Modul phô chuyÓn ®æi D/A ®Ó t¹o ra tÝn hiÖu t−¬ng tù tõ tÝn hiÖu sè ë ®Çu ra
PLC.
§Ó ®¸p øng më réng cho PLC ta cã thÓ thiÕt kÕ c¸c Modul phô kÕt hîp víi
PLC nh− s¬ ®å sau:
Cæng më réng.
A/D §Çu vµo t−¬ng tù.
PLC
D/A §Çu ra t−¬ng tù.
Modul më réng
Khi ®ã ch−¬ng tr×nh sÏ ®−a vµo PLC qua cæng nèi tiÕp vµ c¸c Modul Phô
lµm viÖc ë c¸c kh«ng gian ®Þa chØ cßn laÞ khi ®ã hÖ PLC kh«ng chØ lµm viÖc ®iÒu
khiÓn Logic mµ cßn cã kh¶ n¨ng xö lý tÝn hiÖu t−¬ng tù ®· ®−îc sè ho¸ vµ ®−a
tÝn hiÖu ®iÒu khiÓn t−¬ng tù ra.