Professional Documents
Culture Documents
Tóm Tắt Phần Cứng
Tóm Tắt Phần Cứng
TM TT PHN CNG
2.1 TNG QUT
MCS-51 l h vi iu khin ca Intel. Cc nh sn xut IC khc nh Siemens,
Advanced Micro Devices, Fujitsu v Philips c cp php lm cc nh cung cp
th hai cho cc chip ca h MCS-51.
Chng ny gii thiu v cu trc phn cng ca h MCS-51. Tham kho k
thut ca Intel cho cc chip ca h MCS-51 c tm thy ph lc E. Ta cn bit
thm nhiu chi tit trong ph lc ny, th d nh cc c tnh in chng hn.
Nhiu c trng phn cng c minh ha bng cc chui lnh ngn, cc m t
vn tt cng c cung cp cho tng th d cn cc chi tit y ca tp lnh
c dnh li cho chng 3. Ta c th tham kho ph lc A ( tm tt tp lnh ca
8051 ) v ph lc c ( cc nh ngha cho tng lnh ca 8051 ).
Vi mch tng qut ca h MCS-51 l chip 8051, linh kin u tin ca h ny
c a ra th trng. Chip 8051 c cc c trng c tm tt nh sau :
-
4KB ROM
128 byte RAM. ^
4 port xut nhp ( I/O port ) 8-bit. \/ 2 b nh thi
16-bit. v'x Mch giao tip ni tip. ^
XU 1 UiCU 1V111C11
Chip
8051
8031
0K
128 byte
8751
4 KEPROM
128 byte
8052
8 K ROM
256 byte
8032
0K
256 byte
8752
8 K EPROM
256 byte
Bng 2.1 : So snh cc chip ca h MCS-l
20
H vi iu khin 8051
Tn
RxD
a ch bit
BOH
Chc nng
Chn nhn d liu ca port ni tip
P3.1
TxD
B1H
P3.2
INTO
B2H
Ng vo ngt ngoi 0
P3.j?
INT1
B3H
Ng vo ngt ngoi 1
P3.4
TO
B4H
Ng vo ca b nh thi/m 0
P3.5
TI
B5H
Ng vo ca b nh thi/m 1
P3.6
WR
B6H
P3.7
RD
B7H
Pl.o
T2
90H
Ng vo ca b nh thi/m 2
Pl.l
T2EX
91H
22
H vi iu khin 8051
23 j
Hnh 2.3 8051 ghp vi mch dao ng TTL bn ngoi TTL oscillator : mch dao ng
TTL
Write _
to latch
S) 24
H vi iu khin 8051
(b) vng stack thng tr t.ronp RAM trn chip ( RAM ni ) thay v
trong RAM ngoi nh i vi cc b vi x l.
Hnh 2.5 tm tt cc khng gian nh cho chip 8031 khng c ROM ni, khng
trnh by chi tit v b nh d liu trn chip ( cc ci t.in ca 8032/8052 s c
tm tt. sau ).
Hnh 2.6 cho ta chi tit cua b nh d liu t.rn chip. Ta thy rng khng gian
nh ni ny c chia thnh : cc dy thanh ghi ( 00H 4- 1FH ), vng RAM nh
a chi bit ( 20H -- 2FH ), vng RAM a mc ch ( 30H -T 7FH ) v cc thanh
ghi chc nng c bit ( 80H -T FFH ).
FFF
F
Code
F F Ft
memory
memory
enabled
enabled
via PSEN
via RD
0000
Hnh 2.5 :
TIII tt cc
khng gian
nh' ca chip
On-chip
memory
00
00
Data
Extern
nl
memory
8031
On-chip memory : b nh trn chip
External memory : b nh' ngoi
Code memory : b nh' chng trnh ( m )
Enabled via FSHN : c cho php bi PSlN Data memory :
b nh d liu
Enabled via RD and WR : c cho php bi Rl) v WR
and WR
26
H vi iu khin 8051
By
address
Le
7F
addres
s FF
FO
3 by Ui
F7|p6|FSF4|F3|F2|FlF
7|E6|E5|B4|E3|E2[E1|
purpose
RAM
D7|DG|5|D4|D3|D2|DI|
30
BC|BD|BA|
2F
7F 7E 7D 7D 7B 7A 79 78
2E
77 76 75 74 73 72 71 70
2D
6F 6E 6D ec 6B 6A
2C
67
66
65
64
63
62
61
60
2B
5F
5E
5D
5C
5B
5A 59
58
.2
2A
57
56
55
54
53
52
51
50
29
4F
4E
4D
4c
4B
4A 49
48
4>
28
47
46
45
44
43
42
41
40
27
3F
3E
3D
3C
3B
3A 39
38
'U
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
IF
IE
ID
1C
IB
1A 19
18
22
17
16
15
14
13
12
11
10
21
OF
OD
0c
OB
A 09
08
20
07
06
05
04
03
02
00
' IF 18
byte < 17
01
Bank^
Bank 1
00
- I - AC |AB|AA|A )8
A7|A6|A5|A4|A3|A2|AI|
99
98
SBUP
SCON
9F 9E 9D 9C 9B 9A 99 98
97|96|95|94|93|92|>l|9Q
8D
THl
8C
THO
TLl
8A
TLO
89
TMOD
8B
87
83
08
07
AF |
88
Bank 2
l
OF
B7 B6 B5 B4 B3 B2 Bl BO
69
8F 8E 8D 8C 8B8A 89
TCON
PCON
DPH
82
Defau register bank for
R0-R7
61
not
bit
addressable
addressable
not
bit
DPL
SP
86 H5 B4183| PO
SPECIAL FUNCTION REGISTERS
s2siso
80
87
ham chiu hnh 2.6 ta thy bit a ch 67H l bit c ngha ln nnat ca
bte a chi 2CH. Lnh va nu trn khng nh hng n cc bit khc
trong byte ny. Hu ht cc b vi x l mun thc hin Lc nh trn phi dng cc
lnh c dng tng t nh sau :
MOV A, 2CH ;
c c byte
ORL A, #10000000B
;set bit cd ngha ln
MOV 2CH, A ;
ghi tr li c byte
nht
28
Ho vi iu khin 8051
2.4.3 Cc dy thanh ghi
32 v tr thp nht ca b nh ni cha cc'dy thanh ghi. Cc lnh cua 8051 h
tr 8 t.hanh ghi t RO n R7 thuc dy 0 ( bank 0 ). y l dy mc nh sau khi
rcsctAi thHBL Cc thanh ghi ny cc a chi t 00H n 07H. Lnh sau y c
ni dung ti a ch 05H vo thanh cT"
MOV A, R
Lnh ny l lnh 1-byte dng kiu-Lati ia chi thanh ghi. D nhin thao tc
tng t. c th c thc hin vi 1 lnh 2-byte bng cch (mg kiu nh ia chi
trc tip :
MC) OH
Cc lnh s dng cc thanh ghi t RO n R7 l cc lnh ngn v thc hin
nhanh hn so vi cc lnh tng ng s dng kiu nh a ch trc tip. Cc gi
tr d liu thng c s dng nn cha mt trong cc thanh ghi ny. Dy tha nh
ghi ang c s dng c goi l dy thanh ghi tch cc. Dy thanh ghi tch cc
c th thav Vbng carjxjjiay doi cc bii cbB-dy-trQHg: t trang thi
chng trnh PSW ( s cp sau ). Gi s rng dy t.hanh ghi 3 ( bank 3 ) tch cc,
lnh sau dy ghi ni dung ca thanh cha A vo v tr 18H :
MOV RO, A
Y tng cc dy thanh ghi" cho php chuyn i ng cnh nhanh v c hiu
qua nhng ni m cc phn ring r ca phn mm s dng mt tp thanh ghi
ring, c lp vi cc phn khc ca phn mm.
2.5 CC THANH GHI CHC NNG C BIT ( SFR )
Cc t.hanh ghi ni ca hu ht cc b vi x l u c tr u_v xut r ninaMi
mt tp.lnh. Th d lnh INCA ca chip 6809 tng ni dung cua thnh cha A bi
1. Thao tc c xc nh r rng trong opcode ca lnh. Vic truy xut cc thanh
ghi cig c s dng trn 8051. Lnh INC A thc-hin cng cng vic trn.
Cc thanh ghi ni ca 8051 c cu hnh thnh mt phn ca RAM trn chip,
do vy mi mt thanh ghi cng c mt a ch. iu ny hp l vi 8051 v chip
ny c rt nhiu thanh ghi. Cng nh cc thanh ghi t RO n R7, ta c 21 thanh
ghi chc nng c bit SFR chim phn
trn ca RAM ni t a ch 80H n FFH ( xem hnh 2.6 ).
*" " : -------------------------------------- : 1
Lu l khng phi tt c 128 a ch t 80h n FFH u c
nh ngha m ch c 21 a ch c nh ngha [ 26 trn 8032/8052 ].
K hiu a ch
PSW.7
CY
D7H
PSW.6 AC
PSW. 5.
PSW.4 RS1
PSW.3 RSO
M t bit
F0
C nh
D6H
C nh ph
D5H
C 0
D4H
Chn dy thanh
ghi ( bit 1 )
Chn dy thanh
ghi ( bit 0 )
D3H
PSW.1
PSW.0 p
C trn
D1H
D tr
DOH
S) 30
H vi iu khin 8051
n/ C nh ph
Khi cng cc gi tr BCD, c nh ph AC ( auxiliary carry flag ) c set hang
1 nu c mt s nh c to ra t bit 3 chuyn sang bit 4 hoc 11PU kt qua trong
-ct thp nm trong tm t OAH n 0FH. Nu cc gi tr c cng l gi tr
BCD, lnh cng phi c tip theo bi lnh DA A ( hiu chinh thp phn thanh
cha A ) a cc kt qu ln hon 9 v gi tr ng.
C 0
y l c c nhiu mc ch dnh cho cc ng dng ca ngi lp trinh.
Cc bit chn dy thanh ghi
Cr bit chn dy thanh ghi RSO, RS1 dng xc nh dy thanh ghi tch cc.
Cc bit ny c xa sau khi c thao t.c reset h thng v di mc logic bi phn
mm khi cn. Th d ba lnh sau cho php dy thanh ghi 3 ( banjc 3 ) tch cc, sau
di chuyn ni dung ca R7 ( a chi byte 1FH ) vo thanh cha A :
SETB RS1
SETB RSO
MOV A, R7
'
Khi on chng trnh trn c dch, cc a ch bit. s thay th
/ cho cc k hiu RSO v RS1, vy th lnh SETB RS1 tng ng vi / lnh SETB
0D4H.
OF
S thp phn :
15
+ ZE
+127
8E
142
1132
H vi iu khin 8051
a ch gin tip. Vng RAM ni c 128 byte trn 8031/8051 hoc 256 byte trn
8032/8052; nu ta khi ng SP bt u vng stack a ch 60H bng lnh :
MOV SP, #5FH
vng stack c gii hn l 32 byte trn 8031/8051 v a ch cao nht ca RAM trn
chip l 7FH. Gi tr 5FH c dng y v SP tng ln 60H trc khi thao tc ct vo
stack u tin c thc thi.
Nu ta khng khi ng SP, ni dung mc nh ca thanh ghi ny l 07H nhm duy
tr s tng thch vi 8048, b vi iu khin tin nhim ca 8051. Kt qu l thao tc
ct vo stack u tin s lu d liu vo v tr nh c a ch 08H. Nh vy nu phn
mm ng dng khng khi ng SP, dy thanh ghi 1 ( v c l 2 v '3 ) khng cn hp
l v vng ny c s dng lm stack. Cc lnh PUSH v POP s ct d liu vo stack
v ly d liu t stack, cc lnh gi chng trnh con ( ACALL, LCALL ) v lnh tr
v ( RET, RETI ) cng ct v phc hi ni dung ca b m chng trnh PC ( program
counter ).
2.5.4 Con tr d liu DPTR
Con tr d liu DPTR ( data pointer ) c dng truy xut b nh chng trnh
ngoi hoc b nh d liu ngoi. DPTR l 1 thanh ghi 16- bit c a ch l 82H ( DPL,
byte thp ) v 83H ( DPH, byte cao ). Ba lnh sau y ghi 55H vo RAM ngoi a
cii 1000H :
MOV A, #55H ' 1
MOV DPTR, #1000H
MOV @DPTR, A
Lnh u tin s dng kiu nh a ch tc thi nap hng d liu 55H
vfl_thanh cha A. Lnh th hai cng s dng kiu nh a ch tc thi, ln ny np
hng a ch 16-bit 1000H cho con tr d liu DPTR. Lnh th ba s dng kiu nh
a ch gin tip di chuyn gi tr 55H cha trong thanh cha A n RAM ngoi ti a
ch cha trong DPTR ( 1000H).
'~"
2.5.5 Cc thanh ghi port
Cc port xut nhp ca 8051 bao gm port 0 tai a ch 80H, port 1 ti a ch 90H,
port 2 ti a ch AOH v port 3 ti a ch BOH. Cc port 0, 2 v 3 khng c dng
xut/nhp nu ta s dng thm b nh ngoi hoc nu c mt s' c tnh c bit
ca 8051 c s dng ( nh l ngt, port ni tip, ... ). P1.2 n P1.7, ngc li, lun
lun l cc ng xut/nhp a mc ch hp l.
Tt c port u c inh ia ch tng hit, nhm cung cp cc kh nng giao tip
manh. Th d ta c mt ng c ni qua mt cun dy v "iH mch kch ng
transistor ni ti bit 7 ca port 1, ng c c th ngng hay chy ch nh vo mt lnh
n ca 8051 :
SETB P1.7 lm ng c
chy v
CLR Pl.7 lm ng c
ngng.
Cc lnh trn s dng ton t . ( dot ) nh a ch 1 bit trong 1 byte, cho php
nh a ch tng bit.
Trnh dch hp ng thc hin bin i dng k hiu thnh a ch thc t, ngha l
hai lnh sau tng ng :
CLR P1.7
CLR 97H
Vic s dng cc k hiu c nh ngha trc ( tin nh ngha ) ca trnh dch
hp ng s c tho lun chi tit trong cc ti liu v lp trnh hp ng trn h MCS51 hoc chng 7.
Th d sau y kho st vic giao tip vi 1 thit b c bit trng thi gi l BUSY,
bit ny c set bng 1 khi thit b ang bn v c xa khi thit b sn sng. Nu
BUSY c ni vi bit 5 ca Port 1, vng lp sau y c dng ch cho n khi
thit b sn sng :
WAIT: JB P1.5, WAIT
Lnh trn c ngha l nu bit P1.5 c set, nhy n nhn WAIT ( cng c ngha l
nhy v v kim tra ln na ).
2.5.6 Cc thanh ghi nh thi
8051 e 2 b m/nh thi ( timer/counter ) 16-bit nh cc khong thi gian
hoc m cc s kin. B nh thi 0 c a ch 8H ( TLO, byte thp ) v 8CH
( THO, byte cao ); b nh thi 1 c a ch 8BH ( TL1, byte thp ) v 8DH ( THI, byte
cao ).
Hot ng ca b nh thi c thit lp bi thanh ghi ch nh thi TMOD (
timer mode register ) ia ch 89H v thanh ghi iu khin nh thi TCON ( timer
control register ) a ch 88H. Ch c TCON c nh a ch tng bit. '
Cc b nh thi s c tho lun chi tit sau.
2.5.7 Cc thanh ghi ca porljii-fci#p
Bn trong 8051 c mt port ni tip truyn thng vi cc thit b ni tip nh
cc thit b u cui hoc modem, hoc giao tip vi cc IC khc c mch giao tip
ni tip ( nh cc thanh ghi dch chng hn ). Mt thanh ghi c gi l b m d liu
ni tip SBUF ( serial data buffer ) a ch 99H lu gi d liu truyn i v d liu
nhn v. Vic ghi ln SBUF s np d liu truyn v vic c SBUF s ly d liu
nhn c.
Cc ch hot ng khc nhau c lp trnh thng qua thanh ghi iu khin port
ni tip SCON ( serial port control register ) a chi 98H, thanh ghi ny c
H vi iu khin 8051
Bit SMOD tng gp i tc baud cua port ni tip khi port ny lio;it ng cc
ch 1. 2 hoc 3. Cc bit 4. 5 v () CIK1 PCON khng c nh ngha. Cc bit. 2 v
3 l cc bit c da niU' dch dnh cho cc ng dng cua ngi s dng.
\Cc bit iu khin ngun, nguii giam PD v nghi IDL, hp l trong tt ra'eAip
thuc h MCS-51, nhng ch c hin thc trong cc phin ban CMOS ca MCS-51.
PCON khng c nh a ch bit,.
Ch ngun gim
Lnh thit lp bit PD bng 1 s l lnh sau cng c thc thi trc khi i vo ch
ngun gim. ch ngun gim :
(1) mch dao ng trn chip ngng hot ng
35 g
K hiu M t
SMOD
tng gp i tc baud, bit ny khi set lm cho
tc baud tng 2 cc ch 1, 2 v 3 ca port ni tip
Khng nh ngha
Khng nh ngha
Khng nh ngha
GF1
Bit c' a mc ch 1
GFO
PD
Bit c' a mc ch 2
Ngun gim; thit lp tch cc ch ngun gi 111,
ch ra khi ch bng reset.
1
Q
IDL
S) 36
H vi iu khin 8051
2.6 B NH NGOI
Cc b vi iu khin cn c kh nng m rng cc ti nguyn trn chip ( b nh,
I/O, v.v... trnh hin tng c chai trong thit k. Cu trc ca MCS-51 cho ta kh
nng m rng khng gian b nh chng trnh n 64K v khng gian b nh d liu
n 64K. ROM v RAM
Iigoi c thm vo khi' cn.
A0-A15
D0-D7
Address
Data
A8-A15
Address
Data
37 g
S) 38
H vi iu khin 8051
H vi iu khin 8051
ALE
PSEN
Port 2
Port
PCH
T---------------------1---- I-----------------------r
I
I
i
I
I.1.__________________________________I
i
I
|__
__________________________________I
SI S2 S3 S4 S5 S6 SI S2 S3 S4 S5 S6
Port 0
S) 40
H vi iu khin 8051
42
H vi iu khin 8051
RAM nh l b nh d liu ) v c thc thi (bng cch truy xut nh b nh chng trnh
).
PSEN
128
bvtes
80
H
7FH
and indirect
function
addressing
registers
Lower
128
80
H
byt.es
00
H
43 g
S) 44
H vi iu khin 8051
CAH
RCAP2H
CBH
Nhn byte cao
TL2
CCH
Byte thp ca b nh thi 2
TH2
CDH
Byte cao ca b nh thi 2
Bng 2.5 : Cc thanh ghi ca b nh thi 2
Khng
Khng
Khng
Khng
Ni dung
B m chng trnh
0000H
Thanh cha A
00H
Thanh ghi B
00H
PSW
00H
SP
DPTR Port 0-3 IP
IE
Cc thanh ghi nh thi
SCON
SBUF
PC ON ( HMOS )
PC ON ( CMOS ) 07H
0000H
FFH
xxxOOOOOB
( 8031/8051 )
xxOOOOOOB
( 8032/8052 )
OxxOOOOOB
( 8031/8051 )
OxOOOOOOB
( 8032/8052 )
OOH
OOH
OOH
OxxxxxxxB
OxxxOOOOB
45 g
S) 46
H vi iu khin 8051
+5 V
+5 V
RST
== Of.iF
RST
2K
Hnh 2.15 : Hai mch dng reset h thng (a) reset bng tay (b) reset khi cp
ngun
Reset : nt nht reset Manual reset : reset bng tay Power-on reset : reset khi cp
ngun