You are on page 1of 16

7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1

http://www.ebook.edu.vn 1
CHNG 2: PHAN CNG HO MCS-51

I. GII THIU CHUNG V VI IU KHIN
Qu trnh pht trin nhanh ca cc loi vi x l cho php ng dng chng trong cc qu trnh sn
xut nh cc b iu khin. Khc vi cc loi vi x l s dng x l thng tin (cc my tnh PC
x l vn bn, c s d liu, tnh ton khoa hc k thut), cc vi iu khin (microcontroller) c
thit k lp t trc tip vo ng dng c th. Trong sut qu trnh vn hnh ca mnh vi
iu khin ch thc hin duy nht mt chc nng. Vic ng dng rng ri cc b vi iu khin dn
n yu cu sn xut tt c cc vi mch trong mt v. Vic tch hp nhiu vi mch trn mt v
lm gim gi thnh v lm tng tnh tin cy ca vi iu khin.
Yu cu tng cao tc x l dn n cc cu trc ca vi iu khin khc vi cc cu trc ca cc
b vi x l nh Z80, 8086 v cc vi x l dng cho my tnh PC. Cu trc ca vi iu khin cho
php truy cp nhanh b nh d liu, truy cp v x l nhanh cc d liu, truy cp nhanh cc thit
b (php nhn v chia du phy ng, cc php ton i s Boole vi 1 bit )
Tng qut ta c th ni rng vi iu khin l mt my tnh trong mt chip (monolithic
microcomputer). Trong bao gm CPU, b nh, cc thit v vo/ra ph bin. Cu trc ca vi
iu khin c thit k phc v mt mc ch c th m ch cn ti thiu cc mch ph tr.
Chc nng ca vi iu khin c xc nh bi chng trnh lu trong b nh ROM hoc EPROM.
Chng trnh c np mt ln v khng thay i trong sut qu trnh hot ng.
B nh ca cc vi iu khin c cu trc khc vi b nh ca vi x l Z80 cng loi. Ti cc h vi
x l ta dng cu trc b nh Neuman, trong bn b nh dng chung cho c chng trnh
(thng trong ROM- Read only memory) v d liu (RWM read write memory). Cc b vi iu
khin s dng cu trc Harward. Ti y b nh c chia lm hai loi: b nh chng trnh
(ROM) v b nh d liu (RWM).
Hnh 2.1: Cu trc Neuman Hnh 2.2: Cu trc Harward
Vic phn bit ny c suy ra t thc t rng b nh ROM dng lu chng trnh khng th
ghi vo c, v b nh ny thng c di vi kB (yu cu 10 n 16 bit a ch). CPU truy cp
b nh ny ch yu c lnh. B nh d liu lu cc kt qu tm thi thng thng b
hn, ch cn 8 bit a ch hoc thm ch 4 bit a ch. Vi a ch b nh d liu nh, ton hng s
c a ch ngn v nhiu khi c th lt vo vo m lnh (object code) c di 8 bit. Cu trc b
nh Harward l c s cho vic x l nhanh thng tin trong cc ng dng iu khin.
Cu trc khng i ca cc loi vi iu khin li l gii hn i vi vic p dng trong thc t. Tuy
vy trn th trng c rt nhiu loi vi iu khin cho cc loi ng dng c th khc nhau, mi loi
t phn bit bng lng ti thiu thit b c tch hp bn trong.
CPU
B nh
chng trnh
+
B nh
d liu
CPU
B nh
chng trnh
B nh
d liu
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 2
* H VI IU KHIN X51
Vi iu khin 8051 ra i vo nm 1980 v l loi vi iu khin tng i ln tui. Tuy vy
8051 nhn c s mn chung c bit ca cc nh thit k h thng n ni hin nay tn
ti rt nhiu nh sn xut tp trung pht trin cc sn phm trn c s 8051 v pht trin thm
cc thit b ngoi vi khc. V d ch ring Philips sn xut 24 loi vi iu khin trn c s 8051
nh c th hin trn hnh 2.1. Cc vi iu khin ny khc nhau nh sau: b nh chng trnh
t 2kB n 32 kB, b nh ny c loi c th np mt ln hoc nhiu ln (EPROM), b nh
EEPROM nh cc hng s, b nh d liu m rng n 256 kB, b ADC 8 hoc 10 bit vi b
chn 8 knh, cc cng vo/ra m rng, b so snh hoc lu d liu, bus 2 dy I
2
C. Cc nh sn
xut cung cp cc vi iu khin c tn s t 12MHz n 33 MHz vi loi v DIL, PLCC n loi nh
PQFP. Mt s nh sn xut tp trung vo cc vi iu khin vi cc php tnh s hc (Siemens
80C537) hoc vic nh thi khc nhau (Dallas DS80C320). Tng kt cc hng pht trin c th
ca vi iu khin trn c s 8051 c tng kt nh trn hnh 2.3.


