&+ѬѪ1*5: MӢRӜNG CHO 8051 • 8255A là vi mҥch vào/raÿDQăQJ Programmable Peripheral Interface có thӇ ghép nӕi vӟi rҩt nhiӅu loҥi vi xӱOê, vLÿLӅu khiӇn... PA0-PA7 ADDRESS: Các tín hiӋXÿӏa ch
Trang 1&+ѬѪ1*5: MӢ
RӜNG CHO 8051
BÀI 1: M ӣ rӝng vào/ra
CHѬѪNG 5:
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Ĉһt vҩn ÿӅ
Trang 2&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Vi mҥch chӕt 74373 hoһc 74374
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Trang 3&+ѬѪ1*5: MӢ
RӜNG CHO 8051
• 8255A là vi mҥch vào/raÿDQăQJ
(Programmable Peripheral Interface) có thӇ
ghép nӕi vӟi rҩt nhiӅu loҥi vi xӱOê, vLÿLӅu khiӇn.
• Có 24 I/O:
• T ӕFÿӝ cao, cho phép lұp xóa bit trӵc tiӃp
• Enhanced Control Word Read Capability
• 2.5mA Drive Capability on All I/O Ports
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Trang 4&+ѬѪ1*5: MӢ
RӜNG CHO 8051
I/O PORT C: Cәng vào và ra 8-bit Có mҥch giӳ.
PC0-PC7
I/O PORT B: C әng vào và ra 8-bit Có mҥch giӳ mӭc cao.
PB0-PB7
I/O PORT A: Cәng vào và ra 8-bit Có mҥch giӳ mӭc cao và giӳ mӭc thҩp PA0-PA7
ADDRESS: Các tín hiӋXÿӏa chӍ, kӃt hӧp vӟi các tín hiӋXÿLӅu khiӇQÿӇÿӑc
ho һc ghi mӝt trong các cәng hoһFWKDQKJKLÿLӅu khiӇn cӫa 8555A A0 và A1 WKѭӡQJÿѭӧc nӕi vӟi cáFELWÿӏa chӍ thҩp nhҩt cӫDEXVÿӏa chӍ hӋ thӕng A0-A1
WRITE: m ӭc thҩSWUrQFKkQÿLӅu khiӇn ghi sӁÿLӅu khiӇn 8255A nhұn tӯÿLӅu khiӇn hoһc dӳ liӋu tӯ bus dӳ liӋu.
WR
READ: mӭc thҩSWUrQFKkQÿLӅu khiӇQÿӑc sӁÿLӅu khiӇn 8255AÿѭDWK{QJWLQ trҥng thái hoһc dӳ liӋu ra bus dӳ liӋu.
RD
CHIP SELECT: m ӭc thҩp trên chân chӑn chip sӁ cho phép bus dӳ liӋu cӫa 8255A giao ti Ӄp vӟi CPU.
CS
RESET: Mӭc “high” trên chân Reset sӁ xóDWKDQKJKLWKDQKJKLÿLӅu khiӇn và ÿһt tҩt cҧ các cәng là cәng vào
RESET
I/O DATA BUS: Bus d ӳ liӋu 2 chiӅu, 3 trҥng thái, nӕi vӟi bus dӳ liӋu hӋ thӕng D0-D7
GROUND Nên nӕi mӝt tө lӑc khoҧng 1uF giӳa Vcc vӟi GND
GND
Ngu ӗn cҩp, +5V
VCC
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Trang 5&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Mode 0 (vào/ra FѫEҧn).
cәng.
– Hai cәng 8-bit (PA và PB) và hai cәng 4-bit (PCL và PCH)
– Mӛi cәng có thӇ và vào hoһc ra
– Cәng ra có chӕt
– Vào không có chӕt
– Có thӇ thiӃt lұp 16 cҩu hình vào/ra
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Mode 1 - (Vào/ra có b ҳt tay).
hi Ӌu bҳt tay
hoһc nhұn các tín hiӋu bҳt tay.
– Hai nhóm (Group A và Group B)
– Mӛi nhóm gӗm mӝt cәng 8-bit và mӝt cәQJÿLӅu khiӇn 4-bit
– Cәng 8-bit có thӇ là cәng vào hoһc cәng ra Cҧ vào vàUDÿӅu có chӕt
– Cәng 4-ELWÿѭӧc dùQJÿӇÿLӅu khiӇn và báo trҥng thái cӫa cәng 8-bit
Trang 6&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Mode 2 (Bus I/O hai chi Ӆu có bҳt tay)
WѭѫQJWӵ mode 1
– ChӍ thӵc hiӋn vӟi Group A
– Mӝt bus 8-bit, hai chiӅu (Port A) và mӝt cәQJÿLӅu khiӇn 5-bit (Port C)
– Cҧ vào vàUDÿӅu có chӕt
– Cәng 5-bit (Port C)ÿѭӧc dùQJÿӇÿLӅu khiӇn và báo trҥng thái cӫa bus 8-bit (Port A)
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Bus dӳ liӋu thҧ nәi 1
x x x
x
Bus dӳ liӋu thҧ nәi 0
1 1 x
x
Ghi tӯ bus dӳ liӋu xuӕng thanh ghi CW 0
0 1 1
1
Ghi tӯ bus dӳ liӋu ra Port C 0
0 1 0
1
Ghi tӯ bus dӳ liӋu ra Port B 0
0 1 1
0
Ghi tӯ bus dӳ liӋu ra Port A 0
0 1 0
0
Ĉӑc tӯ thanh ghi CW lên bus dӳ liӋu 0
1 0 1
1
Ĉӑc tӯ Port C lên bus dӳ liӋu 0
1 0 0
1
Ĉӑc tӯ Port B lên bus dӳ liӋu 0
1 0 1
0
Ĉӑc tӯ Port A lên bus dӳ liӋu 0
1 0 0
0
Thao tác CS
WR RD
A0
A1
Trang 7&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Vi mҥch 8255A – ThiӃt lұp chӃÿӝ
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
– 1: là cәng vào ; 0: là cәng ra
– 1: là cәng vào ; 0: là cәng ra
– 0: mode 0 ; 1: mode 1
– 1: là cәng vào ; 0: là cәng ra
– 1: là cәng vào ; 0: là cәng ra
– 00: mode 0 ; 01: mode 1 ; 1x: mode 2
Trang 8&+ѬѪ1*5: MӢ
RӜNG CHO 8051
($93
;
;
5(6(7
5'
:5
,17
7
3
3
3
3
3
3
3
3
'
'
'
'
'
'
'
'
5'
:5
$
$
5(6(7
*1'
,QSXW GHYLGH
2XWSXW GHYLFH
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
lý và gӱi thông tin ra thiӃt bӏ ra ӣ cәng PC.
– PA là cәng vào:
– PC là cәng ra
– Các cәQJÿӅu làm viӋc ӣ mode 0
– Æ CW = 10010000B= 90H
Trang 9&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Mov P0,#90h ; CW = 10010000b
Mov P2,#00001101b ; CS=0, A1=1, A0=1, WR=0, RD=1Æ ghi vào CW Mov P0,#0FFh ÿһt P0 là cәng vào
Mov P2,#00000010b ; CS=0, A1=0, A0=0, WR=1, RD=0Æÿӑc tӯ3$ Acall xuly JRLFKѭѫQJWUình con xӱ lý dӳ liӋu
Mov P0,A ÿһt dӳ liӋXÿã xӱ lý chӭa tҥi thang ghi A ra P0 Mov P2,#00001001b ; CS=0, A1=1, A0=0, WR=0, RD=1Æ ghi ra PC
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Ghép nӕi 8051 vӟi nhiӅu 8255
Trang 10&+ѬѪ1*5: MӢ
RӜNG CHO 8051
data bus cӫa cҧ 4 vi mҥch 8255
chân RD và WR cӫa cҧ 4 vi mҥch 8255.
khiӇn riêng rӁ: P2.4 (CS0)ÿLӅu khiӇn CS cӫa 8255(1)
…
4 vi mҥch 8255 Æ mӣ rӝng ghép nӕLÿѭӧc vӟi 12 cәng
8 bit.
&+ѬѪ1*5: MӢ
RӜNG CHO 8051
Mov P0,#90h ; CW = 10010000b
Mov P2,#00001101b ; CS=0, A1=1, A0=1, WR=0, RD=1Æ ghi vào CW Mov P0,#0FFh ÿһt P0 là cәng vào
Mov P2,#00000010b ; CS=0, A1=0, A0=0, WR=1, RD=0Æÿӑc tӯ3$ Acall xuly JRLFKѭѫQJWUình con xӱ lý dӳ liӋu
Mov P0,A ÿһt dӳ liӋXÿã xӱ lý chӭa tҥi thang ghi A ra P0 Mov P2,#00001001b ; CS=0, A1=1, A0=0, WR=0, RD=1Æ ghi ra PC