Tải bản đầy đủ (.pdf) (18 trang)

Giới thiệu vi điều khiển họ MCS-51 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (256.96 KB, 18 trang )

MCS-51 - Architecture 1
Gii thiu VK h MCS-51
MCS-51 - Architecture 2
Plan
¸ Gii thiu h MCS-51
TM
¸
Kin trúc 8051
¸
Cu trúc cng I/O
¸
T chc b nh
¸
Các thanh ghi đc bit
¸
B nh ngoài
¸
Hot đng RESET
MCS-51 - Architecture 3
H MCS-51
TM
¸ Do hãng Intel phát trin đu tiên và đc nhiu hãng sn xut
linh kin phát trin theo
̈
Philip
̈
Atmel
̈ Siemens
̈
MCS-51 - Architecture 4
Feature 8051 8052 8031


ROM (program space in bytes) 4K 8K 0K
RAM (bytes) 128 256 128
Timers 2 3 2
I/O pins 32 32 32
Serial port 1 1 1
Interrupt sources 6 8 6
MCS-51 - Architecture 5
S đ khi
CPU
On-chip
RAM
On-chip
ROM for
program
code
4 I/O Ports
Timer 0
Serial
Port
OSC
Interrupt
Control
External interrupts
Timer 1
Timer/Counter
Bus
Control
TxD RxD
P0 P1 P2 P3
Address/Data

Counter
Inputs
MCS-51 - Architecture 6
S đ chân
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35

34
33
32
31
30
29
28
27
26
25
24
23
22
21
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
(RXD)P3.0
(TXD)P3.1
(T0)P3.4
(T1)P3.5
XTAL2
XTAL1
GND

(INT0)P3.2
(INT1)P3.3
(RD)P3.7
(WR)P3.6
Vcc
P0.0(AD0)
P0.1(AD1)
P0.2(AD2)
P0.3(AD3)
P0.4(AD4)
P0.5(AD5)
P0.6(AD6)
P0.7(AD7)
EA/VPP
ALE/PROG
PSEN
P2.7(A15)
P2.6(A14)
P2.5(A13)
P2.4(A12)
P2.3(A11)
P2.2(A10)
P2.1(A9)
P2.0(A8)
8051
(8031)
MCS-51 - Architecture 7
Cu trúc cng I/O
¸ Yêu cu:
̈ có kh nng giao tip vi các thit b ngoi vi khác

̈ s đ đn gin
̈ s chân IC ít đ tit kim trong khi làm mch in
¸ Các chân ca VK thng đc tích hp nhiu tính nng
̈
input
̈
output
̈ truyn tin
̈
ngt
̈ đng vào ADC
̈
¸ Các cng P0, P1, P2, P3 đu là các cng vào ra hai chiu
MCS-51 - Architecture 8
Cng P1
DQ
Clk Q
Vcc
Load(L1)
*
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
TB1

TB2
* Ti L1 ch có  các cng P1, P2, P3
MCS-51 - Architecture 9
Cng P0
DQ
Clk Q
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P0.X
pin
P1.X
TB1
TB2
Khi hot đng nh là mt cng I/O, P0 không có internal L1 å cn ni mt đin
tr pull-up bên ngoài
Khi hot đng nh là bus AD thì P0 li có internal pull-up
MCS-51 - Architecture 10
T chc b nh
¸ Kin trúc b nh ca 8051 là kin trúc Harvard
̈ không gian b nh chng trình và b nh d liu là tách ri
¸
8051 có các b nh trong
̈ b nh cha code lnh: ROM
̈
b nh cha d liu đc/ghi : RAM
¸

Có kh nng qun lý b nh code và data ngoài qua
̈ Bus data 8 bit AD0-AD7 (~ P0.0 và P0.7)
̈ Bus đa ch ti 16 bit
¸ AD0 – AD7
¸ A8 – A15 (~ P2.0 – P2.7)
̈ Bus điu khin PSEN, ALE, RD (P3.7), WR (P3.6)
MCS-51 - Architecture 11
¸ Ch s dng mt trong hai b nh code lnh
¸ Có th s dng đng thi b nh d liu trong (internal
RAM) và b nh d liu ngoài
MCS-51 - Architecture 12
Phân vùng internal RAM ca 8051
*
7FH
30H
2FH
20H
1FH
17H
10H
0FH
07H
08H
18H
00H
Register Bank 0
(Stack) Register Bank 1
Register Bank 2
Register Bank 3
Bit-Addressable RAM