Hnh 2.3: Cc thnh phn m rng ca h vi iu khin trn c s 8051

Trn th trng Vit nam hin ti loi vi iu khin AT89C51 ca hng Atmel rt c ph bin. Vi
iu khin ny c th mua c vi gi 25,000 /1v. Km theo vi vi iu khin ny l rt nhiu
cc thit b ph tr nh b lp trnh, cc board mch c bn, cc phn mm ph tr Vi iu
khin AT89C51 v cc loi cng h ca hng Atmael c b nh chng trnh bn trong l EEPROM
l b nh c th xo l np c bng tn hiu in. iu ny cho php ngi lp trnh c th th
nghim, np chng trnh vo vi iu khin nhiu ln. Thit b np chng trnh (programmer)
cho vi iu khin ny l tng i n gin v c th t lm c. C th tham kho ti trang ch
ca hng Atmel ti a ch www.atmel.com.

7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 3
II. CAU TRUC CUA VI IEU KHIEN 8051
Cac vi mach cua ho MCS-51 gom: 8031/8032, 8051/8052, 8751/8752, 8951/8952, 892051
Vi mach tieu bieu cua ho MCS-51 la 8031/8051 co cac ac iem sau:
- 4 KB ROM noi (0 KB oi vi 8031).
- 128 byte RAM noi.
- 4 port nhap/xuat 8 bit (I/O port).
- 2 bo nh thi 16 bit (timer).
- Mach giao tiep noi tiep (serial port) 2 chieu.
- Bo ieu khien ngat x ly 5 nguon yeu cau ngat trong o co 2 nguon ngat ngoai, 2 nguon
ngat ben trong t hai timer va 1 nguon ngat t kenh noi tiep. Mc o u tien cua cac ngat
c quy nh cu the.
- 64 KB khong gian bo nh chng trnh ngoai.
- 64 KB khong gian bo nh d lieu ngoai.
- 210 bit c a ch hoa.
- Bo nhan/chia 4 s (vi tan so thach anh 12MHz).

Chip Bo nh chng
trnh tren chip
Bo nh d lieu
tren chip
So bo nh thi
(timer)
8031 0 KB 128 byte 2
8051 4 KB ROM 128 byte 2
8751 4 KB EPROM 128 byte 2
8951 4 KB Flash ROM 128 byte 2
8032 0 KB 256 byte 3
8052 8 KB ROM 256 byte 3
8752 8 KB EPROM 256 byte 3
8952 8 KB Flash ROM 256 byte 3
Bang 2.1: Mot so thong so cua cac chip tieu bieu cua ho MCS-51.

III. S LC CAC CHAN (PINOUT) CUA 8051
S o chan 8031/8051:
8051
29
30
40 20
31
19
18
9
39
38
37
36
35
34
33
32
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
PSEN
ALE
VCC VSS
EA
XTAL1
XTAL2
RST
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD

Hnh 2.4

7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 4
S o khoi cua 8051:

