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
IR
CONTROL
* 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
TIMER.2
TIMER.1
TIMER.0
T2
INTERRUPT
CONTROL
T1
128 BYTE
RAM
ROM
4/8KB
OTHER
REGISTER
SERIALPORT
CPU
BUS
CONTROL
I/O
PORT
SERIAL
PORT
OSC
RxD
ALE
TxD
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
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
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 đủ
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:
giao_trinh_ky_thuat_vi_xu_ly_chuong_3_cau_truc_chuc_nang_van.doc

