Giáo trình vi điều khiển 8051 P1
Các bộ vi điều khiển 8051
Trong mục này chúng ta bàn về nhu cầu đối với các bộ vi điều khiển và so sánh chúng với các bộ vi xử lý cùng dạng nhu Pentium và các bộ vi xử lý x86 khác
Ch¬ng I
C¸c bé vi ®iÒu khiÓn 8051
1.1 c¸c bé vi ®iÒu khiÓn vµ c¸c bé xö lý nhóng.
Trong môc nµy chóng ta bµn vÒ nhu cÇu ®èi víi c¸c bé vi ®iÒu
khiÓn (V§K) vµ so s¸nh chóng víi c¸c bé vi xö lý cïng d¹ng chung
nh Pentium vµ c¸c bé vi xö lý ´ 86 kh¸c. Chóng ta cïng xem xÐt
vai trß cña c¸c bé vi ®iÒu khiÓn trong thÞ trêng c¸c s¶n phÈm nhóng.
Ngoµi ra, chóng ta cung cÊp mét sè tiªu chuÈn vÒ c¸ch lùa chän mét
bé vi ®iÒu khiÓn nh thÕ nµo.
1.1.1 Bé vi ®iÒu khiÓn so víi bé vi xö lý cïng dïng chung
Sù kh¸c nhau gi÷a mét bé vi ®iÒu khiÓn vµ mét bé vi xö lý lµ
g×? Bé vi xö lý ë ®©y lµ c¸c bé vi xö lý c«ng dung chung nh hä
Intell ´ 86 (8086, 80286, 80386, 80486 vµ Pentium) hoÆc hä
Motorola 680 ´ 0(68000, 68010, 68020, 68030, 68040 v.v...). Nh÷ng
bé VXL nµy kh«ng cã RAM, ROM vµ kh«ng cã c¸c cæng vµo ra
trªn chÝp. Víi lý do ®ã mµ chóng ®îc gäi chung lµ c¸c bé vi xö lý
c«ng dông chung.
Data bus
CPU
CPU RAM ROM
General- Serial
Purpose RAM ROM I/O Timer COM
Micro- Port Port
Serial
processor I/O Timer COM
Port
Address bus
(a) General-Purpose Microcessor System (b) Microcontroller
H×nh 1.1: HÖ thèng vi xö lý ®îc so s¸nh víi hÖ thèng vi ®iÒu
khiÓn.
a) HÖ thèng vi xö lý c«ng dông chung
b) HÖ thèng vi ®iÒu khiÓn
Mét nhµ thiÕt kÕ hÖ thèng sö dông mét bé vi xö lý c«ng dông
chung ch¼ng h¹n nh Pentium hay 68040 ph¶i bæ xung thªm RAM ,
ROM, c¸c cæng vµo ra vµ c¸c bé ®Þnh thêi ngoµi ®Ó lµm cho chóng
ho¹t ®éng ®îc. MÆc dï viÖc bæ xung RAM, ROM vµ c¸c cæng vµo
ra bªn ngoµi lµm cho hÖ thèng cång cÒnh vµ ®¾t h¬n, nhng chóng
cã u ®iÓm lµ linh ho¹t ch¼ng h¹n nh ngêi thiÕt kÕ cã thÓ quyÕt
®Þnh vÒ sè lîng RAM, ROM vµ c¸c cæng vµo ra cÇn thiÕt phï hîp
víi bµi to¸n trong tÇm tay cña m×nh.
§iÒu nµy kh«ng thÓ cã ®îc ®èi víi c¸c bé vi ®iÒu khiÓn. Mét
bé vi ®iÒu khiÓn cã mét CPU (mét bé vi xö lý) cïng víi mét lîng
cè ®Þnh RAM, ROM, c¸c cæng vµo ra vµ mét bé ®Þnh thêi tÊt c¶ trªn
cïng mét chÝp. Hay nãi c¸ch kh¸c lµ bé xö lý, RAM, ROM c¸c
cæng vµo ra vµ bé ®Þnh thêi ®Òu ®îc nhóng víi nhau trªn mét chÝp;
do vËy ngêi thiÕt kÕ kh«ng thÓ bæ xung thªm bé nhí ngoµi, cæng
vµo ra hoÆc bé ®Þnh thêi cho nã. Sè lîng cè ®Þnh cña RAM, ROM
trªn chÝp vµ sè c¸c cæng vµo - ra trong c¸c bé vi ®iÒu khiÓn lµm cho
chóng trë nªn lý tëng ®èi víi nhiÒu øng dông mµ trong ®ã gi¸ thµnh
vµ kh«ng gian l¹i h¹n chÕ. Trong nhiÒu øng dông, vÝ dô mét ®iÒu
khiÓn TV tõ xa th× kh«ng cÇn c«ng suÊt tÝnh to¸n cña bé vi sö lý 486
hoÆc thËm chÝ nh 8086. Trong rÊt nhiÒu øng dông th× kh«ng gian nã
chiÕm, c«ng suÊt nã tiªu tèn vµ gi¸ thµnh trªn mét ®¬n vÞ lµ nh÷ng
c©n nh¾c nghiªm ngÆt h¬n nhiÒu so víi c«ng suÊt tÝnh to¸n. Nh÷ng
øng dông thêng yªu cÇu mét sè thao t¸c vµo - ra ®Ó ®äc c¸c tÝn hiÖu
vµ t¾t - më nh÷ng bit nhÊt ®Þnh. V× lý do nµy mµ mét sè ngêi gäi
c¸c bé xö lý nµy lµ IBP (“Itty-Bitty-Processor”), (tham kh¶o cuèn
“Good things in small packages are Generating Big product
opportunities” do Rick Grehan viÕt trªn t¹p BYTE th¸ng 9.1994;
WWW. Byte. Com ®Ó biÕt vÒ nh÷ng trao ®æi tuyÖt vêi vÒ c¸c bé vi
®iÒu khiÓn).
§iÒu thó vÞ lµ mét sè nhµ s¶n xuÊt c¸c bé vi ®iÒu khiÓn ®· ®i xa
h¬n lµ tÝch hîp c¶ mét bé chuyÓn ®æi ADC vµ c¸c ngo¹i vi kh¸c vµo
trong bé vi ®iÒu khiÓn.
B¶ng 1.1: Mét sè s¶n phÈm ®îc nhóng sö dông c¸c bé vi ®iÒu
khiÓn
ThiÕt bÞ néi thÊt gia V¨n phßng « t«
®×nh
§å ®iÖn trong nhµ §iÖn tho¹i M¸y tÝnh hµnh tr×nh
M¸y ®µm tho¹i M¸y tÝnh §iÒu khiÓn ®éng c¬
M¸y ®iÖn tho¹i C¸c hÖ thèng an Tói ®Öm khÝ
C¸c hÖ thèng an toµn toµn ThiÕt bÞ ABS
C¸c bé më cöa ga-ra M¸y Fax §o lêng
xe Lß vi sãng HÖ thèng b¶o mËt
M¸y tr¶ lêi M¸y sao chôp §Ýòu khiÓn truyÒn
M¸y Fax M¸y in lazer tin
M¸y tÝnh gia ®×nh M¸y in mµu Gi¶i trÝ
Tivi M¸y nh¾n tin §iÒu hoµ nhiÖt ®é
TruyÒn h×nh c¸p §iÖn tho¹i tæ ong
VCR Më cöa kh«ng cÇn
M¸y quy camera ch×a kho¸
§iÒu khiÓn tõ xa
Trß ch¬i ®iÖn tö
§iÖn tho¹i tæ ong
C¸c nh¹c cô ®iÖn tö
M¸y kh©u
§iÒu khiÓn ¸nh s¸ng
M¸y nh¾n tin
M¸y ch¬i Pootball
§å ch¬i
C¸c dông cô tËp thÓ
h×nh
1.1.2 C¸c bé V§K cho c¸c hÖ thèng nhóng.
Trong tµi liÖu vÒ c¸c bé vi xö lý ta thêng thÊy kh¸i niÖm hÖ
thèng nhóng (Embeded system). C¸c bé vi xö lý vµ c¸c bé vi ®iÒu
khiÓn ®îc sö dông réng r·i trong c¸c s¶n phÈm hÖ thèng nhóng.
Mét s¶n phÈm nhóng sö dông mét bé vi xö lý (hoÆc mét bé vi ®iÒu
khiÓn ®Ó thùc hiÖn mét nhiÖm vô vµ chØ mét mµ th«i. Mét m¸y in lµ
mét vÝ dô vÒ mét viÖc nhóng v× bé xö lý bªn trong nã chØ lµm mét
viÖc ®ã lµ nhËn d÷ liÖu vµ in nã ra. §iÒu nµy kh¸c víi mét m¸y t×nh
PC dùa trªn bé xö lý Pentium (hoÆc mét PC t¬ng thÝch víi IBM ´
86 bÊt kú). Mét PC cã thÓ ®îc sö dông cho mét sè bÊt kú c¸c tr¹m
dÞch vô in, bé ®Çu cuèi kiÓm kª nhµ b¨ng, m¸y ch¬i trß ch¬i ®iÖn tö,
tr¹m dÞch vô m¹ng hoÆc tr¹m ®Çu cuèi m¹ng Internet. PhÇn mÒm cho
c¸c øng dông kh¸c nhau cã thÓ ®îc n¹p vµ ch¹y. TÊt nhiªn lµ lý do
hiÓn nhiªn ®Ó mét PC thùc hiÖn hµng lo¹t c¸c c«ng viÖc lµ nã cã bé
nhí RAM vµ mét hÖ ®iÒu hµnh n¹p phÇn mÒm øng dông thêng
®îc ®èt vµo trong ROM. Mét m¸y tÝnh PC ´ 86 chøa hoÆc ®îc nèi
tíi c¸c s¶n phÈm nhóng kh¸c nhau ch¼ng h¹n nh bµn phÝm, m¸yin,
Modem, bé ®iÒu khiÓn ®Üa, Card ©m thanh, bé ®iÒu khiÓn CD =
ROM. Chuét v.v... Mét néi ngo¹i vi nµy cã mét bé vi ®iÒu khiÓn bªn
trong nã ®Ó thùc hiÖn chØ mét c«ng viÖc, vÝ dô bªn trong mçi con
chuét cã mét bé vi ®iÒu khiÓn ®Ó thùc thi c«ng viÖc t×m vÞ trÝ chuét
vµ göi nã ®Õn PC B¶ng 1.1 liÖt kª mét sè s¶n phÈm nhóng.
4.1.3 C¸c øng dông nhóng cña PC ´ 86.
MÆc dï c¸c bé vi ®iÒu khiÓn lµ sù lùa chän a chuéng ®èi víi
nhiÒu hÖ thèng nhóng nhng cã nhiÒu khi mét bé vi ®iÒu khiÓn
kh«ng ®ñ cho c«ng viÖc. V× lý do ®ã mµ nh÷ng n¨m gÇn ®©y nhÝÒu
nhµ s¶n xuÊt c¸c bé vi sö lý c«ng dông chung ch¼ng h¹n nh Intel,
Motorla, AMD (Advanced Micro Devices, Inc...). Vµ Cyric (mµ b©y
giê lµ mét bé phËn cña National Senicon ductir, Inc) ®· híng tíi bé
vi xö lý cho hiÖu suÊt cao cña thÞ trêng nhóng. Trong khi Intel,
AMD vµ Cyrix ®Èy c¸c bé xö lý ´ 86 cña hä vµo cho c¶ thÞ trêng
nhóng vµ thÞ trêng m¸y tÝnh PC ®Ó b¸n th× Motorola vÉn kiªn ®Þnh
gi÷ hä vi xö lý 68000 l¹i chñ yÕu híng nã cho c¸c hÖ thèng nhóng
hiÖu suÊt cao vµ b©y giê Apple kh«ng cßn dïng 680 ´ trong c¸c m¸y
tÝnh Macintosh n÷a. Trong nh÷ng n¨m ®Çu thËp kû 90 cña thÕ kû 20
m¸y tÝnh Apple b¾t ®Çu sö dông c¸c bé vi xö lý Power PC (nh 603,
604, 620 v.v...) thay cho 680 ´0 ®èi víi Macintosh. Bévi xö lý Power
PC lµ kÕt qu¶ liªn doanh ®Çu t cña IBM vµ Motorola vµ nã ®îc
híng cho thÞ tríng nhóng hiÖu suÊt cao còng nh cho c¶ thÞ trêng
m¸y tÝnh PC. CÇn ph¶i lu ý r»ng khi mét c«ng ty híng mét bé vi
xö lý c«ng dông chung cho thÞ trêng nhóng nã tèi u ho¸ bé xö lý
®îc sö dông cho c¸c hÖ thèng nhóng. V× lý do ®ã mµ c¸c bé vi xö
lý nµy thêng ®îc gäi lµ c¸c bé xö lý nhóng hiÖu suÊt cao. Do vËy
c¸c kh¸i niÖm c¸c bé vi ®iÒu khiÓn vµ bé xö lý nhóng thêng ®îc
sö dông thay ®æi nhau.
Mét trong nh÷ng nhu cÇu kh¾t khe nhÊt cña hÖ thèng nhóng lµ
gi¶m c«ng suÊt tiªu thô vµ kh«ng gian.
§iÒu nµy cã thÓ ®¹t ®îc b»ng c¸ch tÝch hîp nhiÒu chøc n¨ng
vµo trong chÝp CPU. TÊt c¶ mäi bé xö lý nhóng dùa trªn ´ 86 vµ 680
´ 0 ®Òu cã c«ng suÊt tiªu thu thÊp ngoµi ra ®îc bæ xung mét sè
d¹ng cæng vµo - ra, cæng COM vµ bé nhí ROM trªn mét chÝp.
Trong c¸c bé xö lý nhóng hiÖu suÊt cao cã xu híng tÝch hîp
nhiÒu vµ nhiÒu chøc n¨ng h¬n n÷a trªn chÝp CPU vµ cho phÐp ngêi
thiÕt kÕ quyÕt ®Þnh nh÷ng ®Æc tÝnh nµo hä muèn sö dông. Xu híng
nµy còng ®ang chiÕm lÜnh thiÕt kÕ hÖ thèng PC. B×nh thêng khi
thiÕt kÕ bo m¹ch chñ cña PC (Motherboard) ta cÇn mét CPU céng
mét chÝp - set cã chøa c¸c cèng vµo - ra, mét bé ®iÒu khiÓn cache,
mét bé nhí Flash ROM cã chøa BIOS vµ cuèi cïng lµ bé nhí cache
thø cÊp. Nh÷ng thiÕt kÕ míi ®ang khÈn tr¬ng ®i vµo c«ng nghiÖp
s¶n xuÊt hµng lo¹t. VÝ dô Cyrix ®· tuyªn bè r»ng hä ®ang lµm viÖc
trªn mét chÝp cã chøa toµn bé mét m¸y tÝnh PC ngo¹i trõ DRAM.
Hay nãi c¸ch kh¸c lµ chóng ta x¾p nh×n thÊy mét m¸y tÝnh PC trªn
mét chÝp.
HiÖn nay do chuÈn ho¸ MS - DOS vµ Windows nªn c¸c hÖ
thèng nhóng ®ang sö dông c¸c m¸y t×nh PC ´ 86 . Trong nhiÒu
trêng hîp viÖc sö dông c¸c m¸y tÝnh PC ´ 86 cho c¸c øng dông
nhóng hiÖu suÊt cao lµ kh«ng tiÕt kiÖm tiÒn b¹c, nhng nã lµm rót
ng¾n thêi gian ph¸t triÓn v× cã mét th viÖn phÇn mÒm bao la ®·
®îc viÕt cho nÒn DOS vµ Windows. Thùc tÕ lµ Windows lµ mét nÒn
®îc sö dông réng r·i vµ dÔ hiÓu cã nghÜa lµ viÖc ph¸t triÓn mét s¶n
phÈm nhóng dùa trªn Windows lµm gi¶m gi¸ thµnh vµ rót ng¾n thêi
gian ph¸t triÓn ®¸ng kÓ.
1.1.4 Lùa chän mét bé vi ®iÒu khiÓn.
Cã 4 bé vi ®iÒu khiÓn 8 bit chÝnh. §ã lµ 6811 cña Motorola,
8051 cña Intel z8 cña Xilog vµ Pic 16 ´ cña Microchip Technology.
Mçi mét kiÓu lo¹i trªn ®©y ®Òu cã mét tËp lÖnh vµ thanh ghi riªng
duy nhÊt, nÕu chóng ®Òu kh«ng t¬ng thÝch lÉn nhau. Còng cã nh÷ng
bé vi ®iÒu khiÓn 16 bit vµ 32 bit ®îc s¶n xuÊt bëi c¸c h·ng s¶n xuÊt
chÝp kh¸c nhau. Víi tÊt c¶ nh÷ng bé vi ®iÒu khiÓn kh¸c nhau nh thÕ
nµy th× lÊy g× lµm tiªu chuÈn lùa chän mµ c¸c nhµ thiÕt kÕ ph¶i c©n
nh¾c? Cã ba tiªu chuÈn ®Ó lùa chän c¸c bé vi ®iÒu khiÓn lµ:
1) §¸p øng nhu cÇu tÝnh to¸n cña bµi to¸n mét c¸ch hiÖu qu¶ vÒ mÆt
gi¸ thµnh vµ ®Çy ®ñ chøc n¨ng cã thÓ nh×n thÊy ®îc (kh¶ dÜ).
2) Cã s½n c¸c c«ng cô ph¸t triÓn phÇn mÒm ch¼ng h¹n nh c¸c tr×nh
biªn dÞch, tr×nh hîp ng÷ vµ gì rèi.
3) Nguån c¸c bé vi ®iÒu khiÓn cã s½n nhiÒu vµ tin cËy.
1.1.5 C¸c tݪu chuÈn lùa chän mét bé vi ®iÒu khiÓn.
1. Tiªu chuÈn ®Çu tiªnvµ tríc hÕt tronglùa chän mét bé vi ®iÒu
khiÓn lµ nã ph¶i ®¸p øng nhu cÇu bµi to¸n vÒ mét mÆt c«ng suÊt tÝnh
to¸n vµ gi¸ thµnh hiÖu qu¶. Trong khi ph©n tÝch c¸c nhu cÇu cña mét
dù ¸n dùa trªn bé vi ®iÒu khiÓn chóng ta tríc hÕt ph¶i biÕt lµ bé vi
®iÒu khiÓn nµo 8 bit, 16 bit hay 32 bit cã thÓ ®¸p øng tèt nhÊt nhu
cÇu tÝnh to¸n cña bµi to¸n mé tc¸ch hiÖu qu¶ nhÊt? Nh÷ng tiªu chuÈn
®îc ®a ra ®Ó c©n nh¾c lµ:
a) Tèc ®é: Tèc ®é lín nhÊt mµ bé vi ®iÒu khiÓn hç trî lµ bao nhiªu.
b) KiÓu ®ãng vá: §ã lµ kÝÓu 40 ch©n DIP hay QFP hay lµ kiÓu ®ãng
vá kh¸c (DIP -®ãng vá theo 2 hµng ch©n. QFP lµ ®ãng vá vu«ng
dÑt)? §©y lµ ®iÒu quan träng ®èi víi yªu cÇu vÒ kh«ng gian, kiÓu l¾p
r¸p vµ t¹o mÉu thö cho s¶n phÈm cuèi cïng.
c) C«ng suÊt tiªu thô: §iÒu nµy ®Æc biÖt kh¾t khe ®èi víi nh÷ng s¶n
phÈm dïng pin, ¾c quy.
d) Dung lîng bé nhí RAM vµ ROM trªn chÝp.
e) Sè ch©n vµo - ra vµ bé ®Þnh thêi trªn chÝp
f) Kh¶ n¨ng dÔ dµng n©ng cÊp cho hiÖu suÊt cao hoÆc gi¶m c«ng suÊt
tiªu thô.
g) Gi¸ thµnh cho mét ®¬n vÞ: §iÒu nµy quan träng quyÕt ®Þnh gi¸
thµnh cuèi cïng cña s¶n phÈm mµ mét bé vi ®iÒu khiÓn ®îc sö
dông. VÝ dô cã c¸c bé vi ®iÒu khiÓn gi¸ 50 cent trªn ®¬n vÞ khi ®îc
mua 100.000 bé mét lóc.
2) Tiªu chuÈn thø hai trong lùa chän mét bé vi ®iÒu khiÓn lµ kh¶
n¨ng ph¸t triÓn c¸c s¶n phÈm xung quanh nã dÔ dµng nh thÕ nµo?
C¸c c©u nh¾c chñ yÕu bao gåm kh¶ n¨ng cã s½n tr×nh lîng ng÷, gì
rèi, tr×nh biªn dÞch ng«n ng÷ C hiÖu qu¶ vÒ m· nguån, tr×nh m«
pháng hç trî kü thuËt vµ kh¶ n¨ng sö dông trong nhµ vµ ngoµi m«i
trêng. Trong nhiÒu trêng hîp sù hç trî nhµ cung cÊp thø ba (nghÜa
lµ nhµ cung cÊp kh¸c kh«ng ph¶i lµ h·ng s¶n xuÊt chÝp) cho chÝp
còng tèt nh, nÕu kh«ng ®îc tèt h¬n, sù hç trî tõ nhµ s¶n xuÊt chÝp.
3) Tiªu chuÈn thø ba trong lùa chän mét bé vi ®iÒu khiÓn lµ kh¶
n¨ng s½n sµng ®¸p øng vÒ sè lîng trong hiÖn t¹i vµ t¬ng lai. §èi
víi mét sè nhµ thiÕt kÕ ®iÒu nµy thËm chÝ cßn quan trong h¬n c¶ hai
tiªu chuÈn ®Çu tiªn. HiÖn nay, c¸c bé vi ®iÒu khiÓn 8 bit dÊu ®Çu, hä
8051 lµ cã sè l¬ng lín nhÊt c¸c nhµ cung cÊp ®a d¹ng (nhiÒu
nguån). Nhµ cung cÊp cã nghÜa lµ nhµ s¶n xuÊt bªn c¹nh nhµ s¸ng
chÕ cña bé vi ®iÒu khiÓn. Trong trêng hîp 8051 th× nhµ s¸ng chÕ
cña nã lµ Intel, nhng hiÖn nay cã rÊt nhiÒu h·ng s¶n xuÊt nã (còng
nh tríc kia ®· s¶n xuÊt).
C¸c h·ng nµy bao gåm: Intel, Atmel, Philips/signe-tics, AMD,
Siemens, Matra vµ Dallas, Semicndictior.
B¶ng 1.2: §Þa chØ cña mét sè h·ng s¶n xuÊt c¸c thµnh viªn cña
hä 8051.
H·ng §Þa chØ Website
Intel www.intel.com/design/mcs51
Antel www.atmel.com
Plips/ Signetis www.semiconductors.philips.co
Siemens m
Dallas Semiconductor www.sci.siemens.com
www.dalsemi.com
Còng nªn lu ý r»ng Motorola, Zilog vµ Mierochip Technology
®· dµnh mét lîng tµi nguyªn lín ®Ó ®¶m b¶o kh¶ n¨ng s½n sµng vÒ
mét thêi gian vµ ph¹m vi réng cho c¸c s¶n phÈm cña hä tõ khi c¸c
s¶n phÈm cña hä ®i vµo s¶n xuÊt æn ®Þnh, hoµn thiÖn vµ trë thµnh
nguån chÝnh. Trong nh÷ng n¨m gÇn ®©y hä còng ®· b¾t ®Çu b¸n tÕ
bµo th viÖn Asic cña bé vi ®iÒu khiÓn.
1.2 Tæng quan vÒ hä 8051.
Trong môc nµy chóng ta xem xÐt mét sè thµnh viªn kh¸c nhau
cña hä bé vi ®iÒu khiÓn 8051 vµ c¸c ®Æc ®iÓm bªn trong cña chóng.
§ång thêi ta ®iÓm qua mét sè nhµ s¶n xuÊt kh¸c nhau vµ c¸c s¶n
phÈm cña hä cã trªn thÞ trêng.
1.2.1 Tãm t¾t vÒ lÞch sö cña 8051.
Vµo n¨m 1981. H·ng Intel giíi thiÖu mét sè bé vi ®iÒu khiÓn
®îc gäi lµ 8051. Bé vi ®iÒu khiÓn nµy cã 128 byte RAM, 4K byte
ROM trªn chÝp, hai bé ®Þnh thêi, mét cæng nèi tiÕp vµ 4 cæng (®Òu
réng 8 bit) vµo ra tÊt c¶ ®îc ®Æt trªn mét chÝp. Lóc Êy nã ®îc coi
lµ mét “hÖ thèng trªn chÝp”. 8051 lµ mét bé xö lý 8 bit cã nghÜa lµ
CPU chØ cã thÓ lµm viÖc víi 8 bit d÷ liÖu t¹i mét thêi ®iÓm. D÷ liÖu
lín h¬n 8 bit ®îc chia ra thµnh c¸c d÷ liÖu 8 bit ®Ó cho xö lý. 8051
cã tÊt c¶ 4 cæng vµo - ra I/O mçi cæng réng 8 bit (xem h×nh 1.2).
MÆc dï 8051 cã thÓ cã mét ROM trªn chÝp cùc ®¹i lµ 64 K byte,
nhng c¸c nhµ s¶n xuÊt lóc ®ã ®· cho xuÊt xëng chØ víi 4K byte
ROM trªn chÝp. §iÒu nµy sÏ ®îc bµn chi tiÕt h¬n sau nµy.
8051 ®· trë nªn phæ biÕn sau khi Intel cho phÐp c¸c nhµ s¶n
xuÊt kh¸c s¶n xuÊt vµ b¸n bÊt kú d¹ng biÕn thÕ nµo cña 8051 mµ hä
thÝch víi ®iÒu kiÖn hä ph¶i ®Ó m· l¹i t¬ng thÝch víi 8051. §iÒu nµy
dÉn ®Õn sù ra ®êi nhiÒu phiªn b¶n cña 8051 víi c¸c tèc ®é kh¸c nhau
vµ dung lîng ROM trªn chÝp kh¸c nhau ®îc b¸n bëi h¬n nöa c¸c
nhµ s¶n xuÊt. §iÒu nµy quan träng lµ mÆc dï cã nhiÒu biÕn thÓ kh¸c
nhau cña 8051 vÒ tèc ®é vµ dung l¬ng nhí ROM trªn chÝp, nhng
tÊt c¶ chóng ®Òu t¬ng thÝch víi 8051 ban ®Çu vÒ c¸c lÖnh. §iÒu nµy
cã nghÜa lµ nÕu ta viÕt ch¬ng tr×nh cña m×nh cho mét phiªn b¶n nµo
®ã th× nã còng sÏ ch¹y víi mäi phiªn b¶n bÊt kú kh¸c mµ kh«ng
ph©n biÖt nã tõ h·ng s¶n xuÊt nµo.
B¶ng 1.3: C¸c ®Æc tÝnh cña 8051 ®Çu tiªn.
§Æc tÝnh Sè lîng
ROM trªn chÝp 4K byte
RAM 128 byte
Bé ®Þnh thêi 2
C¸c ch©n vµo - ra 32
Cæng nèi tiÕp 1
Nguån ng¾t 6
1.2.2 Bé vÝ ®iÒu khiÓn 8051
Bé vi ®iÒu khiÓn 8051 lµ thµnh viªn ®Çu tiªn cña hä 8051.
H·ng Intel ký hiÖu nã nh lµ MCS51. B¶ng 3.1 tr×nh bµy c¸c ®Æc tÝnh
cña 8051.
EXTERNAL
INTERRUPTS
ETC
COUNTER INPUTS
TIMER 0
INTERRUPT ON - CHIP
CONTROL RAM TIMER 1
CPU
OSC BUS 4 I/O SERIAL
CONTROL PORTS PORT
H×nh 1.2: Bè trÝ bªn trong cña s¬ ®å khèi 8051.
1.2.3 c¸c thµnh viªn kh¸c cña hä 8051
Cã hai bé vi ®iÒu khiÓn thµnh viªn kh¸c cña hä 8051 lµ 8052 vµ
8031.
a- Bé vi ®iÒu khiÓn 8052:
Bé vi ®iÒu khiÓn 8052 lµ mét thµnh viªn kh¸c cña hä 8051,
8052 cã tÊt c¶ c¸c ®Æc tÝnh chuÈn cña 8051 ngoµi ra nã cã thªm 128
byte RAM vµ mét bé ®Þnh thêi n÷a. Hay nãi c¸ch kh¸c lµ 8052 cã
256 byte RAM vµ 3 bé ®Þnh thêi. Nã còng cã 8K byte ROM. Trªn
chÝp thay v× 4K byte nh 8051. Xem b¶ng 1.4.
B¶ng1.4: so s¸nh c¸c ®Æc tÝnh cña c¸c thµnh viªn hä 8051.
§Æc tÝnh 8051 8052 8031
ROM trªn 4K byte 8K byte OK
chÝp
RAM 128 byte 256 byte 128 byte
Bé ®Þnh thêi 2 3 2
Ch©n vµo - ra 32 32 32
Cæng nèi tiÕp 1 1 1
Nguån ng¾t 6 8 6
Nh nh×n thÊy tõ b¶ng 1.4 th× 8051 lµ tËp con cña 8052. Do vËy
tÊt c¶ mäi ch¬ng tr×nh viÕt cho 8051 ®Òu ch¹y trªn 8052 nhng ®iÒu
ngîc l¹i lµ kh«ng ®óng.
b- Bé vi ®iÒu khiÓn 8031:
Mét thµnh viªn kh¸c n÷a cña 8051 lµ chÝp 8031. ChÝp nµy
thêng ®îc coi nh lµ 8051 kh«ng cã ROM trªn chÝp v× nã cã OK
byte ROM trªn chÝp. §Ó sö dông chÝp nµy ta ph¶i bæ xung ROM
ngoµi cho nã. ROM ngoµi ph¶i chøa ch¬ng tr×nh mµ 8031 sÏ n¹p vµ
thùc hiÖn. So víi 8051 mµ ch¬ng tr×nh ®îc chøa trong ROM trªn
chÝp bÞ giíi h¹n bëi 4K byte, cßn ROM ngoµi chøa ch¬ng trinh
®îc g¾n vµo 8031 th× cã thÓ lín ®Õn 64K byte. Khi bæ xung cæng,
nh vËy chØ cßn l¹i 2 cæng ®Ó thao t¸c. §Ó gi¶i quyÕt vÊn ®Ò nµy ta
cã thÓ bæ xung cæng vµo - ra cho 8031. Phèi phÐp 8031 víi bé nhí
vµ cæng vµo - ra ch¼ng h¹n víi chÝp 8255 ®îc tr×nh bµy ë ch¬ng
14. Ngoµi ra cßn cã c¸c phiªn b¶n kh¸c nhau vÒ tèc ®é cña 8031 tõ
c¸c h·ng s¶n xuÊt kh¸c nhau.
1.2.4. C¸c bé vi ®iÒu khiÓn 8051 tõ c¸c h·ng kh¸c nhau.
MÆc dï 8051 lµ thµnh viªn phæi biÕn nhÊt cña hä 8051 nhng
chóng ta sÏ thÊy nã trong kho linh kiÖn. §ã lµ do 8051 cã díi
nhiÒu d¹ng kiÓu bé nhí kh¸c nhau nh UV - PROM, Flash vµ NV -
RAM mµ chóng ®Òu cã sè ®¨ng ký linh kiÖn kh¸c nhau. ViÖc bµn
luËn vÒ c¸c kiÓu d¹ng bé nhí ROM kh¸c nhau sÏ ®îc tr×nh bµy ë
ch¬ng 14. Phiªn b¶n UV-PROM cña 8051 lµ 8751. Phiªn b¶n Flash
ROM ®îc b¸n bëi nhiÒu h·ng kh¸c nhau ch¼ng h¹n cña Atmel corp
víi tªn gäi lµ AT89C51 cßn phiªn b¶n NV-RAM cña 8051 do Dalas
Semi Conductor cung cÊp th× ®îc gäi lµ DS5000. Ngoµi ra cßn cã
phiªn b¶n OTP (kh¶ tr×nh mét lÇn) cña 8051 ®îc s¶n xuÊt bëi rÊt
nhiÒu h·ng.
a- Bé vi ®iÒu khiÓn 8751:
ChÝp 8751 chØ cã 4K byte bé nhí UV-EPROM trªn chÝp. §Ó sö
dông chÝp nµy ®Ó ph¸t triÓn yªu cÇu truy cËp ®Õn mét bé ®èt PROM
còng nh bé xo¸ UV- EPROM ®Ó xo¸ néi dung cña bé nhí UV-
EPROM bªn trong 8751 tríc khi ta cã thÓ lËp tr×nh l¹i nã. Do mét
thùc tÕ lµ ROM trªn chÝp ®èi víi 8751 lµ UV-EPROM nªn cÇn ph¶i
mÊt 20 phót ®Ó xo¸ 8751 tríc khi nã cã thÓ ®îc lËp tr×nh trë l¹i.
§iÒu nµy ®· dÉn ®Õn nhiÒu nhµ s¶n xuÊt giíi thiÖu c¸c phiªn b¶n
Flash Rom vµ UV-RAM cña 8051. Ngoµi ra cßn cã nhiÒu phiªn b¶n
víi c¸c tèc ®é kh¸c nhau cña 8751 tõ nhiÒu h·ng kh¸c nhau.
b- Bé vi ®iÒu khiÓn AT8951 tõ Atmel Corporation.
ChÝp 8051 phæ biÕn nµy cã ROM trªn chÝp ë d¹ng bé nhí
Flash. §iÒu nµy lµ lý tëng ®èi víi nh÷ng ph¸t triÓn nhanh v× bé nhí
Flash cã thÓ ®îc xo¸ trong vµi gi©y trong t¬ng quan so víi 20 phót
hoÆc h¬n mµ 8751 yªu cÇu. V× lý do nµy mµ AT89C51 ®Ó ph¸t triÓn
mét hÖ thèng dùa trªn bé vi ®iÒu khiÓn yªu cÇu mét bé ®èt ROM mµ
cã hç trî bé nhí Flash. Tuy nhiªn l¹i kh«ng yªu cÇu bé xo¸ ROM.
Lu ý r»ng trong bé nhí Flash ta ph¶i xo¸ toµn bé néi dung cña
ROM nh»m ®Ó lËp tr×nh l¹i cho nã. ViÖc xo¸ bé nhí Flash ®îc thùc
hiÖn bëi chÝnh bé ®èt PROM vµ ®©y chÝnh lµ lý do t¹i sao l¹i kh«ng
cÇn ®Õn bé xo¸. §Ó lo¹i trõ nhu cÇu ®èi víi mét bé ®èt PROM h·ng
Atmel ®ang nghiªn cøu mét phiªn b¶n cña AT 89C51 cã thÓ ®îc
lËp tr×nh qua cæng truyÒn th«ng COM cña m¸y tÝnh IBM PC .
B¶ng 1.5: C¸c phiªn b¶n cña 8051 tõ Atmel (Flash ROM).
Sè linh RO RAM Ch©n Time Ng¾ Vc §ãng vá
kiÖn M I/O r t c
AT89C51 4K 128 32 2 6 5V 40
AT89LV5 4K 128 32 2 6 3V 40
1
AT89C10 1K 64 15 1 3 3V 20
51
AT89C20 2K 128 15 2 6 3V 20
51
AT89C52 8K 128 32 3 8 5V 40
AT89LV5 8K 128 32 3 8 3V 40
2
Ch÷ C trong ký hiÖu AT89C51 lµ CMOS.
Còng cã nh÷ng phiªn b¶n ®ãng vá vµ tèc ®é kh¸c nhau cña
nh÷ng s¶n phÈm trªn ®©y. Xem b¶ng 1.6. VÝ dô ®Ó ý r»ng ch÷ “C”
®øng tríc sè 51 trong AT 89C51 -12PC lµ ký hiÖu cho CMOS “12”
ký hiÖu cho 12 MHZ vµ “P” lµ kiÓu ®ãng vá DIP vµ ch÷ “C” cuèi
cïng lµ ký hiÖu cho th¬ng m¹i (ngîc víi ch÷ “M” lµ qu©n sù ).
Th«ng thêng AT89C51 - 12PC r¸t lý tëng cho c¸c dù ¸n cña häc
sinh, sinh viªn.
B¶ng 1.6: C¸c phiªn b¶n 8051 víi tèc ®é kh¸c nhau cña
Atmel.
M· linh kiÖn Tèc ®é Sè ch©n §ãng vá Môc ®Ých
AT89C51- 42MHZ 40 DTP Th¬ng
12PC m¹i
c- Bé vi ®iÒu khiÓn DS5000 tõ h·ng Dallas Semiconductor.
Mét phiªn b¶n phæ biÕn kh¸c n÷a cña 8051 lµ DS5000 cña
h·ng Dallas Semiconductor. Bé nhí ROM trªn chÝp cña DS5000 ë
díi d¹ng NV-RAM. Kh¶ n¨ng ®äc/ ghi cña nã cho phÐp ch¬ng
tr×nh ®îc n¹p vµo ROM trªn chÝp trong khi nã vÉn ë trong hÖ thèng
(kh«ng cÇn ph¶i lÊy ra). §iÒu nµy cßn cã thÓ ®îc thùc hiÖn th«ng
qua cæng nèi tiÕp cña m¸y tÝnh IBM PC. ViÖc n¹p ch¬ng tr×nh trong
hÖ thèng (in-system) cña DS5000 th«ng qua cæng nèi tiÕp cña PC
lµm cho nã trë thµnh mét hÖ thèng ph¸t triÓn t¹i chç lý tëng. Mét
u viÖt cña NV-RAM lµ kh¶ n¨ng thay ®æi néi dung cña ROM theo
tõng byte t¹i mét thêi ®iÓm. §iÒu nµy t¬ng ph¶n víi bé nhí Flash
vµ EPROM mµ bé nhí cña chóng ph¶i ®îc xo¸ s¹ch tríc khi lËp
tr×nh l¹i cho chóng.
B¶ng 1.7: C¸c phiªn b¶n 8051 tõ h·ng Dallas Semiconductor.
M· linh ROM RAM Ch©n Time Ng¾ Vc §ãng
kiÖn I/O r t c vá
DS5000-8 8K 128 32 2 6 5V 40
DS5000-32 32K 128 32 2 6 5V 40
DS5000T-8 8K 128 32 2 6 5V 40
DS5000T-8 32K 128 32 2 6 5V 40
Ch÷ “T” ®øng sau 5000 lµ cã ®ång hå thêi gian thùc.
Lu ý r»ng ®ång hå thêi gian thùc RTC lµ kh¸c víi bé ®Þnh
thêi Timer. RTC t¹o vµ gi÷ thêi gian l phót giê, ngµy, th¸ng - n¨m
kÓ c¶ khi t¾t nguån.
Cßn cã nhiÒu phiªn b¶n DS5000 víi nh÷ng tèc ®é vµ kiÓu ®ãng
gãi kh¸c nhau.( Xem b¶ng 1.8). VÝ dô DS5000-8-8 cã 8K NV-RAM
vµ tèc ®ä 8MHZ. Th«ng thêng DS5000-8-12 hoÆc DS5000T-8-12
lµ lý tëng ®èi víi c¸c dù ¸n cña sinh viªn.
B¶ng 1.8:C¸c phiªn b¶n cña DS5000 víi c¸c tèc ®é kh¸c nhau
M· linh kiÖn NV- RAM Tèc ®é
DS5000-8-8 8K 8MHz
DS5000-8-12 8K 12MHz
DS5000-32-8 32K 8MHz
DS5000T-32-12 32K 8MHz (with
DS5000-32-12 32K RTC)
DS5000-8-12 8K 12MHz
12MHz (with
RTC)
d- Phiªn b¶n OTP cña 8051.
C¸c phiªn b¶n OTP cña 8051 lµ c¸c chÝp 8051 cã thÓ lËp tr×nh
®îc mét lÇn vµ ®îc cung cÊp tõ nhiÒu h·ng s¶n xuÊt kh¸c nhau.
C¸c phiªn b¶n Flash vµ NV-RAM thêng ®îc dïng ®Ó ph¸t triÓn
s¶n phÈm mÉu. Khi mét s¶n pohÈm ®îc thiÕt kÕ vµ ®îc hoµn thiÖn
tuyÖt ®èi th× phiªn b¶n OTP cña 8051 ®îc dïng ®Ó s¶n hµng lo¹t v×
nã sÏ h¬n rÊt nhiÒu theo gi¸ thµnh mét ®¬n vÞ s¶n phÈm
e- Hä 8051 tõ H·ng Philips
Mét nhµ s¶n xuÊt chÝnh cña hä 8051 kh¸c n÷a lµ Philips
Corporation. ThËt vËy, h·ng nµy cã mét d¶i lùa chän réng lín cho
c¸c bé vi ®iÒu khiÓn hä 8051. NhiÒu s¶n phÈm cña h·ng ®· cã kÌm
theo c¸c ®Æc tÝnh nh c¸c bé chuyÓn ®æi ADC, DAC, cæng I/0 më
réng vµ c¶ c¸c phiªn b¶n OTP vµ Flash.