Writing “1” to Output Pin P1.XD Q Clk Q Vcc LoadL1Read latch... Writing “0” to Output Pin P1.XD Q Clk Q Vcc LoadL1Read latch... MOV A,P1 external pin=High 1... MOV A,P1 external pin=Lo
Trang 1CHƯƠNG 3
HỌ VI ĐiỀU KHIỂN 8051
Trang 2Kiến trúc phần cứng 8051
Trang 58051 Pin Diagram
PDIP/Cerdip
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
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)
Trang 8Writing “1” to Output Pin P1.X
D Q Clk Q
Vcc
Load(L1)Read latch
Trang 9Writing “0” to Output Pin P1.X
D Q Clk Q
Vcc
Load(L1)Read latch
Trang 10Reading “1” at Input Pin
D Q Clk Q
Vcc
Load(L1)Read latch
8051 IC
2 MOV A,P1 external pin=High
1 write a 1 to the pin
Trang 11Reading “0” at Input Pin
D Q Clk Q
Vcc
Load(L1)Read latch
8051 IC
2 MOV A,P1 external pin=Low
1 write a 1 to the pin
Trang 12Instructions For Reading an Input Port
Mnemonics Examples Description
MOV A,PX MOV A,P2 Bring into A the data at P2 pins
JNB PX.Y, JNB P2.1,TARGET Jump if pin P2.1 is low
JB PX.Y, JB P1.3,TARGET Jump if pin P1.3 is high
MOV C,PX.Y MOV C,P2.4 Copy status of pin P2.4 to CY
• Following are instructions for reading external pins of ports:
Trang 13Figure C-17 Reading the Latch
D Q Clk Q
Vcc
Load(L1)Read latch
1 Read pin=0 Read latch=1
Write to latch=0 (Assume
P1.X=0 initially)
1
TB1
TB2
3 write result to latch
Read pin=0 Read
latch=0 Write to
latch=1
1 0
Trang 14Read-Modify-Write Instructions
Example Mnemonics
CLR P1.3 CLR PX.Y
MOV P1.2,C MOV PX.Y,C
DJNZ P1,TARGET DJNZ PX, TARGET
INC P1 INC
CPL P1.2 CPL
JBC P1.1, TARGET JBC PX.Y, TARGET
XRL P1,A XRL
ORL P1,A ORL
ANL P1,A ANL
DEC P1 DEC
Trang 15A Pin of Port 0
8051 IC
D Q Clk Q
TB1TB2
P1.x
Trang 16Port 0 with Pull-Up Resistors
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
Trang 17D0 D7
P2.0
P2.7
A8 A12
OE OC
Address
Trang 18D0 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
Trang 31• Định địa chỉ tương đối
• Định địa chỉ tuyệt đối
• Định địa chỉ dài
• Định địa chỉ chỉ số
Trang 32– Bảng tra trên ROM
• Nhóm lệnh với biến Boolean
• Nhóm lệnh rẽ nhánh chương trình
Trang 413.5 Bộ định thì
(Timer)
Trang 44TH0
Trang 46AGAIN : MOV A, TH1
MOV R6, TL1 CJNE A, TH1, AGAIN
Trang 513.6 Cổng nối tiếp (Serial port)
Trang 56MOV A, PCON
SETB ACC.7
Trang 603.7 Ngắt (Interrupt)