Hnh 2.5
1. Port 0
Port 0 (P0.0 P0.7) la port hai chc nang tren cac chan t 32 en 39. Trong cac thiet ke c
nho (khong dung bo nh ngoai) no co chc nang nh cac ng I/O. oi vi cac thiet ke ln
vi bo nh ngoai, port 0 c don kenh gia bus d lieu (D0 D7) va byte thap cua bus a
ch (A0 A7).
2. Port 1
Port 1 (P1.0 P1.7) la mot port I/O tren cac chan t 1 en 8. Port 1 khong co chc nang
khac, no ch c dung cho giao tiep vi thiet b ngoai.
3. Port 2
Port 2 (P2.0 P2.7) la port co cong dung kep tren cac chan t 21 en 28. No c dung nh
cac ng I/O hoac la byte cao cua bus a ch (A8 A15) oi vi cac thiet ke dung bo nh
ngoai.
4. Port 3
Port 3 (P3.0 P3.7) la mot port cong dung kep tren cac chan t 10 en 17. Cac chan cua
port nay va co chc nang la cac ng I/O va co chc nang rieng khac tuy tng chan.
Bang sau mo ta cac chc nang rieng cua tng chan:
Bit Ten Chc nang
P3.0 RXD D lieu nhan cho port noi tiep
P3.1 TXD D lieu phat cho port noi tiep
P3.2
INT0
Ngat ngoai 0
P3.3
INT1
Ngat ngoai 1
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 5
P3.4 T0 Ngo vao timer/counter 0
P3.5 T1 Ngo vao timer/counter 1
P3.6
WR
Xung ghi bo nh d lieu ngoai
P3.7
RD
Xung oc bo nh d lieu ngoai
Bang 2.2: Chc nang cua cac chan cua port 3.
5. PSEN (Program Store Enable)
- PSEN la tn hieu ra tren chan 29. No la tn hieu ieu khien e cho phep oc bo nh
chng trnh ngoai va thng c noi en chan OE (Output Enable) cua bo nh nay.
- PSEN se mc 0 (mc tch cc) trong thi gian lay lenh. Cac ma nh phan cua chng
trnh c oc t bo nh qua bus d lieu va c chot vao thanh ghi lenh cua 8051 e giai
ma. Khi thc thi chng trnh trong ROM noi, PSEN c duy tr mc 1 (mc khong tch
cc).
6. ALE (Address Latch Enable)
- ALE la tn hieu ra tren chan 30. No la tn hieu ra cho phep chot a ch e phan kenh cho
bus d lieu (D0 D7) va byte thap cua bus a ch (A0 A7) tren port 0: trong na au cua
chu ky bo nh, xung ALE cho phep chot a ch vao mot thanh ghi ben ngoai, trong na sau
cua chu ky bo nh, cac ng port 0 nh la cac ng xuat/nhap d lieu.
- Cac xung tn hieu ALE co toc o bang 1/6 lan tan so cua mach dao ong tren chip va co
the c dung lam nguon xung nhp cho cac thanh phan khac cua he thong. V du, neu xung
nhp mach dao ong tren 8051 la 12 MHz th ALE co tan so la 2 MHz. Ch tr khi thi hanh
lenh MOVX, mot xung ALE se b mat i. Chan nay cung c lam ngo vao cua xung lap
trnh cho EPROM trong 8051.
7. EA (External Access)
EA la tn hieu vao tren chan 31. No thng c noi vi +5V (mc 1) hay GND (mc 0).
Neu mc 1, 8051 thc thi chng trnh t ROM noi trong khoang a ch thap (4 KB). Neu
mc 0, 8051 ch thc thi chng trnh t bo nh chng trnh ngoai. Trong 8031, chan nay
luon c noi GND v khong co bo nh chng trnh tren chip.
8. RST (Reset)
RST la ngo vao tren chan 9. Khi tn hieu nay c a len mc cao (trong t nhat la 2 chu ky
may), he thong se khi ong lai.
9. XTAL1 va XTAL2
XTAL1 va XTAL2 la ngo vao va ngo ra cua mach dao ong tren chip chan 18 va 19.
Chung thng c noi vi mot thach anh ngoai va cac tu nh hnh 2.6 e tao xung clock.
Tan so thach anh thong thng la 12 MHz.
Chu k may (T
M
) = 1 / (f
OSC
/12) = 12 / f
OSC

Neu tan so thach anh la 12 MHz th chu k may bang 1 s.
Hnh 2.6
10. V
CC
va V
SS

La cac chan nguon tren chan 40 va20. VCC = +5V, VSS noi at.
Mach dao
ong
tren chip
f
osc

XTAL
12 MHz
C2
30p
0
XTAL2
C1
30p
XTAL1
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 6
IV. CAU TRUC CUA PORT I/O
S o mach ben trong cua cac chan port I/O c ve n gian nh sau:
Hnh 2.7
Viec ghi ra mot chan port se nap d lieu t bus noi vao chot port. Ngo ra cua chot c noi
qua mot cong ao en cc G cua FET va ngo ra cua FET noi en chan port. Khi ghi mc 1
en chot port, ngo ra cong ao se la mc 0 lam FET tat, ngo ra chan port se la mc 1.
Ngc lai, khi ghi mc 0 en chot port se lam FET dan nen ngo ra chan port se la mc 0.
Cac cau lenh yeu cau hoat ong oc-sa-ghi (v du lenh CPL P1.5), se oc chan chot port
e tranh hieu nham mc ien ap chan port do anh hng tai. Cac cau lenh nhap mot bit t
port (v du MOV C,P1.5) se oc chan port. Trong trng hp nay, chot port phai mc 1,
neu khong th FET se dan va keo ngo ra xuong mc 0. Khi reset he thong, tat ca cac chot
port c cai bang 1, v the cac chan port co the c dung nh la cac ngo nhap ngay ma
khong can phai cai cac chot port na. Tuy nhien neu mot chot port b xoa (v du lenh CLR
P1.5), va sau o muon nhap vao t chan port th bo chot phai c thiet lap len mc 1 trc
(v du phai dung lenh SETB P1.5 trc).
Chu y: ien tr keo len (pull up) khong co port 0 (tr khi port nay lam nhiem vu don kenh
bus a ch/d lieu). Do o khi port nay c dung lam I/O th can co ien tr keo len ben
ngoai.
V. TO CHC BO NH
- 8051 co khong gian bo nh rieng ben trong cho chng trnh (ROM) va d lieu (RAM).
- Co the m rong en 64K bo nh chng trnh ngoai va 64K bo nh d lieu ngoai (tng ng
vi 16 bit a ch).
- Co 256 byte RAM noi ( a ch 00H FFH):
+ 128 byte RAM noi a ch 00H 7FH: la cac bank (day) thanh ghi, vung RAM nh v bit
va vung RAM a dung.
+ 128 byte RAM noi a ch 80H FFH: la cac thanh ghi chc nang ac biet.
1. Cac bank thanh ghi
- a ch t 00H 1FH.
- Co 4 bank thanh ghi: 0, 1, 2, 3.
- Moi bank co 8 thanh ghi: t R0 R7.
- Tai moi thi iem, ch co mot bank thanh ghi tch cc (thong qua viec cai cac bit chon bank
trong thanh ghi PSW). Bank thanh ghi tch cc mac nhien sau khi reset he thong la bank 0.
2. Vung RAM nh v bit
- a ch t 20H 2FH.
Ghi vao chot
Chot port
Bus noi cua 8051
Vcc
chan
port
ien tr
noi keo
len
oc
chan port
D
CLK
Q
Q
oc
chot port
0
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 7
- Gom 128 bit c nh a ch t 00H en 7FH trong cac byte a ch t 20H 2FH.
- Co the truy xuat tng byte hay tng bit.
Y tng truy xuat tng bit rieng re bang phan mem la mot ac tnh manh cua cac vi ieu
khien, ac biet oi vi cac ng dung ieu khien. Cac bit co the c at, xoa, AND, OR
vi mot lenh n.
3. Vung RAM a dung
- a ch t 30 7FH.
- Gom 80 byte c nh a ch t 30H 7FH, c s dung tuy muc ch cua ngi dung.

