Giáo trình Vi điu khin Tng quan v vi điu khin MCS-51
Phm Hùng Kim Khánh Trang 1
Chương 1: TNG QUAN V VI ĐIU
KHIN MCS-51
Chương này gii thiu tng quan v h vi điu khin MCS-51(ch yếu trên
AT89C51): cu trúc phn cng, sơ đồ chân, các thanh ghi, đặc tính lp trình và các
đặc tính v đin.
1. Gii thiu
H vi điu khin MCS-51 do Intel sn xut đầu tiên vào năm 1980 là các IC
thiết kế cho các ng dng hướng điu khin. Các IC này chính là mt h thng vi x
lý hoàn chnh bao gm các các thành phn ca h vi x lý: CPU, b nh, các mch
giao tiếp, điu khin ngt.
MCS-51 là h vi điu khin s dng cơ chế CISC (Complex Instruction Set
Computer), có độ dài và thi gian thc thi ca các lnh khác nhau. Tp lnh cung cp
cho MCS-51 có các lnh dùng cho điu khin xut / nhp tác động đến tng bit.
MCS-51 bao gm nhiu vi điu khin khác nhau, b vi điu khin đầu tiên là
8051 có 4KB ROM, 128 byte RAM và 8031, không có ROM ni, phi s dng b
nh ngoài. Sau này, các nhà sn xut khác như Siemens, Fujitsu, … cũng được cp
phép làm nhà cung cp th hai.
MCS-51 bao gm nhiu phiên bn khác nhau, mi phiên bn sau tăng thêm
mt s thanh ghi điu khin hot động ca MCS-51.
2. Vi điu khin AT89C51
AT89C51 là vi điu khin do Atmel sn xut, chế to theo công ngh CMOS
có các đặc tính như sau:
- 4 KB PEROM (Flash Programmable and Erasable Read Only Memory), có kh
năng ti 1000 chu k ghi xoá
- Tn s hot động t: 0Hz đến 24 MHz
- 3 mc khóa b nh lp trình
- 128 Byte RAM ni.
- 4 Port xut /nhp I/O 8 bit.
- 2 b Timer/counter 16 Bit.
- 6 ngun ngt.
- Giao tiếp ni tiếp điu khin bng phn cng.
- 64 KB vùng nh mã ngoài
- 64 KB vùng nh d liu ngoài.
- Cho phép x lý bit.
- 210 v trí nh có th định v bit.
- 4 chu k máy (4 µs đối vi thch anh 12MHz) cho hot động nhân hoc chia.
Giáo trình Vi điu khin Tng quan v vi điu khin MCS-51
Phm Hùng Kim Khánh Trang 2
- Có các chế độ ngh (Low-power Idle) và chế độ ngun gim (Power-down).
Ngoi ra, mt s IC khác ca h MCS-51 có thêm b định thi th 3 và 256
byte RAM ni.
2.1. Sơ đồ
Hình 1.1 – Sơ đồ khi ca AT89C51
P0.0 – P0.7 P2.0 P2.7
PORT0DRIVERS PORT2DRIVERS
RAM
RAMADDR
REGISTER
PORTO
LATCH
PORT2
LATCH ROM
ACC
B
REGISTER
TMP2
ALU
PSW
STACK
POINTER
PROGRAM
ADDRREGISTER
BUFFER
PC
INCREAMENTER
PROGRAM
COUNTER
DPTR
PCON
TMP1
SCON TMOD TCON
T2CON* TH0 TL0
TL1
TH1
TH2* TL2*RCAP2H*
RCAP2L* SBUF IEIP
IINTERRUPTSERIALPORTAND
TIMERBLOCKS
VCC
VSS
INSTRUCTION
REGISTER
TIMINGAND
CONTROL
PSEN
ALE
EA
RST
PORT1LATCH PORT3LATCH
OSC
PORT1
DRIVER
PORT3
DRIVER
XTAL2XTAL1
P1.0 – P1.7 P3.0 – P3.7
N
ote: * for Timer 2 only
Giáo trình Vi điu khin Tng quan v vi điu khin MCS-51
Phm Hùng Kim Khánh Trang 3
AT89C51 gm có 40 chân, mô t như sau:
Hình 1.2 – Sơ đồ chân ca AT89C51
Port 0:
Port 0 là port có 2 chc năng các chân 32 – 39 ca AT89C51:
- Chc năng IO (xut / nhp): dùng cho các thiết kế nh. Tuy nhiên, khi dùng
chc năng này thì Port 0 phi dùng thêm các đin tr kéo lên (pull-up), giá tr
ca đin tr ph thuc vào thành phn kết ni vi Port.
Khi dùng làm ngõ ra, Port 0 có th kéo được 8 ngõ TTL.
Khi dùng làm ngõ vào, Port 0 phi được set mc logic 1 trước đó.
- Chc năng địa ch / d liu đa hp: khi dùng các thiết kế ln, đòi hi phi s
dng b nh ngoài thì Port 0 va là bus d liu (8 bit) va là bus địa ch (8 bit
thp).
Ngoài ra khi lp trình cho AT89C51, Port 0 còn dùng để nhn mã khi lp trình
và xut mà khi kim tra (quá trình kim tra đòi hi phi có đin tr kéo lên).
RST
9
XTA L 2
18 XTA L 1
19
GND
20
PSEN 29
ALE/PROG 30
EA/VPP
31
VCC 40
P1.0
1
P1.1
2
P1.2
3
P1.3
4
P1.4
5
P1.5
6
P1.6
7
P1.7
8
P2.0/A8 21
P2.1/A9 22
P2.2/A10 23
P2.3/A11 24
P2.4/A12 25
P2.5/A13 26
P2.6/A14 27
P2.7/A15 28
P3.0/RXD 10
P3.1/TXD 11
P3.2/INT0 12
P3.3/INT1 13
P3.4/T0 14
P3.5/T1 15
P3.6/WR 16
P3.7/RD 17
P0.0/AD0
39
P0.1/AD1
38
P0.2/AD2
37
P0.3/AD3
36
P0.4/AD4
35
P0.5/AD5
34
P0.6/AD6
33
P0.7/AD7
32
AT89C51
Giáo trình Vi điu khin Tng quan v vi điu khin MCS-51
Phm Hùng Kim Khánh Trang 4
Port 1:
Port1 (chân 1 – 8) ch mt chc năng là IO, không dùng cho mc đích khác
(ch trong 8032/8052/8952 thì dùng thêm P1.0 và P1.1 cho b định thi th 3). Ti
Port 1 đã có đin tr kéo lên nên không cn thêm đin tr ngoài.
Port 1 có kh năng kéo được 4 ngõ TTL và còn dùng làm 8 bit địa ch thp
trong quá trình lp trình hay kim tra.
Khi dùng làm ngõ vào, Port 1 phi được set mc logic 1 trước đó.
Port 2:
Port 2 (chân 21 – 28) là port có 2 chc năng:
- Chc năng IO (xut / nhp): có kh năng kéo được 4 ngõ TTL.
- Chc năng địa ch: dùng làm 8 bit địa ch cao khi cn b nh ngoài có địa ch
16 bit. Khi đó, Port 2 không đưc dùng cho mc đích IO.
Khi dùng làm ngõ vào, Port 2 phi được set mc logic 1 trước đó.
Khi lp trình, Port 2 dùng làm 8 bit địa ch cao hay mt s tín hiu điu khin.
Port 3:
Port 3 (chân 10 – 17) là port có 2 chc năng:
- Chc năng IO: có kh năng kéo được 4 ngõ TTL.
Khi dùng làm ngõ vào, Port 3 phi được set mc logic 1 trước đó.
- Chc năng khác: mô t như bng 1.1
Bng 1.1: Chc năng các chân ca Port 3
Bit Tên Chc năng
P3.0 RxD Ngõ vào port ni tiếp
P3.1 TxD Ngõ ra port ni tiếp
P3.2 INT0 Ngt ngoài 0
P3.3 INT1 Ngt ngoài 1
P3.4 T0 Ngõ vào ca b định thi 0
P3.5 T1 Ngõ vào ca b định thi 1
P3.6 WR Tín hiu điu khin ghi d liu lên b nh ngoài.
P3.7 RD Tín hiu điu khin đọc t b nh d liu ngoài.
Giáo trình Vi điu khin Tng quan v vi điu khin MCS-51
Phm Hùng Kim Khánh Trang 5
Ngun:
Chân 40: VCC = 5V ± 20%
Chân 20: GND
PSEN (Program Store Enable):
PSEN (chân 29) cho phép đọc b nh chương trình m rng đối vi các ng
dng s dng ROM ngoài, thường được ni đến chân OC (Output Control) ca
ROM để đọc các byte mã lnh. PSEN s mc logic 0 trong thi gian AT89C51 ly
lnh.Trong quá trình này, PSEN s tích cc 2 ln trong 1 chu k máy.
Mã lnh ca chương trình được đọc t ROM thông qua bus d liu (Port0) và
bus địa ch (Port0 + Port2).
Khi 8951 thi hành chương trình trong ROM ni, PSEN s mc logic 1.
ALE/ PROG (Address Latch Enable / Program):
ALE/ PROG (chân 30) cho phép tách các đường địa ch và d liu ti Port 0
khi truy xut b nh ngoài. ALE thường ni vi chân Clock ca IC cht (74373,
74573).
Các xung tín hiu ALE có tc độ bng 1/6 ln tn s dao động trên chip và có
th được dùng làm tín hiu clock cho các phn khác ca h thng. Xung này có th
cm bng cách set bit 0 ca SFR ti địa ch 8Eh lên 1. Khi đó, ALE ch có tác dng
khi dùng lnh MOVX hay MOVC. Ngoài ra, chân này còn được dùng làm ngõ vào
xung lp trình cho ROM ni ( PROG ).
EA /VPP (External Access) :
EA (chân 31) dùng để cho phép thc thi chương trình t ROM ngoài. Khi ni
chân 31 vi Vcc, AT89C51 s thc thi chương trình t ROM ni (ti đa 8KB), ngược
li thì thc thi t ROM ngoài (ti đa 64KB).
Ngoài ra, chân EA được ly làm chân cp ngun 12V khi lp trình cho ROM.
RST (Reset):
RST (chân 9) cho phép reset AT89C51 khi ngõ vào tín hiu đưa lên mc 1
trong ít nht là 2 chu k máy.
X1,X2:
Ngõ vào và ngõ ra b dao động, khi s dng có th ch cn kết ni thêm thch
anh và các t như hình v trong sơ đồ. Tn s thch anh thường s dng cho
AT89C51 là 12Mhz.