第一节 串行接口与通信

117
第一节 串行接口与通信 本节重点:串行接口与通信概述,串 行通信接口,通信规程和通信标准

Upload: cyrus-tyson

Post on 30-Dec-2015

211 views

Category:

Documents


4 download

DESCRIPTION

第一节 串行接口与通信. 本节重点:串行接口与通信概述,串行通信接口,通信规程和通信标准. 串行接口与通信概述. 一、并行通信与串行通信 数据通信的基本方式可分为 并行通信 与 串行通信 两 种: 并行通信: 用多条数据传输线将数据的各位同时传送。 特点:传输速度快,适用于短距离通信。 串行通信 :用一条传输线将数据一位一位地顺序传送。 特点:通信线路简单,利用电话或电报线路就可实现通信,适用于远距离通信,但传输速度慢. 二、串行通信方式 串行通信:分为 同步通信 (SYNC) 与 异步通信 ( ASYNC ) 两 种方式。 1 、异步通信及其协议 - PowerPoint PPT Presentation

TRANSCRIPT

  • (SYNC)ASYNC1

  • 0 45678ASCII 1()() 11.52 1

  • 120/10101201200/1200

  • 2

  • (bit)HDLC()EBCDASCIIIBM(BSC)

  • a b c

  • (1)(2) ABBA(3)

  • 1

  • 2(MODEM)()

  • (DTE)MODEM(DCE)1RS-232C RS-232CD259

  • RS-232CMODEMRS-232C

  • RS-232C259. TXD2MODEM RXD3RTS*4MODEMCTS*5

  • DSR*6(MODEM) CD8()MODEM RI22MODEMDTR*20RIMODEMGND7

  • RS-232CEIA1-3V~-15v0+3V~+15V EIATTL MCl488TTLEIAMCl489EIAITLRS-232C

  • 2RS-423ARS-232CRS-232C1987RS-423A RS-423A

  • 3RS-422ARS-422A

  • RS-422A2v0.2v25v

  • 4RS-485RS-485

  • 12RS-232C3RS-232CTTL4Modem

  • 8251A8251A8251A 8251A 8251A8251A

  • 8251A8251A8251A10~64K0~19.2K256788251A/

  • 35678116641/11152 45

  • 8251A

  • 1 TXD12

  • CPU8251ATXRDYCPU8CPUTXE

  • 2RXDRXD 8251ARXRDYCPU

  • 8251ARXDRXD8251ASYNDET

  • SYNDET RXDRXRDY

  • 3 CPU8251A38CPU8251ACPU8251A

  • 4/(1)8251A(2)8251A (3)/C/ (4)CLK8251A RESET8251A58251A

  • 251A

  • 1251ACPU CS*CPUD7-D08CPU8251A8251ACPU

  • /RD* CPU8251AWR* CPU8251AC/D*//8251A/RD*WR*C/D*38251A

  • (4) TXRDYCPU8251A TXETXE8251A RXRDY8251ACPURXRDYRXRDY SYNDET

  • 28251A(1) DTR*CPU DSR* RTS*CPU CTS*8251A43

  • TXDCPU8251ATXD RXD8251A

  • 3 CLK8251A304.5 TXDTXCTXC11664

  • RXD:TXCRXCTXCCLK VCC GND

  • 8251ACPU8251ACPU

  • 2

  • 8251A MOV DX0FFF2H L IN ALDX AND AL02H Dl1 JZ L MOV DX OFFF0H IN Al DX

  • 48251A 128251A(3) CPU

  • 8251A1 8251A()167/200E2H00E4H11111010B 0FAH00110111B 37H

  • MOV AL 0FAH MOV DX00E2HOUT DX AL 7/2 MOV AL37H OUT DX AL RTS*DTR*

  • 2 52H216H7/00111000B 38H10010111B 97H8251A38251A8251ACPU

  • MOV AL38H 2OUT 52HAL 7MOV AL16H OUT 52HAL 16HOUT 52HAL MOV AL 97H OUT 52H AL

  • 3 8251A80 8251A52H50HBUFFER

  • MOV AL0FAH 16 OUT 52HAL 72 MOV AL35H OUT 52HAL MOV DI0 MOV CX80 80

  • BEGININ AL52H RXRDY10TEST AL02H JZ BEGIN IN AL50 MOV DXOFFSET BUFFERMOV [DX+DI]ALINC DI IN AL52H TEST AL38H /

  • JZ ERROR LOOP BEGIN JMP EXIT 80ERROR CALL ERR-OUT EXIT

  • 48251A

  • CPUTXRDY8251ACPURXRDY8251A

  • STT MOV DX8251A MOV AL7FH OUT DXAL 825lA81 MOV AL11H 64OUT DXALMOV DI MOV CX

  • NEXTMOV DX8251A IN ALDX AND AL01H TXRDY? JZ NEXT MOV DX8251A MOV AL[DI]8251A OUT DXAL INC DI LOOP NEXT HLT

  • SRRMOV DX8251A MOV AL7FH OUT DXAL 8251A8MOV AL 14H 164OUT DXAL MOV DI MOV CX

  • COMT MOV DX8251A IN ALDX ROR AL1 RXRDY? ROR AL1 JNC COMT ROR AL1 ROR AL1 JC ERR

  • MOV DX8251A IN ALDX MOV [DI]AL INC DI LOOP COMT HLT ERR CALL ERR-OUT

  • 182512825138251

  • 48251716482513FBH/3F8H58251A38.4KHzRTS*CTS*8251A02C0H02C1H71600B/s816H

  • I/OCPUI/OI/O CPUI/O/CPU

  • 1/CPU/

  • 2/////

  • I/O1CPUI/O CPU(READY)BUSY CPU

  • 2I/OCPUI/OCPUI/OCPU

  • /CPU//

  • 3.CPU/I/0(M/IO*)1-2/

  • 12CPU

  • 8255A 8255A8255A8255A

  • Intel 8255AI/OIntel

  • 8255A8255A1ABC I/OA8I/O/B8I/OC8I/O4I/O

  • 8255A

  • 2ABCPU8255ACPU8255AC/AAC4BBC4

  • 388255A/CPU8255A4//8255ARESETA0A1

  • 8255ACPU1CPUD0-D78RESET8255AABC

  • CS*RD*8255ACPUWR*CPU8255AA1A08255A8255A4ABC

  • 8255A

  • 2 PA0~PA7 PB0~PB7 PC0~PC7 8255A 8255A0/ABC1/A B2/A

  • 10/ABCI/O0

  • 21 I/OAB8I/OC6AB20 (1) 1CPC3-PC5APC0-PC2BPC6~PC70

  • 1

  • STB*8255AIBFSTBINTRINTRSTBIBFINTEINTEAPC4BPC0 ABSTB* PC4PC2IBFPC5PC1INTR PC3PC0INTE PC41PC21

  • (2) 1

  • OBF*CPU8255A8255AACK*OBF*8255AINTRINTRACKOBFINTEINTEAPC6BPC2 A BOBF* PC7 PC1ACK* PC6 PC2INTR PC3 PC0INTE PC61 PC21

  • 32I/OAC5A30B121

  • 12 STB* PC4IBFPC5OBF*PC7ACK* PC6INTR PC3(2) 22

  • (3) 2 20 11XXX01T 2011XXX00T 2111XXX11X 2111XXX10X XT10

  • 8255A18255A8255AC/18255A8255A

  • 8255A

  • 1 8255AA0B0C40C40 10010001 91H MOV AL 91H OUT CTRL_PORTAL(2) C//1/

  • /

  • A2 PC4PC6B1PC2 MOV AL0C4H OUT CTRL_PORTAL MOV AL09H OUT CTRL_PORTALPC4A MOV ALODH OUT CTRL_PORTALPC6A MOV AL 05HOUT CTRL_PORTALPC2B

  • 23 8255AA0BUFFCPU8088

  • BUSYACKBUSY

  • PC0PC0/PC7BUSY8255A10001000 88H A0C00PC0: 00000001 01HPC000000000 00H8255A400H01H02H03H

  • DADA SEGMENTBUFF DB 'This is a print program!''$'DATA ENDSCODE SEGMENT ASSUME CSCODE DSDATASTARTMOV AX DATA MOV DS AX MOV SIOFFSET BUFF

  • MOV AL 88H A0OUT 03H AL C00MOV AL 01HOUT 03HAL PC0WAIT IN AL 02H TEST AL 80H JNZ WAIT MOV ALSI CMP AL'$' JZ DONE OUT 00HAL A

  • MOV AL00H OUT 03H AL MOV AL 01H OUT 03HAL INC SI JMP WAITDONE MOV AL0DH OUT 00HAL MOV AL 00H OUT 03HAL MOV AL 01H OUT 03HAL

  • WAIT1 IN AL 02HTEST AL 80H PC71 JNZ WAIT 1 MOV AL0AH OUT 00HAL MOV AL 00H OUT 03HAL MOV AL 01H OUT 03HAL MOV AH4CH INT 21H CODE ENDSEND START

  • 4 8255A1BUFF100CentronicsPC08255AA8255APC38259AIR3

  • 8255A1010XXX0 PC0: 00000001 01HPC0 00000000 00HPC6: 00001101 0DH 8255AA8255A400H01H02H03H8259AICW208H A0BH2CH4

  • MAIN MOV AL0A0H OUT 03HAL 8255A MOV AL01H OUT 03HAL XOR AXAX MOV DSAX MOV AXOFFSET ROUTINTR MOV WORD PTR [002CH]AX MOV AXSEG ROUTINTR

  • MOV WORD PTR [002EH]AX MOV AL0DH OUT 03HAL 8255A A MOV DIOFFSET BUFF MOV CX99 MOV AL[DI] OUT 00HAL INC DI MOV AL00H OUT 03HAL

  • INC AL OUT 03HAL STI NEXT HLT LOOP NEXT HLT

  • ROUTINTRMOV AL[DI] OUT 00HAL A MOV AL00H OUT 03HAL INC AL MOV 03HAL INC DI IRET

  • 18255A01228255AA2B

  • 38255AA0B1C080H~83H48255AA0B0 8255AA1A0CPU8086A2A1A7A6A5A4A3=101008255A