RAM s dng bình thng
* internal RAM
8051 có 128 byte (00-7F)
8052 có 256 byte (00-FF)
MCS-51 - Architecture 13
Truy cp internal RAM
¸ Truy cp trc tip (direct addressing mode)
mov A, 06H
¸ Truy cp gián tip (indirect addressing mode) thông qua
thanh ghi R0 và R1
mov R1,#06H
mov A, @R1
MCS-51 - Architecture 14
Vùng nh đánh đa ch theo bit
¸ 8051 có 210 v trí có th truy cp theo bit
̈ 128 bit nm ti vùng nh byte 20H đn 2F ca internal RAM
̈ s còn li là các thanh ghi đc bit
¸ 128 bit trong vùng nh RAM đc đánh đa ch t 00-7F
¸ S còn li đc đánh đa ch t 80 đn F7 (có mt s đa ch
bit b trng)
¸ Các bit này có th tác đng thông qua các lnh bit
̈ setb 00h
̈ thit lp bit 00 (~ vi bit LSB ca byte 20H)
MCS-51 - Architecture 15
Các bank thanh ghi
¸ 8051 có 4 bank thanh ghi
̈ mi bank có 8 thanh ghi 8 bits đc ký hiu R0 đn R7
̈ nm ti đa ch t 00 – 1F (8 x 4 = 32bytes)
¸ Vic la chn bank thanh ghi đc thc hin thông qua thanh
ghi PSW

¸ Các lnh s dng bank thanh ghi
̈ code lnh ngn hn
̈ tc đ nhanh hn
so vi các lnh tng đng s dng ch truy cp trc tip
hoc gián tip
MCS-51 - Architecture 16
Các thanh ghi chc nng đc bit (SFR)
¸ 8051 có mt tp (21) các thanh ghi đc bit
̈ phc v cho các hot đng tính toán ca ALU
̈ điu khin các module timer, truyn tin, port
̈ …
¸ Truy cp thanh ghi
̈ thông qua tên (A, B, PSW,…)
̈ thông qua đa ch vi mode truy cp TRC TIP
¸ Mt s thanh ghi truy cp đn tng bit
¸ a ch ca các thanh ghi này đc đánh t 80H đn FF tuy
nhiên ch có 21 ô đc s dng
MCS-51 - Architecture 17
MCS-51 - Architecture 18
Thanh ghi t trng thái PSW
CY AC F0 RS1 OVRS0 P
CYPSW.7Carry flag
ACPSW.6Auxiliary carry flag
PSW.5Available to the user for general purpose
RS1PSW.4Register Bank selector bit 1
RS0PSW.3Register Bank selector bit 0
OVPSW.2Overflow flag
PSW.1User define bit
PPSW.0Parity flag Set/Reset odd/even parity
RS1 RS0 Register Bank Address

0 0 0 00H-07H
0 1 1 08H-0FH
1 0 2 10H-17H
1 1 3 18H-1FH
MCS-51 - Architecture 19
Example:
MOV A,#38H
ADD A,#2FH
38 00111000
+2F +00101111

67 01100111
CY=0 AC=1 P=1
Example:
MOV A,#88H
ADD A,#93H
88 10001000
+93 +10010011

11B 00011011
CY=1 AC=0 P=0
Example:
MOV A,#9CH
ADD A,#64H
9C 10011100
+64 +01100100

100 00000000
CY=1 AC=1 P=0
MCS-51 - Architecture 20

Thanh ghi PCON
MCS-51 - Architecture 21
Idle mode
¸ Trong Idle mode
̈ Clock đn CPU là off, nhng vn cung cp cho Interrupt, Timer,
Serial function port
̈ Ni dung các thanh ghi SFRs và internal RAM đc gi nguyên.
̈ Các cng gi nguyên trng thái
̈ ALE và PSEN gimc cao
¸  thoát ra khi Idle mode có 2 cách
̈ S dng các ngt (INTx, Timer, UART), hoc
̈ S dng tín hiu Reset (ni dung các thanh ghi và RAM không thay
đi)
MCS-51 - Architecture 22
Power down mode
¸ Trong Power down mode
̈ On-chip oscillator off
̈ Các thanh ghi đc bit SFRs và internal RAM gi nguyên giá tr, các
cng cng gi nguyên giá tr
̈ ALE và PSEN gimc thp
¸  thoát ra khi Power down mode ch có 1 cách
̈ S dng tín hiu RESET
̈ Ni dung ca các thanh ghi SFRs b thay đi ging nh trong RESET
thông thng
̈ Ni dung ca internal RAM không bnh hng
MCS-51 - Architecture 23
Thanh ghi Stack Pointer
¸ c s dng đ truy cp b nh ngn xp
¸ Các lnh s dng SP:
̈ CALL