Hnh 2.8
a ch
byte
a ch bit
7F






30
RAM a dung
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
67 66 65 64 63 62 61 60
2B
5F 5E 5D 5C 5B 5A 59 58
2A
57 56 55 54 53 52 51 50
29
4F 4E 4D 4C 4B 4A 49 48
28
47 46 45 44 43 42 41 40
27
3F 3E 3D 3C 3B 3A 39 38
26
37 36 35 34 33 32 31 30
25
2F 2E 2D 2C 2B 2A 29 28
24
27 26 25 24 23 22 21 20
23
1F 1E 1D 1C 1B 1A 19 18
22
17 16 15 14 13 12 11 10
21
0F 0E 0D 0C 0B 0A 09 08
20
07 06 05 04 03 02 01 00
1F
18
Bank 3
17
10
Bank 2
0F
08
Bank 1
07
00
Bank thanh ghi mac nh cho
R0 R7 (Bank 0)

RAM
a ch
byte
a ch bit
Ky hieu
(ten)
FF

F0
F7 F6 F5 F4 F3 F2 F1 F0 B


E0
E7 E6 E5 E4 E3 E2 E1 E0 ACC


D0
D7 D6 D5 D4 D3 D2 - D0 PSW


B8
- - - BC BB BA B9 B8 IP


B0
B7 B6 B5 B4 B3 B2 B1 B0 P3


A8
AF - - AC AB AA A9 A8 IE


A0
A7 A6 A5 A4 A3 A2 A1 A0 P2


99
Khong c a ch hoa bit SBUF
98
9F 9E 9D 9C 9B 9A 99 98 SCON


90
97 96 95 94 93 92 91 90 P1


8D
Khong c a ch hoa bit TH1
8C
Khong c a ch hoa bit TH0
8B
Khong c a ch hoa bit TL1
8A
Khong c a ch hoa bit TL0
89
Khong c a ch hoa bit TMOD
88
8F 8F 8D 8C 8B 8A 89 88 TCON
87
Khong c a ch hoa bit PCON


83
Khong c a ch hoa bit DPH
82
Khong c a ch hoa bit DPL
81
Khong c a ch hoa bit SP
80
87 86 85 84 83 82 81 80 P0
CAC THANH GHI CHC NANG AC BIET
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 8
VI. CAC THANH GHI CHC NANG AC BIET
(SFRs SPECIAL FUNCTION REGISTERS)
1. Thanh ghi tch luy A (Accummulator)
- Con k hieu la ACC (tng ng vi a ch E0H), c nh a ch tng bit.
- Thng la toan hang ch trong cac lenh so hoc va logic, ket qua cua lenh cha trong thanh
ghi A.
V du:

2. Thanh ghi trang thai chng trnh PSW (Program Status Word)
a ch la D0H, cha cac bit trang thai nh sau:

