Giáo trình Kỹ thuật vi xử lý - Chương 3: Cấu trúc chức năng vận hành của CPU và MCU

Häc tr×nh III  
CÊu tróc chøc n¨ng vËn hµnh cña CPU vµ MCU  
- CPU (Central Processor unit) ta hiÓu ®©y lµ bé vi xö lý hay bé xö lý trung t©m  
ra ®êi tõ nh÷ng n¨m 70 cña thÐ kû 20. Nã mang l¹i cho nh©n lo¹i nh÷ng thµnh  
tùu cùc kú vÜ ®¹i. Tõ vi xö lý ®Õn m¸y tÝnh lµ mét c¸ch m¹ng lín vÒ c«ng nghÖ  
nã ®-a con ng-êi tõ thêi ®¹i kinh tÕ hµng ho¸ sang thêi ®¹i kinh tÕ trÝ thøc.  
- MCU ( Microcontroller unit) ta hiÓu ®©y lµ bé vi ®iÒu khiÓn. Tuy ra ®êi sau  
CPU nh-ng nã ®-îc tÊt c¶ nh÷ng ng-êi ho¹t ®éng trªn lÜnh vùc kü thËt ®iÒu  
khiÓn c«ng nghiÖp h-ëng øng rÊt réng r·i. Nã cã kh¶ n¨ng thÝch nghi cao, nã cã  
kh¶ n¨ng thay thÕ cho c¸c bé ®iÒu khiÓn kh¶ lËp tr×nh PLC vµ c¸c Board ®iÒu  
khiÓn c«ng nghiÖp cång kÒnh tr-íc ®©y....  
- So víi CPU tuy nã kh«ng m¹nh b»ng CPU nh-ng do cã c¸c chip nhí ë bªn  
trong, cã c¶ IO vµ cã kh¶ n¨ng giao tiÕp tùc tiÕp víi thÕ giíi bªn ngoµi nªn nã  
®-îc -a chuéng h¬n CPU rÊt nhiÒu, ®Æc biªt lµ cho nh÷ng ng-êi lµm c«ng t¸c  
nghiªn cøu vµ ho¹t ®éng kü thuËt.  
- Do nh÷ng ®Æc ®iÓm nãi trªn nªn trong tµi liÖu nµy chóng ta sÏ ®i s©u vµo nghiªn  
cøu MCU h¬n lµ CPU.  
III-1. Giíi thiÖu chung vÒ CPU vµ MCU  
1/ S¬ ®å khèi cña mét hÖ thèng m¸y tÝnh.  
- ë häc tr×nh I ta ®· nghiªn cøu s¬ ®å khèi cña mét hÖ thèng m¸y tÝnh nh- h×nh  
vÏ sau:  
INTPUT  
DEVICE  
INTPUT  
DEVICE  
ROM  
CPU  
RAM  
Addressbus  
Data bus  
Control bus  
Víi:  
- Bé nhí (MEMORY UNIT) bao gåm cã nhí ROM vµ nhí RAM  
- ThiÕt bÞ vµo ra (INPUT DEVICE OUTPUTDEVICE) lµ nh÷ng thiÕt ®Ó CPU  
giao tiÕp víi thÕ giíi bªn ngoµi.  
- CPU lµ bé vi xö lý, nã ®-îc coi lµ bé ãc cña mét hÖ thèng m¸y tÝnh hay mét  
KIT vi xö lý.  
- Ta cã thÓ hiÓu mét c¸ch tãm t¾t nh- sau:  
- CPU cã kh¶ n¨ng lµm c¸c phÐp to¸n bao gåm c¶ to¸n sè häc vµ to¸n logic, ra  
c¸c chØ lÖnh, vµ ®iÒu hµnh toµn bé hÖ thèng ho¹t ®éng theo mét trËt tù chung.  
- Muèn cho CPU ho¹t ®éng th× ch-¬ng tr×nh ®iÒu hµnh cÇn ph¶i ®-îc n¹p vµo  
ROM. TËp lÖnh cña ch-¬ng tr×nh sÏ h-íng dÉn VSL ho¹t ®éng theo tõng chu kú  
nh- sau:  
- NhËn Data (Fetch Cycle - t×m n¹p)  
- Xö lý Data  
- Cho ra kÕt qu¶.  
- Ta còng cã thÓ hiÓu VSL lµ: Lµ mét hÖ thèng m¹ch ®iÖn sè (AND, OR  
EXOR.....), gåm nhiÒu MODULE, ®ång bé, kÕ tiÕp, nhiÒu chøc n¨ng, ®-îc lËp  
tr×nh tõ bªn ngoµi.  
- VSL ®-îc gäi lµ v¹n n¨ng v× c¸c chøc n¨ng cña nã ®-îc x¸c ®Þnh b»ngc¸c chØ  
thÞ lÖnh, c¸c chØ lÖnh nµy ®-îc thùc hiÖn mét c¸ch lu©n phiªn ®ång bé vµ thay  
®æi ®-îc.  
- Mçi chØ thÞ cña VSL ®-îc gäi lµ mét tõ m· (CODE WORD). C¸c tõ m· cã ®é  
dµi kh¸c nhau tuú thuéc vµo sù m¹nh yÕu kh¸c nhau cña tõng ®êi VSL nã ®-îc  
x¸c ®Þnh b»ng c¸c Bit.  
- TËp hîp cña 4 Bit = 1 NIBLE(1/2 byte)  
- TËp hîp cña 8 Bit = 1Byte  
- TËp hîp cña 16 Bit = 2yte = 1WORD  
- TËp hîp cña 32 Bit = 4Byte = 1 Long WORD  
2/ Ho¹t ®éng c¬ b¶n cña CPU.  
- CPU tuy cã cÊ t¹o v« cïng phøc t¹p nh-ng nh×n chung ho¹t ®éng cña nã lµ lÆp  
®i, lÆp l¹i nh÷ng thao t¸c ®¬n gi¶n. Qu¸ tr×nh ®ã diÔn ra d-íi 2 chu kú lµ:  
- Fetch Cycle  
- Execution cycle.  
- Hai chu kú nµy hîp thµnh mét chu kú m¸y (Machine Cycle) ®-îc minh ho¹ nh-  
l-îc ®å thêi gian sau:  
ChØ ®Þnh ®Þa chØ  
Addrressing  
FETCH CYCLE  
LÊy m· lÖnh  
§äc vµ gi¶i m· lÖnh  
Thùc hiÖn lÖnh  
INT..DECODE  
EXECUUTION  
- Khi CPU nhËn ®-îc tÝn hiÖu RESET th× thanh ghi PC (PROGRM COUNTER  
REGISTER), sÏ h×nh thµnh sè ®Õm ®Çu tiªn (INTINITAL VALUE) lµ: 0000(H)  
- Sau ®ã CPU sÏ lÊy d÷ liªu tõ bé nhí ë ®Þa chØ 0000(H) ®Ó n¹p vµo thanh ghi  
®iÒu khiÓn (COMMAN REGISTER), ®Ó ph©n tÝch lÖnh vµ ®-a ra c¸c chØ thÞ mét  
c¸ch hîp lý.  
VÝ dô:  
- Gi¶ sö cã d÷ liÖu cho nh- b¶ng sau:  
Mnemonic  
§Þa chØ  
0000H  
0001H  
0002H  
0003H  
0004H  
D÷ liÖu  
3EH  
03H  
06H  
05H  
80H  
32H  
LÖnh n¹p d÷ liÖu vµo thanh ghi A  
D÷ liÖu 03H ®ù¬c n¹p vµo thanh ghi A  
LÖnh n¹p d÷ liÖu vµo thanh ghi B  
D÷ liÖu 05H ®-îc n¹p vµo thanh ghi B  
LÖnh Céng néi dung ë thanh ghi A víi néi  
dung ë thanh ghi B  
LÖnh di chuyÓn néi dung ë thanh ghi A  
vµo « nhí  
0005H  
¤ nhí 09H  
0006H  
0007H  
0008H  
0009H  
09H  
00H  
76H  
00H  
Stop CPU  
Do Nothing  
* Sau khi cã tÝn hiÖu RESET ch-¬ng t×nh sÏ ®-îc thùc hiÖn theo d÷ liÖu ®· ®-îc  
viÕt trong bé nhí b¾t ®Çu tõ ®Þa chØ 0000H  
* V× PC ®-îc SET t¹i ®Þa chØ 0000H nªn d÷ liÖu ®-îc t×m thÊy lµ 3EH ë ®Þa chØ  
0000H ®-îc CPU lÊy vµo nh- mét Data ®Çu tiªn. Sau ®ã CPU sÏ ph©n tÝch xem  
®ã lµ lÖnh g×, vµ biÕt 3EH lµ lÖnh “ §Æt mét d÷ liÖu vµo thanh ghi A”  
* Bëi v× CPU kh«ng hiÓu ta ®Þnh ®Æt d÷ liÖu lµ g× vµ b»ng bao nhiªu vµo thanh  
ghi A, nªn nã ph¶i ®äc mét ®Þa chØ kÕ tiÕp lµ 0001H. Vµ néi dung trong « nhí  
0001H lµ 03H, vµ d÷ liÖu 03H ®-îc ®Æt vµo thanh ghi A. C¶ d÷ liªô 03H vµ m·  
lÖnh 3EH lµm thµnh mét lÖnh.  
- Nh÷ng lo¹i lÖnh nh- trªn ®-îc gäi lµ lÖnh 2 BYTE. Trong tr-êng hîp nµy 3E  
lµ lÖnh cßn 03H lµ gi¸ trÞ cña lÖnh ®ã.  
* §Õn ®©y PC ®-îc SET ë ®Þa chØ 0002H vµ nã ®äc ®-îc gi¸ trÞ 06H lµ mét m·  
lÖnh kÕ tiÕp. Luc nµy CPU ph©n tÝch lÖnh 06H vµ nã hiÓu ®©y lµ lÖnh n¹p d÷ liÖu  
vµo thanh ghi B , nã thùc hiÖn lÖnh ®ã.  
* §Õn ®©y CPU còng kh«ng biÕt nã ph¶i ®Æt c¸i g× vµo thanh ghi B nªn nã ®äc  
tiÕp néi dung ë « nhí kÕ tiÕp lµ « nhí 0003H. Nã t×m thÊy d÷ liÖu chøa trong «  
ní 0003H lµ 05H, nªn nã ®Æt 05H vµo thanh ghi B.  
* KÕ ®Õn CPU ®äc néi dung trong « nhí 0004H nã t×m thÊy d÷ liÖu lµ 80H.  
- Nã ph©n tÝch lÖnh naú vµ hiÓu ®©y lµ lÖnh céng néi dông ë thanh ghi A v¬Ý n«i  
dung ë thanh ghi B, vµ kÕt qu¶ lµ 08H ®-îc ®Æt ë thanh ghi A. LÖnh nµy cã ®é  
dµi b»ng 1BYTE cho nªn ®Õn ®©y CPU ®-îc SET ë « nhí 0005H. CPU sÏ ®äc  
néi dung ë « nhí 0005H vµ t×m ®-îc d÷ liÖu chøa trong ®ã lµ 32H (®©y lµ mét  
m· lÖnh). 32H cã nghÜa lµ n¹p néi dung chøa trong thanh ghi A vµo mét « nhí  
nµo ®ã.  
- V× ®©y lµ lÖnh n¹p d÷ liÖu vµo mét « nhí nªn nã lµ lÖnh 2BYTE bëi vËy ta  
ph¶i sö dông 2 « nhí lµ 0006H vµ 0007H, d÷ liÖu chøa trong ®ã sÏ lµ 09H.  
* Cuèi cïng CPPU sÏ ®äc néi dung ë « nhí kÕ tiÕp lµ « nhí 0008H, nã t×m thÊy  
d÷ liÖu lµ 76H. Nã ph©n tÝch lÖnh nµy vµ biÕt ®©y lµ lÖnh ngõng CPU. « nhí tiÕp  
theo sÏ lµ mét « tr¾ng.  
2/ S¬ ®å khèi c¬ b¶n cña mét CPU.  
- §é phøc t¹p vÒ cÊu t¹o bªn trong cña mçi CPU lµ tuú thuéc vµo yªu cÇu c«ng  
nghÖ vµ  
kh¶ n¨ng tr×nh ®é kü thuËt cña mçi h·ng s¶n xuÊt kh¸c nhau lµ kh¸c nhau.  
- Nh-ng nh×n chung chóng ®Òu cã nh÷ng bé phËn c¬ b¶n gièng nhau thÓ hiÖn  
nh- h×nh vÏ sau:  
C¸c tõ nhí  
ACC  
GENARAL REG  
ALU  
PC  
SP  
IR  
CONTROL  
INTER.FACE  
* Giíi thiÖu c¸c bé phËn c¬ b¶n cña s¬ ®å.  
- ACC: Acumulator (Thanh chøa), thanh chøa ®-îc dïng ®Ó l-u tr÷ c¸c kÕt qu¶  
t¹m thêi trong qu¸ tr×nh xö lý, tÝnh to¸n c¸c phÐp tÝnh.  
- ALU: Arithmatic logic Unit ( §¬n vÞ to¸n häc vµ logic), Khèi ALU cã nhiÖm  
vô lµm c¸c phÐp to¸n sè häc, to¸n Logic nh- : céng trõ, nh©n chia c¸c sè nhÞ  
ph©n, c¸c phÐp to¸n logic lµ: AND,OR, EXOR, EXNOR.....  
- IR: Instruction Register (Thanh ghi lÖnh), cã nhiÖm vô lu«n lu«n trá vµo lÖnh  
tiÕp theo sÏ ®-îc thùc hiÖn trong mét ®o¹n m·. §Þa chØ tiÕp theo nµy sÏ øng víi  
CS: IP. Hay nãi c¸ch kh¸c lµ CS vµ IP sÏ t¹o nªn ®Þa chØ tiÕp theo. (PhÇn nµy  
dµnh cho c¸c VSL 16bit)  
- PC: Progam Counter Register (Thanh ghi ®Õm ch-¬ng tr×nh), nã gièng nh- IR  
nh-ng ®-îc dïng cho c¸c VXL 8 bit. Khi nhËn ®-îc tÝn hiÖu RESET th× PC sÏ  
tù ®éng ®Õm t¹i ®Þa chØ ®Ç tiªn lµ 0000 (H). Sau khi ®äc xong néi dung t¹i « nhí  
0000(H) thi PC tù ®éng t¨ng lªn ®Þa chØ 0001(H).  
- SP : Stack Point ( thanh ghi con trá ng¨n xÕp). SP lu«n lu«n trá vµo ®Ønh hiÖn  
thêi cña ng¨n xÕp n»m trong ®o¹n ng¨n xÕp SS (Stack Segment). ®Þa chØ ®Çy ®ñ  
cña ®Ønh ng¨n xÕp øng víi SS: SP ( ®-îc x¸c ®Þnh theo SS,SP).  
- Control Register - Thanh ghi ®iÒu khiÓn ch-¬ng tr×nh  
- Genaral Registers - C¸c thanh ghi chung......(Tuú thuéc vµo mçi lo¹i CPU), mµ  
nã cã bao nhiªu thanh ghi.  
3/ S¬ ®å khèi cña mét MCU.  
Hä MCU ®ang ®-îc -a chuéng vµ l-u hµnh réng r·i trªn thÞ tr-êng trong n-íc  
vµ quèc tÕ lµ MCU8051 sau nµy ph¸t triÓn thµnh AT89C51, 52.....  
- §©y lµ IC vi ®iÒu khiÓn hä 89CXX b¶n quyÒn 2 cña INTELL. Tuy c¸c ®u«i cã  
kh¸c nhau nh- 89C51, 89C52, 89C55... nh-ng hä 809Cxx chØ kh¸c nhau vÒ  
dung l-îng nhí trong, ngoµi ra vÒ c¬ b¶n lµ chóng gièng nhau. Bëi vËy chóng ta  
dïng s¬ ®å klhèi c¬ b¶n sau ®©y ®Ó minh ho¹ cho hä c¸c Vi ®iÒu khiÓn 89Cxx  
INT1  
T2EX  
INT0  
TIMER.2  
TIMER.1  
TIMER.0  
T2  
INTERRUPT  
CONTROL  
T1  
128 BYTE  
RAM  
ROM  
4/8KB  
OTHER  
REGISTER  
SERIALPORT  
T0  
CPU  
BUS  
CONTROL  
I/O  
PORT  
SERIAL  
PORT  
OSC  
RxD  
EA  
ALE  
TxD  
RST  
Gi¶i thÝch c¸c thuËt ng÷  
- INTERRUPT CONTROL: §iÒu khiÓn c¸c ng¾t  
- Other Register: C¸c thanh ghi kh¸c  
- Timer 2, 1, 0 : C¸c bé ®Þnh thêi 2, 1, 0.  
- CPU: §¬n vÞ ®iÒu khiÓn trung t©m  
- OSC: Oscilator - M¹ch dao ®éng  
- Bus Control: §iÒu khiÓn BUS  
- I/O Port: C¸c c¶ng xuÊt nhËp  
- SERIAL PORT: C¶ng nèi tiÕp  
- Address/Data : §i¹ chØ, d÷ liÖu  
- EA : ENABLE ADDRESS - Cho phÐp ®Þa chØ (t¸c ®éng ë møc thÊp) - dïng  
cho viÖc ®äc ghi ROM ngoµi.  
- ALE- ADDRESS LATCH ENABLE: Cho phÐp chèt ®Þa chØ.  
- PSEN - PROGRAM STOR ENABLE: cho phÐp l-u tr÷ ch-¬ng tr×nh. (ch©n nµy  
còng t¸c ®éng ë møc thÊp).  
* KÕt luËn chung:  
CPU nh- tªn cña nãthÓ hiÖn ®©y lµ trung t©m ®Çu n·o cña mét hÖ thèng m¸y  
tÝnh. V× nã cã kh¶ n¨ng kÕt hîp víi c¸c thiÕt bÞ nhí ngoµi nh- ROM, RAM, I/O  
lµm thµnh mét hÖ thèng m¸y tÝnh hoµn chØnh mµ ta vÉn gäi lµ m¸y tÝnh c¸ nh©n  
(PC). HoÆc nã cã kÕt cÊu gän h¬n ®Ó lµm thµnh mét Kit vi xö lý ®éc lËp øng  
dông trong c«ng nghiÖp. Mét ®Æc ®iÓm c¬ b¶n mµ ta thÊy ngay lµ CPU tù th©n nã  
kh«ng ho¹t ®éng ®éc lËp ®-îc, bëi v× nã kh«ng cã kh¶ n¨ng giao tiÕp víi thÕ giíi  
bªn ngoµi.  
- Kh¸c víi CPU, MCU lµ mét Chip vi xö lý cã kh¶ n¨ng lµm viÖc ®éc lËp vµ cã  
kh¶ n¨ng giao tiÕp víi thÕ giíi bªn ngoµi mµ kh«ng cÇn ®Õn c¸c thiÕt bÞ hç trî  
®¸ng kÓ tõ bªn ngoµi. Bëi v× bªn trong nã cã chøa ®Çy ®ñ c¸c thiÕt bÞ ®i kÌm nh-  
ROM, RAM, I/O...  
- §©y lµ mét kh¶ n¨ng næi tréi cña MCU so víi CPU nªn ngµy nay trong hÇu hÐt  
c¸c øng dông trong c«ng nghiÖp ng-êi ta ®Òu sö dông c¸c KIT vi ®iÒu khiÓn  
thay cho mét KIT vi xö lý cång kÒnh.  
- ChiÝnh v× nh÷ng lÝ do trªn mµ phÇn träng t©m cña ch-¬ng tr×nh chóng ta ®i  
nghiªn cøu vÒ MCU. §Æc tr-ng cña hä vi ®iÒu khiÓn lµ AT89Cxx B¶n quyÒn cña  
INTELL. Do tÝnh t-¬ng tù cña nã nªn c¸c phÇn tiÕp theo chóng ta sÏ nghiªn cøu  
vÒ AT89C51.  
III - 2. Bé vi xö lý 8088/8086 cña INTELL.  
1/ S¬ ®å khèi cña bé vi xö lý 8088.  
- IC vi xö lý 8088 lµ IC vi xö lý ®-îc c¶i tiÕn tõ IC vi xö lý 8086 do yªu cÇu  
th-¬ng m¹i. VÒ c¬ b¶n chóng t-¬ng tù nhau, sau ®©y ta chØ xÐt IC vi xö lý 8088.  
- 8088 cã 20 bit ®Þa chØ nªn cã thÓ ®Þa chØ ho¸ trùc tiÕp 1MB bé nhí.  
- Cã 14 thanh ghi 16 Bit.  
- Cã thÓ thao t¸c víi Bit, Byte, WORD, vµ khèi.  
- Cã kh¶ n¨ng thùc hiÖn c¸c phÐp tÝnh víi c¸c sè 8, 16 BIT cã dÊu vµ kh«ng dÊu.  
- TÇn sè xung nhÞp 5MHz cho 8088,8MHz cho 8088-2, 10MHz cho 8088-1.  
- HÖ thèng giao diÖn t-¬ng thÝch MULTIBUS.  
- S¬ ®å khèi m« t¶ nh- sau:  
MEM  
GE  
+
PROVISIONAL  
REGIS¦TER  
IP  
CS  
DS  
CONTROL  
SS  
ES  
AL  
BL  
CL  
DH  
AH  
BH  
CH  
ALU  
DH  
SP  
FLAG  
BP  
SI  
DI  
- Trong ®ã bao gåm c¸c thanh ghi vµ c¸c khèi chøc n¨ng nh- sau:  
- MEM ( Memory System)  
- GE ( General Unit) - Bé tæng.  
- Control - Bé ®iÒu khiÓn.  
- ALU (Arithmatic Logic Unit) - §¬n vÞ to¸n häc vµ logic  
- FLAG (Flag Register) - Thanh ghi cê.  
- IP (Instruction Point Register) - Thanh ghi con trá lÖnh.  
- CS (Code Segment Register) - thanh ghi m· ®o¹n.  
- DS (Data Segment Register) - Thanh ghi ®o¹n d÷ liÖu.  
- SS (Stack Segment register) - Thanh ghi ®o¹n ng¨n xÕp.  
- ES ( Extral segment Register) - Thanh ghi ®o¹n d÷ liÖu phô.  
- AX (Acumulater Rtegister) - Thanh ghi ®a n¨ng ( thanh chøa).  
- BX (Base Register) - Thanh ghi c¬ së.  
- CX ( Counter Program Register) - Thanh ghi ®Õm ch-¬ng tr×nh.  
- DX (Data register) - Thanh ghi d÷ liÖu.  
- SP (Stack Point register) - Thanh ghi con trá lÖnh.  
- BP ( Base Point Register) - Thanh ghi con trá c¬ së.  
- SI (Source Index Register) - Thanh ghi chØ b¸o nguån.  
- DI (Destination Index Register) - Thanh ghi chØ b¸o ®Ých.  
2/ M« h×nh phÇn mÒm hÖ thèng.  
- M« h×nh phÇn mÒm hÖ thèng cña CPPU 8088 ®-îc m« t¶ nh- sau:  
IP  
00000  
Code.S  
Data.S  
Extra.S  
CS  
DS  
ES  
0000  
IO/SPACE  
SS  
Stack.S  
AH  
BH  
CH  
AL  
BL  
FFFF  
FFFFF  
CL  
DL  
DH  
SP  
BP  
SI  
DI  
FLG  
* Qua m« h×nh phÇn mÒm hÖ thèng ta thÊy:  
- IC 8088 cã tÊt c¶ 20 ch©n ®Þa chØ (20 bit) nh- vËy nã cã kh¶ n¨ng qu¶n lý mét  
kh«ng gian nhí lµ 1MB. Nh- vËy viÖc x¸c ®Þnh ®Þa chØ cña mét « nhí cÇn ph¶i  
cã 20 Bit ®Þa chØ - mét « nhí chøa mét tõ m· d÷ liÖu lµ mét Byte.  
- Kh«ng gian I/O cã dung l-îng lµ 64KB (®éc lËp víi kh«ng gian nhí), nh- vËy  
viÖc x¸c ®Þnh ®Þa chØ mét « nhí cña I/O cÇn ph¶i cã 16 bit ®Þa chØ.  
* C¸c thanh ghi ®a n¨ng:  
- IC vi xö lý 8088 cã tÊt c¶ 4 thanh ghi ®a n¨ng lµ AX, BX, CX, DX mçi thanh  
ghi cã mét tªn riªng g¾n liÒn víi nhiÖm vô cña tõng thanh ghi. TÊt c¶ c¸c thanh  
ghi nµy ®Òu lµ c¸c thanh ghi 16 bit, ®-îc ph©n ra thµnh khu vùc Byte cao vµ khu  
vùc byte thÊp, hay cßn gäi lµ khu vùc byte giµ vµ khu vùc byte trÎ. C¸c thanh ghi  
nµy cã kh¶ n¨ng lµm viÖc nh- mét thanh ghi 16 bit hoÆc hai thanh ghi 8 bit.  
Thanh ghi AX dïng ®Ó l-u tr÷ kÕt qu¶ t¹m thêi cña c¸c phÐp to¸n +, - , X , :  
,.....  
- Thanh ghi BX dïng ®Ó x¸c ®Þnh ®Þa chØ trong chÕ ®é ®Þa chØ c¬ së.  
- Thanh ghi CX dïng ®Ó x¸c ®Þnh sè lÇn lÆp trong c¸c chØ thÞ lÆp.  
- Thanh ghi DX dïng ®Ó l-u tr÷ ®Þa chØ cho c¸c khèi vµo ra.  
* C¸c thanh ghi ®o¹n .  
- IC 8088 qu¶n lý kh«ng gian nhí cña nã theo kiÓu ph©n ®o¹n. Bëi vËy nã cã 4  
thanh ghi 16 bit dïng cho viÖc x¸c ®Þnh ®Þa chØ theo kiÓu ph©n ®o¹n nh- sau:  
- Thanh ghi CS - thanh ghi m· ®o¹n.  
- Thanh ghi DS - thanh ghi ®o¹n d÷ liÖu.  
- Thanh ghi SS - thanh ghi ®o¹n ng¨n xÕp.  
- Thanh ghi EX - thanh ghi ®o¹n d÷ liÖu phô.  
- Trong cïng mét thêi ®iÓm CPU 8088 cho phÐp lµm viÖc víi tÊt c¶ bèn ®o¹n  
trong bé nhí lµ CS, DS, SS, ES.  
- Víi ph-¬ng ph¸p ph©n ®o¹n nh- trªn nªn ta cÇn ph¶i biÕt ®-îc ®Þa chØ ®o¹n vµ  
®Þa chØ cña tõ nhí. M« h×nh kh«ng gian ph©n ®o¹n ®-îc minh ho¹ nh- sau:  
§Þa chØ ®Çu ®o¹n  
CS  
DS  
§Þa chØ OFFSET  
§Þa chØ ®Çu ®o¹n  
§Þa chØ OFFSET  
§Þa chØ ®Çu ®o¹n  
SS  
- Trªn c¬ së ®Þa chØ ®o¹n vµ ®Þa chØ tõ nhí ta t×m ®-îc ®Þa chØ vËt lý nh- sau:  
§CVL = §C§OAN + 0000 + §C.OFFSET  
§CVL = ®Þa chØ vËt lý  
§C§OAN = ®Þa chØ ®o¹n  
§C offset = ®Þa chØ dÞch chuyÓn.  
VÝ dô :  
- Cho DS = 7000(H), SI = 1234(H). Ta tÝnh ®Þa chØ vËt lý nh- sau:  
§CVL = 7000(H) + 0 (H) = 70000(H)  
= 70000(H) + 1234(H) = 71234(H)  
* C¸c thanh ghi con trá vµ chØ sè:  
- IC 8088 cã 3 thanh ghi con trá vµ hai thanh ghi chØ sè, c¸c thanh ghi nµy ®Òu lµ  
nh÷ng thanh ghi 16 bit . Trõ thanh ghi IP c¸c thanh ghi cßn l¹i ®Òu cã thÎ ®-îc  
dïng nh- nh÷ng thanh ghi ®a n¨ng, nh-ng øng dông chÝnh cña mçi thanh ghi lµ  
chóng ®-îc ngÇm ®Þnh nh- lµ thanh ghi dÞch chuyÓn cho c¸c ®o¹n t-¬ng øng, cô  
thÓ lµ:  
- IP - Thanh ghi con trá lÖnh, IP lu«n lu«n trá vµo lÖnh tiÕp theo sÏ ®-îc thùc  
hiÖn n»m trong ®o¹n m· CS, ®Þa chØ ®Çy ®ñ cña lÖnh tiÕp theo nµy øng víi CS: IP  
®-îc x¸c ®Þnh theo c¸ch nãi trªn.  
- BP - Thanh ghi con trá c¬ së. BP lu«n trá vµo mét d÷ liÖu n»m trong ®o¹n ng¨n  
xÕp øng víi SS: BP, ®-îc x¸c ®Þnh theo c¸ch nãi trªn.  
- SP - Thanh ghi con trá ng¨n xÕp. SP lu«n trá vµo ®Ønh hiÖn thêi cña ng¨n xÕp  
n»m trong ®o¹n ng¨n xÕp SS. §Þa chØ ®Çy ®ñ cña ®Ønh ng¨n xÕp øng víi SS: SP,  
®-îc x¸c ®Þnh theo c¸ch nãi trªn.  
- SI - Thanh ghi chØ sè nguån , SI chØ vµo d÷ liÖu trong ®o¹n d÷ liÖu DS mµ ®Þa  
chØ ®Çy ®ñ cô thÓ øng víi DS: SI, ®-îc x¸c ®Þnh theo c¸ch nãi trªn.  
- DI - Thanh ghi chØ sè ®Ých, DI chØ vµo d÷ liÖu trong ®o¹n d÷ liÖu DS ®Þa chØ ®Çy  
®ñ øng víi DS: DI , ®-îc x¸c ®Þnh theo c¸ch nãi trªn.  
* Thanh ghi cê.  
- Thanh ghi cê cña 8088 còng lµ thanh ghi 16 bit. Nã cã nhiÖm vô lu«n lu«n l-u  
gi÷ l¹i kÕt qu¶ cña c¸c phÐp to¸n hoÆc tr¹ng th¸i ho¹t ®éng cña VSL. Nã cã m«  
h×nh nh- sau:  
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A8 A2 A1 A0  
OF DF IF TF SF ZF AF PF CF  
X
X
X
X
X
X
X
- CF - Cê nhí CF = 1 khi cã nhí hoÆc m-în sè tõ MSB.  
- PF - Cê ch½n lÎ, PF =1 khi tæng sè c¸c con sè 1 trong phÐp to¸n hoÆc trong kÕt  
qu¶ lµ mét sè ch½n (Even Parity)  
- AF - Cê nhí phô , cã t¸c dông khi ta lµm viÖc víi c¸c con sè BCD. AF =1 khi  
cã m-în sè BCD tõ byte thÊp sang byte cao.  
- ZF - Cê rçng, ZF =1 khi kÕt qu¶ cña phÐp to¸n = 0.  
- SF - Cê hiÖu , SF = 1 . khi kÕt qu¶ cña phÐp to¸n ©m  
- TF - Cê bÉy, Khi TF =1 th× CPU lµm viÖc ë chÕ ®é ch¹y tõng lÖnh .  
- IF - Cê ng¾t , khi IF =1 th× CPU cho phÐp thùc hiÖn c¸c yªu cÇu ng¾t.  
- DF - Cê h-íng, khi DF =1 th× CPU lµm viÖc víi chuçi ký tù theo thø tù tõ ph¶i  
sang tr¸i.  
- OF - Cê trµn , khi OF =1 khi kÕt qu¶ .lµ mét sè bï hai v-ît ra ngoµi giíi h¹n  
giµnh cho nã.  
3/ S¬ ®å ch©n rót gän cña 8088.  
CK  
INTR  
Address/Data - Ado - AD7  
INTA  
ALE  
S2  
TEST  
IO/M  
8088  
NMI  
WR  
RD  
MINIMUM  
MOD  
RESET  
S1  
So  
HOLD  
HLDA  
DT/ R  
DMA  
DEN  
MN / MX  
READY  
Víi:  
- INT - INTERRUP - th«ng b¸o ng¾t tíi CPU.  
- INTA - Interrup Accept - CPU chÊp nhËn ng¾t ( ch©n nµy t¸c ®éng ë møc thÊp).  
- TEST - kiÓm tra , khi TEST =1 th× CPU ®îi .  
- NMI - Non maskable Interrup - ng¾t kh«ng che mÆt n¹ (nhËn ®-îc lÖnh nµy  
CPU thùc hiÖn hÕt lÖnh ®ang thùc hiÖn råi míi thùc hiÖn ng¾t).  
- HOLD - Ng¾t CPU ®Ó MEM vµ I/O trao ®æi th«ng tin trùc tiÕp víi nhau mµ  
kh«ng th«ng qua CPU.  
- HOLDA - Hold Accept - Cup th«ng b¸o ®· chÊp nhËn ng¾t ®Ó thùc hiÖn DMA.  
- MN/MX - Minimum / Maximum ( tÝch cùc ë møc thÊp) - CPU ho¹t ®éng ë  
chÕ ®é cùc ®¹i hay chÕ ®é cùc tiÓu.  
- ë chÕ ®é cùc ®é cùc tiÓu th× tÊt c¶ c¸c MODE ®iÒu khiÓn ®Òu cã s½n ë bªn  
trong IC gièng nh- 8085.  
- ë chÕ ®é cùc ®¹i th× ta ph¶i gi¶i m· ba bit So, S1, S2 nh- sau:  
S2  
0
S1  
0
S0  
0
Tr¹ng th¸i  
C«ng nhËn ng¾t  
0
0
0
1
1
0
§äc I/O  
Ghi I/O  
1
0
0
1
1
0
Dõng(Halt)  
LÊy lÖnh  
1
1
1
0
1
1
1
0
1
§äc MEM  
Ghi MEM  
Thô ®éng  
III - 3: Bé vi ®iÒu khiÓn hä 8051.  
1/ Giíi thiÖu chung vÒ hä 8051.  
- Hä MCS - 51 lµ hä vi ®iÒu khiÓn cña Intell. C¸c h·ng cã b¶n quyÒn 2 lµ  
Atmel, Siemem, Fujitsu, Philip.....Vi m¹ch tæng qu¸t ®¹i diÖn cho hä MCS- 51 lµ  
8051 lµ chÝp ®Çu tiªn xuÊt hiÖn trªn thÞ tr-êng. C¸c chÝp tiÕp theo ®-îc ®-a ra thÞ  
tr-êng lµ 89C51, 89C52, 89C2051......®Òu lµ nh÷ng c¶i, tiÕn cña 8051. nã cã  
nh÷ng ®Æc ®iÓm chÝnh nh- sau:  
- 4 Kb ROM  
- 128 Byte RAM  
- 4 Port xuÊt nhËp 8 bit.  
- 2 bé ®Þnh thêi 8 bit.  
- M¹ch giao tiÕp nèi tiÕp.  
- Cã kh¶ n¨ng qu¶n lý bé nhí ch-¬ng tr×nh ngoµi tíi 64K  
- Bé VSL bit  
- Cã 210 vÞ trÝ nhí ®-îc ®Þnh ®Þa chØ, mçi vÞ trÝ 1 bit.  
- Cã kh¶ n¨ng thùc hiÖn c¸c phÐp tÝnh nh©n chia trong vßng 4 MS.  
- HiÖn nay trªn thÞ tr-êng ®ang tån t¹i phæ biÕn MCU 89C51, 89C52 cña  
ATMEL.vÒ c¬ b¶n th× cÊu tróc bªn trong còng nh- tËp lÖnh cña chóng lµ gièng  
nhau vµ gièng 89C51. C¸c IC xuÊt hiÖn sau chØ t¨ng thªm dung l-îng bé nhí vµ  
c¸c c¶ng vµo ra mµ th«i.  
2/ S¬ ®å ch©n cña vi m¹ch.  
S¬ ®å ch©n cña IC 8051 ®-îc minh ho¹ nh- h×nh vÏ d-íi ®©y. Víi c¸c ch©n cô  
thÓ nh- sau:  
%1. PORT.0 - Bao gåm c¸c ch©n tõ sè 32 ®Õn sè 39 cã 2 c«ng dông lµ: nã võa lµ  
I/O vµ lµ c¸c ch©n ®Þa chØ vµ ch©n Data theo kiÓu ®a hîp trong c¸c thiÕt kÕ më  
réng.  
%2. PORT.1 - Bao gåm c¸c ch©n tõ sè 1 ®Õn sè 8, c¸c ch©n nµy chØ ®-îc dïng ®Ó  
giao tiÕp víi c¸c thiÕt bÞ ngo¹i vi trong tr-êng hîp cÇn xuÊt hay nhËp Data.  
%3. PORT. 2 - Bao gåm c¸c ch©n tõ sè 21 ®Õn sè 28. C¸c ch©n nµy cã 2 c«ng  
dông hoÆc lµ lµm c¸c ch©n xuÊt nhËp Data hoÆc lµ lµm c¸c byte cao cña BUS ®Þa  
chØ 16 bit cho c¸c thiÕt kÕ bé nhí ch-¬ng tr×nh ngoµi.  
Vcc  
12M  
18  
Po7  
Po6  
32/AD7  
33/AD6  
34  
40  
35  
36  
37  
38  
18  
P00  
39/ADo  
8
7
6
5
4
3
2
1
P1.7  
P1.7  
PSEN /29  
ALE / 30  
8
0
5
1
EA / 31  
RST / 9  
P1.0  
28 / A15  
27 / A14  
26  
25  
24  
23  
22  
21 /A8  
RD / 17  
P27  
P26  
P37  
P36  
P35  
P34  
P33  
P32  
P31  
P30  
WR / 16  
T1 / 15  
T0 / 14  
INT / 13  
INTO/12  
TxD/11  
RxD/10  
P20  
%4. PORT. 3 - Bao gåm c¸c ch©n tõ sè 10 ®Õn sè 17.C¸c ch©n nµy cã 2 c«ng  
dông lµ: hoÆc lµ lµm c¸c ch©n xuÊt nhËp Data hoÆc lµ lµm c¸c chøc n¨ng riªng  
biÖt, ®-îc m« t¶ nh- b¶ng d-íi ®©y.  
§IA CHI BIT  
BIT  
T£N  
RxD  
TxD  
INTo  
INT1  
To  
T1  
WR  
RD  
Chøc n¨ng  
Chan nh¹n Data cña Port nèi tiÕp  
P3.0  
P3.1  
P3.2  
P3.3  
P3.4  
P3.5  
P3.6  
P3.7  
P1.0  
P1.1  
B0(H)  
B1(H)  
B2(H)  
B3(H)  
B4(H)  
B5(H)  
B6(H)  
B7(H)  
90(H)  
91(H)  
Ch©n ph¸t Data cña Port nèi tiÕp  
§Çu vµo ng¾t ngoµi “0”  
§Çu vµo t ngoµi “1”  
§Çu vµo cña bé ®Þnh têi To  
§Çu vµo cña bé ®Þnh thêi T1  
§iÌu khiÓn ghi bé nhí ngoµi  
§iÒu khiÓn ®äc bé nhí ngoµi  
§Çu vµo cña bé ®Þnh thêi ®Õm 2  
§Çu vao thu nhËn bé ®Þnh thêi 2  
T2  
T2EX  
%5. PSEN (Program stor Enable) - cho phÐp truy xuÊt bé nhí ch-¬ng tr×nh  
ngoµi, nã tÝch cùc ë møc “0”. Khi PSEN = 1 lµ thêi ®iÓm truy xuÊt RAM néi.  
%6. ALE (Address Latch Enable) - Ch©n cho phÐp chèt ®Þa chØ, tÇn sè ho¹t ®éng  
cña nã b»ng 1/6 tÇn sè ho¹t ®éng cña xung CK.  
%7. EA ( Enable Address) - cho phÐp ®Þa chØ , ch©n nµy tÝch cùc ë møc thÊp -  
NÕu EA = 0 th× ch-¬png tr×nh lµm viÖc víi ROM ngoµi (ROM néi bÞ v« hiÖu  
ho¸).  
%8. TÇn sè cña xung CK lµ 12 MH.  
3/ S¬ ®å cÊu tróc cña PORT.  
- Nhµ s¶n xuÊt cho biÕt kh¶ n¨ng to¶ ra cña c¸c PORT 1,2,3 lµ t¶i ®-îc 4 vi m¹ch  
lo¹i LS, cßn cña PORT P.0 lµ 8 vi m¹ch LS.  
(LS = Low Schottky).  
- Nã cã cÊu tróc c¬ b¶n nh- sau:  
I N T E R N A L B U S  
READ PIN  
VCC  
READ LATCH  
D
Q
PORT PIN OUT  
PORT  
LATCH  
WRITE TO LATCH  
- CÇn chó ý r»ng ®Çu ra cña PORT lµ mét TZT tr-êng.  
- L-u ý r»ng ®iÖn trë kÐo lªn (PULL UP) sÏ kh«ng cã ë PORT .Po, nh- vËy mét  
®iÖn trë 10K ®Êu ë bªn ngoµi lµ cÇn thiÕt.  
4/ Tæ chøc bé nhí.  
- CÇn l-u ý r»ng 8051 cã kh«ng gian nhí riªng cho ch-¬ng tr×nh vµ cho Data. C¶  
hai bé nhí ch-¬ng tr×nh vµ d÷ liÖu ®Òu ®Æt bªn 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 chÝp nhí  
bªn ngoµi víi dung l-îng tèi ®a 64 Kbit, cho c¶ bé nhí ch-¬ng tr×nh vµ cho bé  
nhí d÷ liÖu. Cô thÓ cho nh- s¬ ®å sau:  
FFFF  
FFFF  
Code  
Data  
Memry  
Memory  
Enable  
Via Read  
And Write  
Enable  
Via PSEN  
FF  
00  
ON.chip  
Memory  
0000  
0000  
EXTERNALMEMORY  
- On chip Memory: bé nhí trªn chÝp.  
- External memory: bé nhí ngoµi.  
- Code memorry: bé nhí m· ch-¬ng tr×nh.  
- Enable via PSEN: ®-îc cho phÐp bëi PSEN (Møc thÊp) “ Via = theo ®-êng,  
bëi”  
- Data memory: bé nhí d÷ liÖu  
- Enable via RD WR: ®-îc cho phÐp bëi RD, WR (t¸c ®éng ë møc thÊp).  
5/ Vïng RAM ®a môc ®Ých.  
- Dùa vµo b¶n ®å nhí trªn chÝp sau ®©y ®Ó ph©n lo¹i c¸c vïng RAM  
BYTE  
Address  
BYTE  
Address  
Bit address  
Bit address  
7F  
FF  
38  
Fo F7  
F6 F5 F4 F3 F2 F1 F0  
B
Genaral Purpose  
RAM  
Eo E7  
E6 E5 E4 E3 E2 E1 E0 ACC  
80  
byte  
Do D7 D6 D5 D4 D3 D2 D1 D0 PSW  
B8 BC BB BA B9 B8 IP  
B6 B5 B4 B3 B2 B1 B0 P3  
AC AB ¢A A9 A8 IE  
-
-
-
30  
2F  
7F 7E 7D 7C 7B 7A 79 78  
2E 77 76 75 74 73 72 71 70  
2D 6F 6E 6D 6C 6B 6A 69 68  
2C  
Bo B7  
A8 AF  
67 66 65 64 63 62 61 60  
-
-
2B 5F 5E 5D 5C 5B 5A 59 58  
2A  
29  
28  
27  
57 56 55 54 53 52 51 50  
4F 4E 4D 4C 4B 4A 49 48  
47 46 45 44 43 42 41 40  
3F 3E 3D 3C 3B 3A 39 38  
Ao A7 A6 A5 A4 A3 A2 A1 Ao P2  
99 Not bit addressable  
SBUF  
98 9F  
9E 9D 9C 9B 9A 99 98 SCON  
26  
37 36 35 34 33 32 31 30  
25  
24  
23  
22  
21  
20  
1F  
18  
17  
10  
0F  
008  
07  
00  
2F 2E 2D 2C 2B 2A 29 28  
27 26 25 24 23 22 21 20  
1F 1E 1D 1C 1B 1A 19 18  
17 16 15 14 13 12 11 10  
OF OE 0D 0C 0B 0A 09 08  
07 06 05 04 03 02 01 00  
90 97  
96 95 94 93 92  
91 90 P1  
TH1  
8D Not bit addressable  
8C Not bit addressable  
8B Not bit addressable  
8A Not bit addressable  
89 Not bit addressable  
THo  
TL1  
Tlo  
TMOD  
Bank 3  
Bank 2  
Bank 1  
88 8F  
87 Not bit addressable  
8E 8D 8C 8B 8A 89 88 TCON  
PCON  
83 Not bit addressable  
82 Not bit addressable  
81 Not bit addressable  
80 P87 86 85 84 83 82  
DPH  
DPL  
SP  
Defauk register  
Bank for Ro-R7  
81 80  
Po  
SPECAL FUNTION REGISTERS  
RAM  
- Nh- vËy vïng RAM ®a môc ®Ých ®-îc ®Æt tõ ®Þa chØ 30H ®Õn ®Þa chØ 7FH.  
- Vïng RAM tõ ®Þa chØ 00H ®Õn ®Þa chØ 1FH còng lµ vïng RAM ®a môc ®Ých  
nh-ng ®-îc dïng cho ph-¬ng ph¸p chØ ®Þnh ®Þa chØ trùc tiÕp hoÆc gi¸n tiÕp.  
- Vïng RAM tõ ®Þa chØ 20H ®Õn ®Þa chØ 2FH lµ vïng RAM chØ ®Þnh bit (gåm  
128 bit) “16Byte X 8”.  
6/ D·y c¸c thanh ghi.  
-C¸c thanh ghi tõ Ro ®Õn R7 n»m trong Bank.o cña RAM néi .§©y lµ dÉy thanh  
ghi mÆc ®Þnh nã n»m ë c¸c ®Þa chØ tõ 00H ®Õn 7FH.  
C¸c ph¹m vi tõ Bank.1 ®Õn Bank 3 còng ®-îc dïng cho c¸c thanh ghi b»ng c¸ch  
thay ®æi tõ tr¹ng th¸i ch-¬ng tr×nh (PSW - PROGRAM STATUS WORD). §Ó  
thùc hiÖn c¸c lÖnh ng¾n, trùc tiÕp, nhanh.  
7/ C¸c thanh ghi ®Æc biÖt (SFR).  
C¸c thanh ghi ®Æc biÖt ( Special Function Register), bao gåm 21 thanh ®-îc ®Æt ë  
c¸c ®Þa chØ tõ 80H ®Õn FFH, c¸c thanh ghi nµy ®-îc dïng cho môc ®Ých truy xuÊt  
c¸c lÖnh theo kiÓu ®Þnh ®Þa chØ trùc tiÕp.  
8/ Tõ tr¹ng th¸i ch-¬ng tr×nh (PSW) .  
Tõ tr¹ng th¸i ch-¬ng tr×nh (Program status word) cã ®Þa chØ byte lµ Do thùc  
hiÖn c¸c chøc n¨ng nh- sau:  
Víi:  
Bit  
Ký hiÖu §Þa chØ M« t¶ bit  
PSW7  
PSW6  
PSW5  
PSW4  
PSW3  
CY  
AC  
F0  
D7H  
D6H  
D5H  
D4H  
D3H  
Cê nhí  
Cê nhí phô  
Cê Zero  
Chän daü thanh ghi bit  
RS1  
RS0  
Chän d·y thanh ghi bit.o  
00 = Bank.0: ®Þa chØ tõ 00H - 07H  
01= Bank 1: ®Þa chØ tõ 08H ®Õn 0FH  
10 = Bank 2 ®Þa chØ tõ 10H ®Õn 17H  
11 = bank 3: ®Þa chØ tõ 18H ®Õn 1FH  
PSW2  
OV  
D2H  
Cê trµn  
PSW1  
PSW0  
-
P
D1H  
D0H  
Dù tr÷  
Cê kiÓm tra ch½n lÎ  
* CY (Carry Flag) - cê nhí nã cã hai c«ng dông lµ:  
- Dïng trong c¸c phÐp to¸n sè häc, khi mµ CY =1 lµ phÐp to¸n cã nhí  
hay cã m-în sè tõ MSB (A7).  
- Dïng nh- mét thanh chøa logic ®Ó ghi 1 bitvíi c¸c lÖnh logic.  
* AC (Auxiliary carry flag) ®-îc dïng trong tr-êng hîp khi céng c¸c sè BCD  
víi:  
- AC = 1 nÕu cã mét sè nhí ®-îc t¹o ra tõ bit thø 3 chuyÓn sang bit thø 4.  
- HoÆc kÕt qu¶ trong sè DECADE trong kho¶ng tõ 0AH ®Õn 0FH.  
- HoÆc tiÕp theo lÖnh céng BCD lµ lÖnh DA (HiÖu chØnh).  
* Cê Zero (FO) ®-îc dïng cho khi lËp ch-¬ng tr×nh  
* Cê trµn (OV) - Overflow flag, OV = 1 khi phÐp céng hoÆc phÐp trõ xuÊt hiÖn  
trµn sè häc.  
* Cê ch½n lÎ (P) - Parity flag, ®-îc dïng ®Ó x¸c ®Þnh sè con ssè bit 1 trong thanh  
chøa A. Sao cho sè con sè bit 1trong thanh chøa A céng víi bit 1 cña “P” lµm  
thµnh mét sè ch½n c¸c con sè 1.  
9/ Thanh ghi B .  
Thanh ghi B n»m ë ®Þa chØ F0H ®-îc dïng chung víi thanh ghi A trong c¸c phÐp  
to¸n nh©n ,chia víi:  
- Trong phÐp nh©n kÕt qu¶ cÊt vµo thanh ghi A vµ thanh ghi B (Abyte thÊp, B  
byte cao).  
- Trong c¸c phÐp chia th-¬ng sè ®-îc cÊt vµo thanh ghi A, sè d- cÊt vµo thanh  
ghi B.  
10/ Con trá ng¨n xÕp.  
- Con trá ng¨n xÕp lµ mét thanh ghi 8 bit ë dÞa chØ 81H ký hiÖu lµ “SP”. SP chøa  
®Þa chØ cña d÷ liÖu hiÖn ®ang ë ®Ønh cña ng¨n xÕp.  
- C¸c lÖnh liªn quan ®Õn ng¨n xÕp lµ cÊt Data vµo ng¨n xÕp vµ lÊy d÷ liÖu ra khái  
ng¨n xÕp.  
- ViÖc cÊt d÷ liÖu vµo ng¨n xÕp lµ lµm t¨ng SP, viÖc lÊy d÷ liÖu ra khái ng¨n xÕp  
lµ lµm gi¶m ng¨n xÕp.  
11/ Con trá d÷ liÖu (DPTR).  
- Con trá d÷ liÖu ( Data Pointer) - lµ mét thanh ghi 16 bit ®-îc dïng ®Ó truy xuÊt  
bé nhí d÷ liÖu ngoµi hoÆc bé nhí ch-¬ng tr×nh ngoµi ®Þa chØ cña nã lµ: 82H.  
12/ C¸c thanh ghi PORT.  
- PORT0 ë ®Þa chØ 80H  
- PORT 1 ë ®Þa chØ 90H  
- PORT 2 ë ®Þa chØ A0H  
- PORT 3 ë ®Þa chØ B0H.  
- C¸c PORT0, PORT2, PORT3 kh«ng d-îc dïng ®Ó xuÊt nhËp d÷ liÖu nÕu ta sö  
dông bé nhí ngoµi, hoÆc nÕu cã mét sè cã ®Æc tÝnh ®Æc biÖt ®-îc sö dông nh-  
ng¾t PORT nèi tiÕp.  
- Ng-îc l¹i tõ c¸c ch©n P1.2 ®Õn P1.7 lu«n lu«n lµ c¸c ®-êng xuÊt nhËp ®a môc  
®Ých.  
13/ C¸c thanh ghi ®Þnh thêi (Timer registers).  
- §-îc dïng ®Ó ®Þnh thêi gian hoÆc ®-îc dïng ®Ó gi¶m c¸c sù kiÖn.  
- Bé ®Þnh thêi 0 cã ®Þa chØ lµ 8AH  
- Bé ®Þnh thêi 1 cã ®Þa chØ lµ 8BH.  
- Ho¹t ®éng cña bé ®Þnh thêi ®-îc thiÕt lËp bëi thanh ghi chÕ ®é ®Þnh thêi TMOD  
- Timer mode register cã ®Þa chØ lµ 89H.  
- Thanh ghi TCON (Timer control register) cã ®Þa chØ lµ 88H ®-îc chØ ®Þnh tõng  
bit (chØ cã TCON ®-îc chØ ®Þnh tõng bit).  
14/ C¸c thanh ghi cña PORT nèi tiÕp.  
- Bªn trong 8051 cã mét PORT nèi tiÕp ®Ó truyÒn th«ng víi c¸c thiÕt bÞ nèi tiÕp  
nh- c¸c thiÕt bÞ ®Çu cuèi hay MODEM hoÆc ®Ó giao tiÕp víi c¸c IC cã m¹ch giao  
tiÕp nèi tiÕp nh- IC ghi dÞch .......Bëi vËy mét thanh ghi ®-îc gäi lµ bé ®Öm nèi  
tiÕp SUBF, ( Serial data buffer) xuÊt hiÖn nã ®-îc ®Þnh vÞ t¹i ®Þa chØ 99H.  
Tải về để xem bản đầy đủ
doc 29 trang Thùy Anh 18120 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kỹ thuật vi xử lý - Chương 3: Cấu trúc chức năng vận hành của CPU và MCU", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docgiao_trinh_ky_thuat_vi_xu_ly_chuong_3_cau_truc_chuc_nang_van.doc