第 8 章 串并行通信接口技术
DESCRIPTION
第 8 章 串并行通信接口技术. 8.1 概述 8.2 可编程并行通信接口芯片 8255A 8.3 可编程串行通信接口芯片 8251A 8.4 通用的异步接收发送芯片 8250. 教学目的和要求 1. 掌握并行传输和串行传输的基本概念; 2. 掌握 8255A 和 8250 的基本结构和工作原理; 3. 掌握串行通信的数据格式; 4. 初步学会对 8255A 和 8250 的编程应用。(实验). 第 8 章 串并行通信接口技术. 教学重点 1 . 串、并行接口的特点; 2. 8255A 的工作方式和编程; - PowerPoint PPT PresentationTRANSCRIPT
-
8 8.1 8.2 8255A8.3 8251A8.4 8250
-
1.2.8255A82503.4.8255A8250
-
8 1. 2. 8255A3.8255A014.8250
-
1. 8255A12CPU 2. 8250CPU
-
8.1 I/O
-
1.816322.3.
-
1.2.3.TTL4.
-
8.2 8255A18255A8(AB)4(C/4)/2A012B01CPUI /O3C012C/
8255A
-
8255A8255A8-1CPU
-
1.CPU D7D08 RESET CS*RD*WR* A1 A0
-
8255A/
A1 A0RD*WR*CS*CPU001010000111000 A B C 00110101111100000000(CPU)A B C
-
2. APA0PA7A012BPB0PB7B01CPC0PC70A4PC4PC7B4PC0PC3
-
APA0PA7BPB0PB7CPC0PC74
-
8255A
-
8255A8255A C/
-
1.D7=1
-
2./(D7=0)
-
3. 8255A3 /C D71D70/ /
-
4. 8255AI/OA1A011ABCI/OA1A0000110IBM PC/XTABCI/O60H61H62H63H
-
(1)A 1CCB 010110001BB1HMOV DX,303H;303HMOV AL,0B1H;OUT DX,AL;
-
(2)INOUTCPU8255ACPU
-
8255A BPB7MOV DX,301HB301HIN AL,DXBOR AL,80HPB71OUT DX,AL
-
(3)C1C40CAACBB
-
(3)C2AB12C0
-
(3) C3CCI/OCCCC10
-
(3)C4CABAB8255A
-
8255A012
-
1.00 0/ 024I /O I /O
-
2. 1 1)ABC. /C
-
1A1:ACPU
-
B1
-
1STB*8255AIBF8255AINTR8255ACPUCPUINTE
-
8255A1
A B STB*PC4 PC2 IBFPC5 PC1 INTRPC3 PC0 INTEPC4 PC2
-
28255A1
-
3A1CPUCPU
-
B1
-
1OBF*8255ACPUACK*8255AINTR8255ACPUCPU
-
8255A1
A B OBF*PC7PC1 ACKPC6 PC2 INTRPC3 PC0 INTEPC6 PC2
-
48255A1
-
3. 221A2C5121218255AOBF*ACK*
-
(1)2PC6INTE1PC4INTE2INTRA
-
28255A2
-
8255A1.8-38K7K08255AABCA8255AABC100H101H102H103H
-
(1) 8-11
-
MOV DX103HDX MOV AL 90H OUT DX ALL1 MOV DX100HA DX IN ALDX A MOV DX101HB OUT DXALBLED XORAL0FFHAL AL MOVDX102HC DX OUTDXALC JMP L1(2) 8255A
-
8-4Intel 8255A8-12A-B-C-D-A-AB-BC-CD-DA-AB-A-AB-B-BC-C-CD-D-DA-A-2.
-
Intel 8255APA3~ PA0A074LS24474LS244TIP1228-58255A300H301H302H303H
-
8-5
1AB03H2BC06H3CD0CH4DA09H
-
10000000B=80HA0 MOV AL80H MOV DX303H DX OUT DXAL MOV DX300H A L1MOV AL03H AB OUT DXAL CALL DELAY1 MOV AL06H BC OUT DXAL CALL DELAY1
-
MOV AL0CH CD OUT DXAL CALL DELAY1 MOV AL09H DA OUT DXAL CALL DELAY1 JMP L1DELAY1MOV CX03FFFH DELAY2LOOP DELAY2 RET
-
3. (0) 8-58-13CPU(BUSY)1(BUSY=1)CPU8
-
8255A10000001B=81H 8255A0 AC44PC6 00001101B 0DHPC6 00001100B 0CH2000H MOV DX247H 8255A 247HDX MOV AL 81H 8255A OUT DX AL
-
MOV AL 0DH OUT DXAL PC61STB*1 MOVSI2000H SI MOVCX0FFHNEXT MOVDX246H 8255APC IN ALDX CPC30 ANDAL08H JNZ NEXT MOVDX244H ADX MOVALSI OUTDXAL
-
MOVDX247HDX MOVAL0CH PC60 OUTDXALSTB* NOPNOPNOP MOVAL0DH OUTDXAL STB*1 INCSI 1 LOOPNEXT
-
8-6 8255A1A18259AAPC38259ACPU8-158255A4244H245H246H247H
-
1PC78255APC68255APC38259AIR3.8255A10101000B 2PC6 00001101B 0DH8255AA138259AICW208H8255AA0BHIR3002CH4
-
MAIN MOV DX247H MOV AL0A8H OUT DXAL 8255A XOR AXAX MOV DSAX MOV AXOFFSET RING MOV [002CH]AX MOV AXSEG RING MOV [002EH]AX MOV DX247H MOV AL0DH PC61A1 OUT DXAL
-
MOV DIOFFSET BUFF MOV CX100 MOV DX244H MOV AL[DI] OUT DXAL INC DI STI LOOPNEXT JMPABC NEXT HLT LOOP NEXT ABC CLI MOV AH4CH INT 21H
-
RING MOVDX244H MOV AL[DI] OUT DXAL A INC DI STI IRET
-
8.38251A1.
-
2./Baud Ratebps50 bps9600 bps115200 bps1
-
b/s: 17111200bps1200/10120
-
2: 1200bps41007(100+4)/12000.6067s100/0.6067165
-
2 ///=n/1200 bps n=1616/ 120016=19.2kHznn=1163264
-
3.Synchronous Data CommunicationAsynchronous Data Communication
-
1
-
2
-
8251A 1.8251A(1)(2)5 8/(3)5 8/11664
-
(4)11.52(5)064Kbps019.2Kbps(6)(7)
-
2.8251A
-
3.8251A 1 8251ACPU CS*8251A D7D0 RD*WR*C/D*/
-
TXRDYTXE RXRDY SYNDET/BD
-
28251A DTR* DSR* RTS* CTS* TXD RXD
-
3 CLKVccGND
-
4.8251A8251A
-
8251ACPU 8251ACPU
-
1
-
2(/)
-
3 (8251A)
-
8251AMOV DX3F9HNEXTIN ALDX AND AL02H D1=1JZ NEXT NEXT MOVDX3F8H DX IN ALDX
-
8251A1.8-88251A1671 3F8H3F9H01111010B7AH00110111B37H
-
MOV DX3F9H MOV AL7AHOUT DXALMOV AL37H OUT DXAL
-
2.8-98251A3F9H7 00011000B18H10110111BB7H8251A38251A8251ACPU
-
MOV DX3F9H DXMOV AL00011000B OUT DXAL MOV AL16HOUT DXAL 16HOUT DXAL 16HMOV ALB7H OUT DXAL
-
3.8-108251A8-258251ARS-232C80868251A3F9H3F8H
-
CPUTxRDYCPU8251ACPURxRDY8251A
-
STARTMOV DX3F9HMOV AL7FH 8 OUT DXAL 64MOV AL11HOUT DXALMOV DI1000H MOV CX40H
-
L1 MOV DX3F9H IN ALDX AND AL01H TxRDY JZ L1 MOV DX3F8H MOV AL[DI] 8251A OUT DXAL INC DI LOOP L1 HLT
-
BEGINMOV DX3F9H MOV AL7FH 81 OUT DXAL 64 MOV AL14HERRxE 1 MOV DXAL MOV SI 2000H MOV CX40H L2MOV DX3F9H INALDX
-
TESTAL38H JNZ ERR AND AL02H D1RxRDYJZ L2 MOV DX3F8HIN ALDX 1
-
MOVSIAL INC SI LOOP L2 JMP L3 ERRCALL ERR-OUT L3 MOV AX4C00H DOS INT21H
-
8.48250 8250MODEMMODEM
-
1. 8250825010168A0A2DLAB011
-
8250
DLABA2A1A03F8H00 0 03F9H 00 0 13F8H 10 0 03F9H 10 0 13FAH0 1 03FBH0 1 13FCH1 0 0MODEM3FDH1 0 13FEH1 1 0MODEM
-
1 THR(3F8H)
-
1 RBR (3F8H)
-
2BRD(3F8H,3F9H) BRD16
-
8-111200bps UART1.8432MHzXTAL1BRD=1843200/161200=0060H
-
3 LCR3FBH
DLABD6 D5 D4 D3D2D1 D0
-
8-13LCR82MOV DX3FBH LCRMOV AL 00011111B LCROUT DXAL
-
4LSR3FDH)CPU
0D6 D5 D4 D3D2D1 D0
-
5MODEMMCR(3FCH)8250
0 0 0LOOP OUT2OUT1RTS DTR
-
8-14MCRDTRRTSOUT1OUT2LOOP MOV DX3FCH MCR MOV AL00000011B MCR OUT DXAL
-
8-158250:MOV DX 3FCH MCRMOV AL00010011B LOOP1OUT DXAL
-
6MODEMMSR(3FEH)4MSR41MSR41CPUMCR41CPU4
-
7IER 3F9H82502444825041
-
8. IIR3FAH
0 0 0 0 0ID1 ID0IP
ID1ID01 11 00 10 01234
-
2. 8250
-
3. 8250
-
1CPU1D7 D0 CPU8250A0A2825082503CS0CS1CS2*CSOUT38250CSOUTADS*
-
12DISTRDISTR*CPU8250I/ODOSTRDOSTR*CPU8250I/O8250
-
13DDISCPU8250DDISDDISMRRESETINTRPT8250410INTRPTCPU
-
1 4OUT1*OUT2*D2D3
-
2
-
3XTAL18250XTAL2BAUDOUT*8250RCLKRCLKBAUDOUT*
-
3. 8250D7=188MODE 8250
-
8-1782503F8H3FFH82509600bps81MOV DX3FBH8250DX MOV AL80H DLAB=1 OUT DXALMOV DX3F8H DX MOV AL0CH 9600bps OUT DXAL 8 INC DX
-
MOV AL00H 8OUT DXALMOV DX3FBH 8250DXMOV AL0BH 81OUT DXAL MOV DX3F9H DX MOV AL0FH OUT DXAL MOV DX3FCH MODEM MOV AL0FHOUT DXAL OUT1*,OUT2*0
-
8-18PCRS-232CMODEM9600bps8/182502F8H2FFHESCDOS
-
MOV DX2FBH 8250DXMOV AL80H DLAB=1OUT DXALMOV DX2F8H DXMOV AL0CH 9600bps OUT DXAL 8INC DXMOV AL00H 8OUT DXAL
-
MOV DX2FBH 8250DX MOV AL0BH 81 OUT DXAL MOV DX2FCH MOV AL03H OUT DXAL MOV DX2F9H MOV AL00H OUT DXAL
-
FOREVERMOV DX2FDH IN ALDX TEST AL1EH JNZ ERROR TEST AL01H JNZ RECEIVE TEST AL20H JNZ FOREVER MOV AH01H ZF=0AL=
-
INT 16HJZ FOREVERMOV AH00H INT 16HMOV DX2F8HOUT DXALMOV AH02H MOV DLALINT 21H
-
CMP AL27ESC JNZ NEXT MOV AH4CH INC 21H NEXTJMP FOREVER RECEIVEMOV DX2F8H IN ALDX AND AL7FH CMP AL27
-
JNZ DISP MOV AH4CH INT 21H DISP PUSH AX MOV BX0 MOV AH14 INT 10H POP AX CMP AL0DH
-
JNZ FOREVER MOV AL0AH MOV BX0 MOV AH14 INT 10H JMP FOREVER ERRORMOV DX2F8H IN ALDXMOVAL
-
MOV BX,0 MOV AH,14 INT 10H JMP FOREVER
-
81. 2.8255A 3.8251A8250 4.8255A
-
5.8255A8251A8250 6.
88.2 8.3 8.4 8.6 8.9 8.108.11 8.12 8(