CY AC F0 RS1 RS0 OV - P
- C nh CY (C)
Co hai cong dung:
+ c at bang 1 neu co mot so nh sinh ra bi phep cong hoac co mot so mn bi
phep tr. V du, neu thanh ghi tch luy cha FFH, th lenh sau:
ADD A, #1
se tra ve thanh ghi A ket qua la 00H va at c nh C = 1.
+ La thanh ghi tch luy 1 bit trong cac lenh logic thao tac tren bit. V du, lenh sau se
AND bit 25H vi c nh va at ket qua tr vao c nh:
ANL C, 25H
- C nh phu AC (Auxiliary Carry)
+ C nh AC c at bang 1 neu co so nh sinh ra t bit 3 sang bit 4 trong phep cong.
V du:
78 0111 1000
+
69
+
0110 1001
E1 1110 0001
+ c dung khi cong cac gia tr BCD.
- C F0 : la mot bit c a dung, c dung tuy muc ch cua ngi s dung.
- RS1 va RS0
La cac bit dung e chon bank thanh ghi tch cc. Chung c xoa sau khi reset he thong
va c thay oi bang phan mem neu can.

RS1 RS0 Bank
0 0 0: a ch 00H 07H
0 1 1: a ch 08H 0FH
1 0 2: a ch 10H 17H
1 1 3: a ch 18H 1FH
Bang 2.3: Chon bank thanh ghi.
- C tran OV (Overflow)
c at bang 1 sau mot lenh cong hoac lenh tr neu co mot phep toan b tran so hoc.
Khi cac so co dau c cong hoac tr vi nhau, phan mem co the kiem tra bit nay e
A
+
Toan hang nguon
=
Ket qua
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 9
xac nh xem ket qua co nam trong tam xac nh khong. Khi cac so khong dau c
cong, bit OV co the c bo qua. Cac ket qua ln hn +127 hoac ln hn 128 se at bit
OV. V du, phep cong sau b tran va bit OV c at:

Hex: 0F Thap phan: 15

+
7F
+
127
8E 142
Ket qua la mot so co dau 8EH c xem nh 114, khong phai la ket qua ung (142), v
vay bit OV c at.
- C kiem tra chan le P (Parity)
c t ong tao ra theo phng phap kiem tra chan oi vi d lieu trong thanh ghi A.
+ Kiem tra chan (even parity): tong so cac bit 1 trong thanh ghi A va c P la chan.
+ Kiem tra le (odd parity): tong so cac bit 1 trong thanh ghi A va c P la le.
3. Thanh ghi B
- a ch la F0H, c nh a ch tng bit.
- c dung kem vi thanh ghi A trong cac phep toan nhan, chia hay dung nh mot thanh
ghi a dung.
4. Con tro stack SP (Stack Pointer)
- Stack (ngan xep) la vung nh tren RAM ma P dung e lu thong tin tam thi.
- Con tro stack SP co a ch la 81H, la thanh ghi cha a ch cua byte d lieu hien hanh
tren nh cua stack.
- Cac lenh tren stack bao gom cac thao tac cat d lieu vao stack va lay d lieu ra khoi vung
stack. Lenh cat d lieu vao stack (PUSH) se lam tang noi dung SP trc khi ghi d lieu va
lenh lay d lieu ra khoi vung stack (POP) se oc d lieu va giam noi dung SP. Viec cat va
lay d lieu tren vung stack tuan theo nguyen tac First In Last Out (FILO).
- Vung stack cua 8051 c gi trong RAM noi. Khi khi ong, noi dung mac nh cua SP la
07H. Do o vung stack la 08H 7FH. Trong trng hp nay, bank thanh ghi 1 (co the ca 2
va 3) se khong dung c v vung RAM nay a c dung lam stack. V vay, can khi ong
lai gia tr cho SP, thng lay vung nh pha tren t 60H 7FH.
- Trc khi thc hien mot chng trnh con hoac chng trnh phuc vu ngat, a ch cua lenh
ke tiep cua lenh hien hanh se c t ong lu vao vung stack. Sau khi thc thi xong va
thoat khoi chng trnh con hoac chng trnh phuc vu ngat, a ch cua lenh ke tiep c
lu trong vung stack se c a vao PC va chng trnh se tiep tuc thc thi tai iem ma no
a ngng trc o. Trong trng hp co nhieu chng trnh con long nhau hoac ngat trong
ngat, quy tac FILO se am bao cho viec thc thi chng trnh theo ung trnh t.
5. Thanh ghi con tro d lieu DPTR (Data Pointer)
- La thanh ghi 16 bit, gom hai thanh ghi 8 bit la DPL (byte thap) va DPH (byte cao).
- c dung e xac nh a ch bo nh ngoai (bo nh chng trnh ngoai hay bo nh d lieu
ngoai).
6. Cac thanh ghi port
- Gom 4 thanh ghi tng ng vi 4 port:
P0 Port 0 : a ch 80H
P1 Port 1 : a ch 90H
P2 Port 2 : a ch A0H
P3 Port 3 : a ch B0H
- e truy xuat port ta truy xuat cac thanh ghi port tng ng.
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 10
- Cac thanh ghi nay c nh a ch tng bit.
V du: P1.0 : bit 0 cua thanh ghi P1
P2.7 : bit 7 cua thanh ghi P2
7. Cac thanh ghi bo nh thi (Timer)
- 8051 co hai bo nh thi/em 16 bit c dung cho viec nh thi hoac em s kien:
+ Timer 0 gom TL0 (byte thap) a ch 8AH va TH0 (byte cao) a ch 8BH.
+ Timer 1 gom TL1 (byte thap) a ch 8CH va TH1 (byte cao) a ch 8DH.
- Viec van hanh timer c ieu khien bi thanh ghi che o timer TMOD ( a ch 89H) va
thanh ghi ieu khien timer TCON ( a ch 88H).
- Ch co TCON c nh a ch tng bit.
8. Cac thanh ghi port noi tiep (Serial port)
- 8051 cha mot port noi tiep tren chip danh cho viec trao oi thong tin vi cac thiet b noi
tiep nh may tnh, modem hoac cho viec giao tiep vi cac IC khac co giao tiep noi tiep (cac
bo chuyen oi A/D, cac thanh ghi dch ).
- Thanh ghi SBUF (Serial Buffer) a ch 99H la bo em nhap/xuat noi tiep. Khi xuat d
lieu th ghi len SBUF, khi nhap d lieu th oc t SBUF.
- Cac che o hoat ong khac nhau cua port noi tiep c lap trnh thong qua thanh ghi ieu
khien port noi tiep SCON (Serial Control) a ch 98H. ay la thanh ghi c nh a ch
tng bit.
9. Cac thanh ghi ngat (Interrupt)
- 8051 co 5 nguon ngat, 2 mc u tien ngat.
- Cac ngat b cam sau khi reset he thong va se c cho phep bang cach lap trnh cho thanh
ghi cho phep ngat IE (Interrupt Enable) a ch A8H. ay la thanh ghi nh a ch tng bit.
-Viec xac lap che o u tien ngat c lap trnh thong qua thanh ghi u tien ngat IP
(Interrupt Priority).
10. Thanh ghi ieu khien nguon PCON (Power Control)
- Khong c nh a ch tng bit.
- Cha cac bit ieu khien nh sau:

