Thanh ghi t tr ng thái PSWCY AC F0 RS1 RS0 OV -- P CY PSW.7 Carry flag AC PSW.6 Auxiliary carry flag --PSW.5 Available to the user for general purpose RS1 PSW.4 Register Bank selector b
Trang 1MCS-51 - Architecture 1
Gi i thi u V K h MCS-51
Plan
¸ Gi i thi u h MCS-51TM
¸ Ki n trúc 8051
¸ C u trúc c ng I/O
¸ Các thanh ghi đ c bi t
¸ Ho t đ ng RESET
Trang 2MCS-51 - Architecture 3
H MCS-51TM
¸ 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
̈
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
Trang 3MCS-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
S đ chân
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24
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
(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)
8051 (8031)
Trang 4MCS-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 vào ADC
¸ Các c ng P0, P1, P2, P3 đ u là các c ng vào ra hai chi u
C ng P1
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
Trang 5MCS-51 - Architecture 9
C ng P0
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
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)
Trang 6MCS-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
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)
Trang 7MCS-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
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
̈ thi t l p bit 00 (~ v i bit LSB c a byte 20H)
Trang 8MCS-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
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
Trang 9Thanh ghi t tr ng thái PSW
CY AC F0 RS1 RS0 OV P
CY
PSW.7
Carry flag
AC
PSW.6
Auxiliary carry flag
PSW.5
Available to the user for general purpose
RS1
PSW.4
Register Bank selector bit 1
RS0
PSW.3
Register Bank selector bit 0
OV
PSW.2
Overflow flag
PSW.1
User define bit
P
PSW.0
Parity flag Set/Reset odd/even parity
Trang 10MCS-51 - Architecture 19
Example:
MOV A,#38H
ADD A,#2FH
+2F +00101111
-67 01100111
CY=0 AC=1 P=1
Example:
MOV A,#88H
ADD A,#93H
+93 +10010011
-11B 00011011
CY=1 AC=0 P=0
Example:
MOV A,#9CH ADD A,#64H
+64 +01100100
-100 00000000 CY=1 AC=1 P=0
Thanh ghi PCON
Trang 11MCS-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)
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
Trang 12MCS-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:
̈ PUSH, POP
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
Trang 13MCS-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)
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
Trang 14MCS-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
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
¸ 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
Trang 15MCS-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
D
74LS373
ALE
P0.0
P0.7
PSEN
A0 A7
D0 D7
P2.0 P2.7
A8 A12
OE OC
EA
G
1 Send address to ROM
2 74373 latches the address and send to ROM
Address
Trang 16MCS-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
2 74373 latches the address and send to ROM
Address
3 ROM send the instruction back
Chu k đ c b nh ch ng trình ngoài
Trang 17MCS-51 - Architecture 33
Chu k đ c b nh data ngoài
Chu k vi t b nh data ngoài
Trang 18MCS-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
Ho t đ ng RESET
Internal RAM không ch u
nh h ng c a ho t đ ng RESET