第 9 章
-
Upload
maxwell-frost -
Category
Documents
-
view
30 -
download
4
description
Transcript of 第 9 章
-
9 8255A
-
I/O, ,CPUI/O,, ,(),,(),() ,,, ,,,
-
9.1 8255AIntel 8255AI/O,Programmable Peripheral Interface PPI CPU3,24
-
8255A
-
1. APA0PA7A,012,BPB0PB7B,01CPC0PC70A4PC4PC7B4PC0PC34,,
-
8255A
A1A0RDWRCS001010000111000ABC00110101111100000000ABC110111100
-
8255A
1.012
-
00= A001= A11X= A21=A0=A1=C40=C40= B01= B11=B0=B1=C40=C4
1D6D5D4D3D2D1D0
-
2.C/C,C,12,C/,INTE8255AC
-
000:PC0001:PC1::111:PC71:0:/
0 D3D2D1D0
-
MOV AL, 00001010BOUT 63H, ALMOV AL, 00001011BOUT 63H, ALMOV AL, 00001010BOUT 63H, ALPA7:PA0PB7:PB0PC7:PC5:PC00
0 D3D2D1D0
-
8255AC1.0 0,,ABC/,C4(PC7PC4)4(PC3~PC0),8,40,0, IN AL,60HOUT 61H, AL
-
0
-
0
-
2.1 1AB,AB8IO()C6(3)AB,201
-
(1)1STB,,,8255AIBF,8255A,INTR,8255A,CPU,CPU
-
1AACPUPC4PC5PC3PA7~PA0INTEAIBFAINTRASTBARD
-
1STBIBF8255A,
-
18255AINTE ,INTEC,INTEC,/INTE AINTEAPC4 BINTEBPC2 AINTEAPC6 BINTEBPC2
-
(2)1OBF, 8255A,,CPU,ACK, ,8255AINTR, ,8255ACPU,CPUAINTEAPC6BINTEBPC2
-
1ACPUCPUPC6PC7PC3PA7~PA0INTEAOBFAINTRAACKAWR
-
1OBFACK8255A,
-
3. 221,A2,C5,121218255AOBF,ACK
-
2-PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFARDINTE2PC6INTE1PC4INTE2INTRAWRSTBA
-
2data-out INTR data-outdata-indata-inPA0PA7D0D7IBF ACK
-
4.C 8255A12,C,8255A
-
4.CACKAACKASTBBSTBAACKASTBA
D7D6D5D4D3D2D1D01I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB1OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB2OBFAINTE1IBFAINTE2INTRA
-
8255A I/OA1A011 ABCI/O,A1A0000110IBM PC/XT,ABCI/O60H61H62H63H
-
1. A1C,CB010110001Bmov dx,0fffeh;FFFEHmov al,0b1h;out dx,al;
-
2. ,IN,OUTCPU8255ACPU
-
8255A, BPB7mov dx,0fffah;BFFFAHin al,dx;Bor al,80h;PB71out dx,al;
-
3. CC4,0,,CAA,CBBAB12,C0
-
CCI/OCC,,,C10,
-
CABAB8255A
-
9.2 8255A8255AIBM PC/XTLED
-
,8K7~K0,,LEE7~LED0,LED;,LED8086 CPU,8255A74LSl380F0H~0F6H:10010000B
-
MOV DX,0F6H MOV AL,10010000B OUT DXALTEST_IT: MOV DX,0F0HA IN AL,DX A MOV DX,0F2HB OUT DX,AL BLED, JMP TEST_IT
-
PA08255A PA1PA2PA3PB7PB6PB5PB48255APB3PB2PB1PB0+5V0123865749ABCDEF
-
PORT_A EQU 0FF9H 8255A PORT_B EQU 0FFBH ;8255BPORT_CTL EQU 0FFFH 8255DATA SEGMENT ; 0 l 2 3 4 5 6 7TABLE DB 77H7BH7DH7EH0B7H0BBH0BDH0BEH; 8 9 A B C D E F DB 0D7H, 0DBH0DDH,0DEH0E7H0EBH0EDH0EEHDATA ENDSSTACK1 SEGMENT STACK STACK DW 50 DUP(0)TOP_STAC LABEL WORDSTACK1 ENDSCODE SEGMENT ;ASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX STACK1 MOV SS AX LEA SP TOP_STACK MOV AX DATA MOV DS AX
-
;8255A0ABC0 MOV DX PORT_CTL ; MOV AL 10001011B OUT DX AL MOV DXPORT_A ; A MOV AL0 OUT DXAL ;A0; MOV DXPORT_BWAIT_OPEN:IN ALDX B AND AL0FH 4() CMP AL0FH 1()? JNE WAIT_OPEN ;0WAIT_PRES:IN ALDX B AND AL0FH 4 CMP AL0FH JE WAIT_PRES MOV CX16EAH ; 20ms DELAY: LOOP DELAY 20ms
-
; IN ALDX AND AL0FH CMP AL0FH JE WAIT_PRES , MOV AL0FEH ;D00 MOV CLAL ;CL1111 1110BNEXT_ROW: MOV DXPORT_A ;A OUT DXAL ; MOV DX,PORT_B ;B IN ALDX ;B AND AL0FH ; CMP AL0FH ;1 JNE ENCODE ; ROL CL1 ;10 MOV ALCL JMP NEXT_ROW
-
;ENCODE MOV BX000FH ,F IN ALDX BNEXT_TRY:CMP AL,TABLE[BX]? JE DONE DEC BX ,() JNS NEXT_TRY MOV AH1 01AH JMP EXITDONE: MOV AL,BL ;BL16 MOV AH,0 ;AH=0EXIT: HLTCODE ENDS END
; 0 l 2 3 4 5 6 7TABLE DB 77H7BH7DH7EH0B7H0BBH0BDH0BEH; 8 9 A B C D E F DB 0D7H0DBH0DDH,0DEH0E7H0EBH0EDH0EEH
-
LEDLED7LEDLEDLEDLED
-
LED7abcdefgh709AF16P hgfedcba
-
LED
-
LEDhgfedcba
-
PORT_A EQU 0FOH ;ACOUNT EQU 05H DATA SEGMENT ;16; 0 1 2 3 4 5 6 7TABLE DB 40H79H24H30H19H12H02H78H; 8 9 A b C d E F DB 00H18H08H03H46H21H06H0EHDATA ENDSCODE SEGMENT 16 :DISPY: MOV BX,OFFSET TABLE ; LEA AL,COUNT[BX] 5 XLAT AL MOV DX,PORT_A OUT DX,AL A :CODE ENDS END