SMOD - - - GF1 GF0 PD IDL

+ SMOD:bit tang gap oi toc o baud cua port noi tiep neu c at (SMOD = 1).
+ GF1, GF0: cac bit c a dung.
+ PD: thiet lap che o nguon giam khi c at, ch thoat khi reset.
+ IDL: thiet lap che o nguon ngh khi c at, ch thoat neu co ngat hoac reset.
Che o nguon giam (PD =1): can c 2V
+ Mach dao ong tren chip ngng hoat ong.
+ Moi chc nang ngng hoat ong.
+ Noi dung cac RAM tren chip c duy tr.
+ Cac chan port c duy tr mc logic cua chung.
+ ALE va PSEN c gi mc thap.
Che o ngh (IDL = 1)
+ Tn hieu clock noi khoa khong cho en CPU nhng khong khoa oi vi cac chc
nang ngat, nh thi va port noi tiep.
+ Noi dung cua tat ca cac thanh ghi c duy tr.
+ ALE va PSEN c gi mc cao.
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 11
VII. BO NH NGOAI
- 8051 co kha nang m rong bo nh len en 64K bo nh chng trnh ngoai va 64K bo nh d
lieu ngoai. Do o co the dung them ROM, RAM va cac IC giao tiep ngoai vi nh 74573, 74244,
74245 neu can.
- Khi dung bo ng ngoai, port 0 c don kenh gia bus a ch (A0 A7) va bus d lieu (D0
D7), port 2 thng dung lam byte cao cua bus a ch (A8 A15).
- Ngo ra ALE chot byte thap cua a ch moi na au chu ky bo nh (na sau chu ky bo nh
port 0 c dung lam bus d lieu).
Hnh 2.9
1. Truy xuat bo nh chng trnh ngoai
- Tn hieu EA c tch cc ( EA = 0).
- Tn hieu PSEN noi vi OE e cho phep oc bo nh chng trnh ngoai.
V du: Ket noi phan cng 8051 vi bo nh ngoai EPROM 64K nh sau:
Hnh 2.10
- Trong mot chu ky may ien hnh, ALE co 2 xung va do o co the oc 2 byte cua lenh t bo
nh chng trnh (neu lenh ch co 1 byte th byte th hai c loai bo).
Gian o thi gian cua chu ky tm-nap lenh bo nh chng trnh ngoai nh sau:

Hnh 2.11
A8 A15
A0 A7 D0 D7
Port 2
Port 0
1 chu ky bo nh
74HC373
A7 - A0
A15 - A8
D Q
G ALE
2 Port
EA
0 Port
PSEN OE
EPROM
D7 - D0
8051
CS
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 12
2. Truy xuat bo nh d lieu ngoai
- Cho phep oc/ghi bi cac tn hieu RD/ WR .
- Lenh dung e truy xuat bo nh d lieu ngoai la MOVX, s dung DPTR hay R0/R1 e
cha a ch d lieu.
- RAM ngoai co the giao tiep vi 8051 theo cung cach nh EPROM ngoai tr ng RD noi
vi ng cho phep xuat OE va ng WR noi vi ng ghi WR cua RAM.
- Trong trng hp ch co mot lng nho bo nh d lieu ngoai (khong co bo nh chng
trnh ngoai) co the dung a ch 8 bit e tao trang bo nh 256 byte.
V du: Giao tiep gia 8051 va RAM 1K ngoai c ket noi nh sau:
Hnh 2.12
Gian o thi gian cua chu ky oc va ghi bo nh d lieu ngoai nh sau:

Hnh 2.13

Hnh 2.14
A7 - A0
D
Q
G
74HC373
D7 - D0
ALE
EA
0 Port
P2.0
PSEN
CS
(1KB) RAM 8051
P2.1
WR
RD
WR
OE
A8
A9
NC
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 13
3. Giai ma a ch
Hnh 2.15
- c dung trong trng hp can phai giao tiep nhieu ROM va/hoac nhieu RAM. Do cac
chip cung noi vao bus d lieu cua vi ieu khien nen can co mach giai ma e am bao tai
moi thi iem ch co mot chip c chon noi vi bus d lieu, cac chip khac xem nh h
mach.
- Mot IC giai ma ien hnh la 74138 (giai ma 3 8).
4. Xep chong khong gian bo nh chng trnh va d lieu
- Dung RAM va lam bo nh chng trnh va lam bo nh d lieu.
- Mach trnh bay hnh sau cho phep RAM c ghi nh la bo nh d lieu va c oc nh
la bo nh chng trnh hoac d lieu. Do o mot chng trnh co the c nap vao RAM
(bang cach ghi vao RAM nh bo nh d lieu) va c thc thi (bang cach truy xuat nh bo
nh chng trnh).
V PSEN c dung e oc bo nh chng trnh va RD c dung e oc bo nh d lieu
nen mot RAM co the dung lam khong gian nh chng trnh va d lieu bang cach noi chan
OE ti ngo ra cong AND co cac ngo vao la PSEN va RD.
VIII. HOAT ONG RESET
- 8051 c reset bang cach gi chan RST mc cao toi thieu 2 chu ky may va sau o chuyen
ve mc thap.
- Bang trang thai cac thanh ghi sau khi reset:
Thanh ghi Noi dung
Bo em chng trnh PC 0000H
Thanh ghi tch luy A 00H
Thanh ghi B 00H
RAM
PSEN
RD
WR
OE
WR
Hnh 2.16
Bus d lieu
Bus a ch
A0-A12
D0-D7
A0-A12
2764
EPROM
(8KB)
CS
OE
D0-D7
A0-A12
6264
RAM
(8KB)
WR
CS
OE
A14
74LS138
A
B
C
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G1
G2A
G2B
CS
A15
VCC
A13
0
A0-A12
CS
CS CS
/WR
/RD /PSEN
Chon cac
EPROM/RAM
khac
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 14
T trang thai chng trnh PSW 00H
Con tro stack SP 07H
Con tro d lieu DPTR 0000H
Port 0 3 FFH
Thanh ghi u tien ngat IP xxx00000B (8031/8051)
xx000000B (8032/8052)
Thanh ghi cho phep ngat IE 0xx00000B (8031/8051)
0x000000B (8032/8052)
Cac thanh ghi nh thi 00H
Thanh ghi ieu khien noi tiep SCON 00H
Bo em d lieu noi tiep SBUF 00H
Thanh ghi ieu khien nguon PCON (HMOS)
(CMOS)
0xxxxxxxB
0xxx0000B
Bang 2.4: Trang thai cac thanh ghi sau khi reset.
- Mach reset tieu bieu:
IX. CAC CAI TIEN CUA 8032/8052
Cac vi mach 8032/8052 co hai cai tien so vi 8031/8051. Mot la co them 128 byte RAM tren
chip. Cac a ch nay trung vi cac thanh ghi chc nang ac biet, tuy nhien khong xay ra
xung ot v cac byte RAM nay ch co the truy xuat bang cach dung kieu nh a ch gian
tiep.
V du:
MOV A,0F0H ; chep noi dung thanh ghi B vao thanh ghi A
MOV R0,#0F0H
MOV A,@R0 ; chep noi dung tai a ch RAM la F0H vao thanh ghi A
Cai tien th hai la co them mot bo nh thi 16-bit. Bo nh thi 2 nay c lap trnh nh
vao 5 thanh ghi chc nang ac biet them vao.
Thanh ghi a ch Mo ta a ch bit
T2CON C8H ieu khien Co
RCAP2L CAH Nhan byte thap Khong
RCAP2H CBH Nhan byte cao Khong
TL2 CCH Byte thap cua timer 2 Khong
TH2 CDH Byte cao cua timer 2 Khong
Bang 2.5: Cac thanh ghi cua bo nh thi 2.
+5V
8.2K
Reset
100
0
+
10uF
RST
a/ Tac ong bang tay
+
10uF
+5V
RST
8.2K
0
b/ Tac ong khi m nguon
Hnh 2.17
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 15