̈ RET
̈ RETI
̈ PUSH, POP
MCS-51 - Architecture 24
Thanh ghi cng
¸ 8051 có 4 cng P0, P1, P2, P3 tng ng có 4 thanh ghi điu
khin
¸ Thanh ghi cng có th truy cp đn tng bit
MCS-51 - Architecture 25
Các thanh ghi Timer
¸ Timer 0 : có 2 thanh ghi TH0 và TL0
¸ Timer 1: có 2 thanh ghi TH1 và TL1
¸ Ch đ hot đng ca các b timer đc điu khin thông qua
2 thanh ghi: TMOD (Timer Mode) và TCON (Timer Control)
MCS-51 - Architecture 26
Các thanh ghi cng ni tip
¸ 8051 có b truyn tin ni tip UART
¸ Thông tin nhn v đc ct trong thanh ghi SBUF
¸ Thông tin truyn đi đc ct trong thanh ghi SBUF
¸ Chú ý: mc dù tên ging nhau, nhng thc cht đây là 2
thanh ghi khác nhau. Do đóvic truyn và nhn có th hot
đng đc lp không nh hng đn nhau
¸ Ch đ hot đng ca truyn tin ni tip đc xác đnh thông
qua thanh ghi SCON
MCS-51 - Architecture 27
Các thanh ghi ngt
¸ 8051 có 5 ngun ngt và 2 mc u tiên
¸ Vic cho phép hoc cm các ngun ngt đc xác đnh thông
thanh ghi IE
¸ Mc u tiên ca ngun ngt đc xác đnh thông qua thanh

ghi IP
MCS-51 - Architecture 28
B nh ngoài
¸ 8051 có th qun lý b nh ngoài
̈ 64 Kbytes code program
̈ 64 Kbytes data program
¸ Các tín hiu điu khin
̈ PSEN: đc b nh chng trình
̈ RD, WR: đc, ghi b nh data
¸ Data bus AD0-AD7
¸ Address bus AD0-AD7 (thp) A8-A15 (cao)
¸ S dng tín hiu ALE đ de-multiplex data/address trên
AD0-AD7
̈ ALE = 0 å cung cp data
̈ ALE = 1 å cung cp đa ch
MCS-51 - Architecture 29
B nh chng trình
D
74LS373
ALE
P0.0
P0.7
PSEN
A0
A7
D0
D7
P2.0
P2.7
A8

A15
OE
OC
EA
G
8051
ROM
MCS-51 - Architecture 30
D
74LS373
ALE
P0.0
P0.7
PSEN
A0
A7
D0
D7
P2.0
P2.7
A8
A12
OE
OC
EA
G
8051
ROM
1. Send address to
ROM

2. 74373 latches the
address and send to
ROM
Address
MCS-51 - Architecture 31
D
74LS373
ALE
P0.0
P0.7
PSEN
A0
A7
D0
D7
P2.0
P2.7
A8
A12
OE
OC
EA
G
8051
ROM
2. 74373 latches the
address and send to
ROM
Address
3. ROM send the

instruction back
MCS-51 - Architecture 32
Chu k đc b nh chng trình ngoài
MCS-51 - Architecture 33
Chu k đc b nh data ngoài
MCS-51 - Architecture 34
Chu k vit b nh data ngoài
MCS-51 - Architecture 35
Chu k máy
¸ Mt chu k máy ca 8051 chim 12 chu k xung nhp ca tín
hiu clock
¸ Mt lnh có th thc hin mt mt hoc nhiu chu k máy
MCS-51 - Architecture 36
Hot đng RESET
Internal RAM không chu
nh hng ca hot đng
RESET

×