CAU HOI VA BAI TAP CHNG 2

2.1. Gia tr cua con tro stack (SP) cua 8051 ngay sau khi khi ong he thong la bao nhieu?
Vung stack bat au t au?
2.2. Mo ta cach e chon bank thanh ghi tch cc la bank 3?
2.3. Neu tan so dao ong thach anh cap cho 8051 la 4MHz th thi gian cua mot chu ky may
(T
M
) la bao nhieu?
2.4. Neu tan so dao ong thach anh cap cho 8051 la 10MHz th tan so cua tn hieu tren chan
ALE la bao nhieu (neu khong dung lenh MOVX)?
2.5. Neu tan so dao ong thach anh cap cho 8051 la 8MHz th thi gian toi thieu ma chan
RST phai mc cao la bao nhieu e tao tn hieu reset he thong?
2.6. Ke ten cac tn hieu ieu khien cua 8051 c dung e truy xuat EPROM ngoai va RAM
ngoai.
2.7. a ch bit cua bit MSB tai a ch byte 25H trong RAM noi cua 8051 la g?
2.8. Neu s khac nhau gia che o nguon ngh va che o nguon giam cua 8051?
2.9. Xac nh bang phan vung a ch cho moi chip nh trong he thong sau (ghi ro a ch bat
au va a ch ket thuc) :
1 ROM 16 KB bat au t a ch 0000H
2 RAM 8 KB bat au t a ch 4000H
2 ROM 4 KB bat au t a ch 8000H
4 RAM 2 KB bat au t a ch A000H
8 RAM 1 KB bat au t a ch C000H
2.10. Xac nh bang phan vung a ch cho cac tn hieu chon chip ( CSx ) ng vi cac mach
giai ma a ch sau :
2.11. Thiet ke kit 8031 vi 1 chip ROM chng trnh ngoai 8 KB va 2 chip RAM d lieu ngoai
8KB:
Ve s o mach giai ma a ch tao tn hieu chon chip (tch cc mc thap) va bang
phan vung a ch tng ng.
Ve s o ket noi hoan chnh cua kit tren.
2.12. Thiet ke kit 8051 vi 4 chip RAM 16KB:
0 CS
CS1
CS2
CS3
CS4
CS5
CS6
CS7
A10
A11
A12
A15
A14
A13
74LS138
1
2
3
15
14
13
12
11
10
9
7
6
4
5
A
B
C
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
G1
G2A
G2B
U1
Hnh a
7ol qlooq 79 7 1[ Chacoq z: (hoo eaoq hc C3s1
http://www.ebook.edu.vn 16
Ve s o mach giai ma a ch tao tn hieu chon chip (tch cc mc thap) va bang
phan vung a ch tng ng.
Ve s o ket noi hoan chnh cua kit tren.
2.13. Thiet ke kit 8031 vi 1 chip ROM chng trnh ngoai 8 KB, 2 chip RAM 8 KB, 2 I/O
xuat (2 IC 74373) va 1 I/O nhap (IC 74244):
Ve s o mach giai ma a ch tao tn hieu chon chip (tch cc mc thap) va bang
phan vung a ch tng ng.
Ve s o ket noi hoan chnh cua kit tren.
S o chan va bang hoat ong tng ng cua cac IC 74244 va 74373:



2.14. Thiet ke mach giai ma va xac nh bang phan vung a ch cho bo nh gom: 2 ROM 2
KB, 1 ROM 4 KB va 1 RAM 8 KB.
2.15. Thiet ke mach giai ma a ch tao tn hieu chon chip (tch cc mc thap) cho cac bo nh
RAM theo bang phan vung a ch:

Tn hieu chon chip Vung a ch
CS0
0000H 0FFFH
CS1
1000H 2FFFH
CS2
3000H 6FFFH
CS3
7000H EFFFH

2.16. S dung IC 74138 va cac cong logic can thiet e thiet ke mach giai ma a ch tao tn
hieu chon chip (tch cc mc thap) theo bang phan vung a ch sau (khong quan tam en ac
tnh truy xuat):
Tn hieu chon chip Vung a ch
CS0
F000H F3FFH
CS1
F400H F7FFH
CS2
F800H FBFFH
CS3
FC00H FFFFH

You might also like