并行通信接口_第1页
并行通信接口_第2页
并行通信接口_第3页
并行通信接口_第4页
并行通信接口_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机接口与通信第3章 并行通信接口1、可编程并行接口8255A2、并行打印机接口3、软件加密狗计算机接口与通信并行接口的特点1、并行接口是在多根数据线上数据以字节或字为单位与I/O设备或被控对象进行数据传输。 2、并行接口适用于近距离数据传输。一次同时传送多位数据,传送速度快。 3、在并行接口中,8位或16位是同时传输的。4、并行传送的信息不要求固定的格式,这与串行传送的信息有固定格式的要求不同。计算机接口与通信并行通信将数据的各位同时在多根并行传输线上进行传输。数据的各位同时由源到达目的地数据的各位同时由源到达目的地 快快多根数据线多根数据线 距离短、远程费用高距离短、远程费用高并行通信并

2、行通信适于适于短距离、高速短距离、高速通信通信01010110 D0D1D2D3D4D5D6D7目目的的D0D1D2D3D4D5D6D7源源计算机接口与通信可编程并行接口8255A8255A是Intel系列的并行接口芯片。是一种高性能的、工业标准的、通用的可编程输入输出芯片。用8255A连接外部设备时,通常不需要再附加外部电路,应用很方便。 计算机接口与通信8255A的内部结构A A组组端口端口A AA A组组控制逻控制逻辑辑内内部部总总线线数据数据总线总线缓冲器缓冲器A A组组端口端口C C高高4 4位位B B组组端口端口B BB B组组端口端口C C低低4 4位位B B组组控制逻控制逻辑辑

3、+5V+5VGNDGNDD0-D7D0-D7读读/ /写写控制控制逻辑逻辑CSCSRDRDWRWRA0A0A1A1RESETRESETPA7PA0PC7PC4PC3 PC0PB7 PB0计算机接口与通信8255A的引脚及其功能D0D7RDWRA1A0RESETCSPA0PA7PB0PB7PC0PC7PA7PA0PB7PB0PC7PC0D7D08255A计算机接口与通信1、与外设接口部分并行端口A、B、C 端口A:PA7PA08位数据输出锁存器/缓冲器8位数据输入锁存器端口B:PB7PB08位数据输出锁存器/缓冲器8位数据输入缓冲器端口C: PC7PC08位数据输出锁存器/缓冲器8位数据输入缓冲

4、器(无锁存器)端口C可分为两个4位的端口,此时4位端口都可锁存,用作端口A、B的输出控制信号及输入状态信号。计算机接口与通信2、与微处理器接口部分1)数据总线缓冲器 8位双向三态缓冲器 ,是8255A与系统数据总线接口的部件,所有输入输出数据以及CPU发给8255A的控制字和从8255A读入的状态信息都通过这个缓冲器来传送。2)读写控制逻辑 负责管理数据及控制字或状态字的所有内外传送,共6根控制线。CS 片选信号,低电平有效 ;由相关的地址信号和IO/M等组合而成 计算机接口与通信A1、A0 端口选择信号,选择内部各端口及控制字寄存器 ,包括三个内部端口PA、PB、PC和一个控制字寄存器。通常

5、在8088/8086系统中地址总线的A1、A0接8255A的A1、A0;RD 读信号,低电平有效 ,读输入端口的数据或状态字; WR 写信号,低电平有效 ,写输出端口的数据或状态字;RESET 复位信号,高电平有效 ,控制寄存器清零,A、B、C三端口均置为输入方式 计算机接口与通信8255A的控制信号和传输动作之间的关系的控制信号和传输动作之间的关系非法状态01011011XX数据总线三态1XXXX数据总线数据总线控制字寄存器控制字寄存器00111数据总线数据总线PC口口00101数据总线数据总线PB口口00110数据总线数据总线PA口口00100PC口口数据总线数据总线01001PB口口数据

6、总线数据总线01010PA口口数据总线数据总线01000操操 作作CSWRRDA0A1计算机接口与通信3、内部逻辑控制部分A组和B组控制电路 8255A把3个端口分成两组。A组控制电路:端口A + 端口C的高4位B组控制电路:端口B + 端口C的低4位8255A的逻辑控制是通过将控制字送入控制寄存器来实现的。计算机接口与通信8255A的控制字工作方式0:基本输入/输出方式工作方式1:选通输入/输出方式工作方式2:双向选通传输方式B组控制组控制A A组控制组控制1D0D1D2D3D4D5D6D7PA口工作方式口工作方式00:方式:方式001:方式:方式11X:方式:方式2 PC口高口高4位位0:

7、输出:输出1:输入:输入 PB口工作方式口工作方式0:方式:方式01:方式:方式1 PC口低口低4位位0:输出输出1:输入输入 PA口口0:输出输出1:输入输入 方式选择方式选择控制字标控制字标志志1:方式:方式选择选择 PB口口0:输出输出1:输入输入 计算机接口与通信8255A的控制字 8255A控制口的内容对数据端口A、B、C起控制作用,称为8255A的控制字。通过编程向控制口写入不同的控制字,可灵活的改变端口A、B、C的工作状态和工作方式。例 假设8255A 控制端口的地址为Port_Ctrl, 8255A控制口的内容为CtrlData; 设置控制字的程序段如下: MOV DX,Por

8、t_Ctrl ;置置DX为控制口地址为控制口地址 MOV AL,CtrlData ;置控制字于置控制字于AL中中 OUT DX, AL ;将控制字写入控制口将控制字写入控制口计算机接口与通信例:要把A口设定为方式0输出,B口设定为方式0输入,C口高4位为方式0输入,低4位为方式0输出,则方式控制字应为:10001010(8AH)。把A口设定为方式1输入,B口设定为方式1输出,(余下的C口几位仍可作方式0的输入或输出)此时方式控制字为:101110(B4H)。初始化程序为:MOV DX,303H;假设控制口地址为303HMOV AL, 0B4HOUT DX,AL计算机接口与通信8255A的置位/

9、复位控制字0:复位复位1:置位置位PC口的选择位口的选择位 000:PC0 100:PC4001:PC1 101:PC5 010:PC2 100:PC4 011:PC3 111:PC7 置位置位/复位控制复位控制字标志字标志D7=0D0D1D2D3XXXD7如下程序段:(设如下程序段:(设8255A8255A的控制端口地址为的控制端口地址为63H63H) MOV AL,00001011BOUT 63H,ALMOV AL,00001010BOUT 63H,AL;在;在PC5PC5引脚上将输出一个正脉冲引脚上将输出一个正脉冲 计算机接口与通信8255A有两种控制字,由写入内容的有两种控制字,由写入

10、内容的D7位区分:位区分:D7=1, 方式控制字设定A口、B口、C口的工作状态和工作方式。工作状态:输入或输出工作状态:输入或输出工作方式:方式工作方式:方式 0 0、方式、方式 1 1、方式、方式 2 2D7=0 , C口按位置位/复位控制字,使C口中的某一位为1(置位)或0(复位)。计算机接口与通信8255A的工作方式方式0(基本输入/输出方式)方式0是一种基本的输入/输出方式,在这种方式下,3个端口都可以由CPU写入控制字来选定作为输入或输出口,而不需要任何选通信号。方式0有如下功能:1、两个8位端口和两个4位端口的任何一个端口,都可以作为输入或输出口。2、输出的数据都被锁存,输入的数据

11、不作锁存。3、各个端口的输入、输出可有16种不同的组合,适用于多种场合。计算机接口与通信1. 方式方式0(基本输入(基本输入/输出方式)输出方式)A口、口、B口工作在方式口工作在方式 0 时,与时,与C口之间没有硬件联系,口之间没有硬件联系,为为单向传送端口单向传送端口,由方式控制字决定是输入还是输出。,由方式控制字决定是输入还是输出。工作在方式 0 的端口:作为输入口相当于普通的三态门作为输入口相当于普通的三态门; ;作为输出口相当于普通的锁存器作为输出口相当于普通的锁存器; ; CPU可利用方式 0 下的端口,直接对端口进行读写操作,实现CPU与外设间的数据传送。 1001/01/001/

12、01/0特征位特征位A口口工作方式工作方式 A口口I/OPC7PC7PC4PC4I/OB口口工作方式工作方式 B口口I/OPC3PC3PC0PC0I/O计算机接口与通信通常用于不需要握手信号的应用场合通常用于不需要握手信号的应用场合PA口:口:可定义为输入或输出,可定义为输入或输出,8位位PB口:口:可定义为输入或输出,可定义为输入或输出,8位位PC口:口:可定义可定义PC7PC4为输入或输出,为输入或输出,4位。可定义位。可定义PC3PC0为输入或输出,为输入或输出,4位。共有位。共有16种组合种组合 如定义如定义PA口为输出,口为输出,PB口为输入口为输入,PC74为输出,为输出,PC30

13、为为输入输入 PC低输低输入入PB口输口输入入PB口方口方式式0PC高输高输出出PA口输口输出出PA口工作口工作于方式于方式0方式选方式选择控制择控制字标志字标志11000001MOV AL,83H OUT 63H,AL 计算机接口与通信方式1(选通输入/输出方式) (1) 三个端口分为两组,即A组和B组。每组包含一个8位数据端口和三条控制线,即端口A与端口C中的3位为一组;端口B与端口C中的其他3位为一组。端口C中的余下两位仍可作为输入、输出用,且具有置位/复位功能。(2)端口A和端口B都可由程序来设定作为输入还是作为输出用。此时端口C作为控制状态端口,用于提供中断控制逻辑,各位的功能是固定

14、的,不能用程序改变它们。(3)两组端口中如只有一组工作在方式1,则剩下的都可以工作在方式0。(4)方式1中,输入和输出数据均可被锁存。计算机接口与通信方式1:(选通输入/输出方式)PA口与口与PB口均为选通输入方式口均为选通输入方式 即带握手信号的输入输出方式即带握手信号的输入输出方式 此种方式中:此种方式中:PC3- PC5作为作为PA口的握手信号口的握手信号PC0- PC2作为作为PB口的握手信号口的握手信号PC6,PC7则由方式选择控制字中的则由方式选择控制字中的D3定义定义无意义无意义 PB口输口输入入 PB口方口方式式1 PC6PC70:输出输出1:输入输入 PA口口输入输入PA口方

15、式口方式1 方式选方式选择控制择控制字标志字标志X11D31101计算机接口与通信选通输入方式图示选通输入方式选通输入方式PC3PC5PC4PA7-PA0PC6,PC7STBAINTRAI/OIBFAINTEAPC0PC1PC2PB7-PB0STBBINTRBIBFBINTEB向向CPU请求中断读走数据请求中断读走数据通知外设暂缓送下一数据通知外设暂缓送下一数据外设把已送到外设把已送到PA端口的数据锁存进缓冲器端口的数据锁存进缓冲器8bit8bitRDRD(PC4)(PC2)计算机接口与通信选通输入方式图示说明STB:选通,输入信号,低电平有效;当外设把数据送到PA/PB口后,此时数据并未进入

16、PA/PB口的锁存器,只有当STB为低电平时,数据才会被锁存进数据缓冲器内;IBF: 输入缓冲器满,输出信号,高电平有效;标志数据被锁存进数据缓冲器,是一个确认信号,IBF由STB信号为低置位,并由RD的上升沿使其复位。INTR:中断请求,输出信号,高电平有效;INTR信号用来向CPU提出中断请求,该信号的置位条件:INTR= STBIBFINTE ,并由RD信号的下降沿使其复位;PC6-7:根据方式选择控制字的D3定义,决定其是输入还是输出;对PC6、PC7的读,则作为状态字的组成部分;对PC6、PC7的写,则可用置位/复位控制字来实现计算机接口与通信注意其中一个细节:INTE信号是中断允许

17、位,如何设定?STB信号可以仅使用它的引脚,而不必使用其相应的位(PC4、PC2)所以:PC4的引脚用于PA口的STBA,而PC4的位用作INTEA;PC2的引脚用于PB口的STBB,而PC2的位用作INTEB;可用置位/复位控制字对PC4和PC2操作,来设定PA口和PB口是否允许中断。计算机接口与通信选通输入方式的工作过程外设把数据送到PA/PB端口,并使选通信号STB为低,把端口上的数据锁存进8255A相应端口的缓冲器内; 当数据被锁存进缓冲器后,相应端口的IBF变为高,向外设确认数据已被接收,同时禁止外设继续送数据; 选通信号结束后,STB为高,(此时IBF已为高),若允许该端口中断,即

18、INTEA(或INTEB)= 1,则相应的INTRA(或INTRB)为高,向CPU提出中断请求,请求读取数据; CPU响应中断并进入中断服务程序,CPU读8255A的相应端口(用IN指令),此时RD信号为低,使相应的INTR复位 ; 数据被读走后RD信号的上升沿使IBF为低,即输入缓冲器为空,允许外设送下一个数据,即进入下一个外设与CPU间的数据传输周期。 计算机接口与通信选通输入方式的时序方式方式1选通输入时序选通输入时序撤销撤销INTR信号信号IBFINTRRDInput from PeripheralSTB此时此时INTE = 1数据已到端口数据已到端口从锁存器中读走数据从锁存器中读走数

19、据BUFFER空空输入数据输入数据计算机接口与通信选通输入方式的初始化举例如8255A的端口地址分别为60H、61H、62H、63H(8088系统)把8255A设定为方式1:PA口、PB口均允许中断 PC6、PC7为输出 其初始化的程序段为: MOV AL,10110110B;8255A为方式1选通输入OUT63H,AL;PC6、 PC7为输出MOV AL,00001001B;PA端口允许中断OUT63H,ALMOV AL,00000101B;PB端口允许中断OUT63H,AL如要读取PA口缓冲器中的数据: IN AL,60H如要读取PB口缓冲器中的数据: IN AL,61H计算机接口与通信方

20、式1:(选通输入/输出方式)PA口与口与PB口均为选通输出方式口均为选通输出方式 1010D310X方式选方式选择控制择控制字标志字标志PA口方式口方式1 PA口口输出输出PC4PC50:输出输出1:输入输入 PB口方口方式式1 PB口输口输出出 无意义无意义 此种方式中:此种方式中:PC3、PC6 、PC7作为作为PA口的握手信号口的握手信号PC0- PC2作为作为PB口的握手信号口的握手信号PC4、PC5则由方式选择控制字中的则由方式选择控制字中的D3定义定义计算机接口与通信选通输出方式图示图图 选通输出方式选通输出方式PC3PC7PC6PA7-PA0PC5,PC4ACKAINTRAI/O

21、OBFAINTEAPC0PC1PC2PB7-PB0ACKBINTRBOBFBINTEB8bit8bitWRWR(PC6)(PC2)计算机接口与通信选通输出方式图示说明其中:其中:OBF:输出缓冲器满,输出信号,低电平有效:输出缓冲器满,输出信号,低电平有效 OBF变为变为“低低”标志着标志着CPU已将数据写入已将数据写入8255A的的PA/PB端口,该信号由端口,该信号由WR的上升沿置位,并由的上升沿置位,并由ACK的到达的到达复位复位 ACK:确认,输入信号,低电平有效:确认,输入信号,低电平有效 ACK信号的到达通知信号的到达通知8255A,从,从PA/PB端口输出的数据端口输出的数据已被

22、接收,这是外设的一个响应信号已被接收,这是外设的一个响应信号 INTR:中断请求,输出信号,高电平有效:中断请求,输出信号,高电平有效 INTR信号用来向信号用来向CPU提出中断请求,该信号的置位条提出中断请求,该信号的置位条件:件:INTR=ACK OBF INTE,并由,并由WR信号的下降沿使其复信号的下降沿使其复位位 PC4-5:根据方式选择控制字的根据方式选择控制字的D3定义,决定其是输入还是定义,决定其是输入还是输出输出 对对PC4、PC5的读,则作为状态字的组成部分的读,则作为状态字的组成部分 对对PC4、PC5的写,则可用置位的写,则可用置位/复位控制字来实现复位控制字来实现计算

23、机接口与通信选通输出方式的工作过程当8255A的缓冲器空,且允许中断,则可向CPU请求中断,CPU响应中断后,进入中断服务子程序,向8255A相应端口写入数据(用OUT指令),此时WR为低,将复位中断请求信号INTR; 当数据写入8255A的PA/PB端口后,相应端口的OBF为低,此信号可作为STB信号,使数据锁存进外设的接收缓冲器; 当数据被锁存进外设的接收缓冲器后,用ACK信号作为确认,并使OBF为高,即输出缓冲器为空,; 当ACK信号变为高后,使INTR变为高,向CPU提出中断请求,要求CPU再写入下一个数据,即进入下一个 CPU 与外设间的数据输出周期; 计算机接口与通信选通输出方式的

24、时序图图 方式方式1选通输入时序选通输入时序撤销撤销INTR信号信号外设的确认外设的确认BUFFER空空INTE = 1数据写入锁存器数据写入锁存器OBFINTRACKOUTPUTWR输出数据输出数据计算机接口与通信选通输出方式的初始化举例如8255A的端口地址分别为60H、61H、62H、63H(8088系统)把8255A设定为方式1选通输出方式:PA口、PB口均允许中断 PC4、PC5为输出 。其初始化的程序段为: MOVAL,10100100B;8255A为方式1选通输出OUT63H,AL ;PC4 PC5为输出MOVAL,00001101B;PA端口允许中断OUT63H,ALMOVAL

25、,00000101B;PB端口允许中断OUT63H,AL如要写入数据到PA端口: OUT60H , AL如要写入数据到PB端口: OUT61H , AL计算机接口与通信方式1:(选通输入输出方式)PA口为选通输入口为选通输入PB口为选通输出方式口为选通输出方式 1011D310X方式选方式选择控制择控制字标志字标志PA口方式口方式1 PA口口输入输入PC6PC70:输出输出1:输入输入 PB口方口方式式1 PB口输口输出出 无意义无意义 此种方式中:此种方式中:PC3 PC5 作为作为PA口的握手信号口的握手信号PC0 PC2作为作为PB口的握手信号口的握手信号PC6,PC7则由方式选择控制字

26、中的则由方式选择控制字中的D3定义定义计算机接口与通信PA口选通输入,PB口选通输出方式图示信号定义与工作信号定义与工作过程与前相类似过程与前相类似不再赘述不再赘述图图 PA端口选通输入端口选通输入PB端口选通输出端口选通输出PA7-PA0PC6,PC7IBFAINTRAI/OSTBAACKBINTRBOBFBPB7-PB0PC4 PC5PC3PC2 PC1PC08bit8bitRDWR计算机接口与通信方式1:(选通输入输出方式)PA口为选通输出,口为选通输出,PB口为选通输入方式口为选通输入方式 无意义无意义 PB口输口输入入 PB口方口方式式1 PC4PC50:输出输出1:输入输入 PA口

27、口输出输出PA口方式口方式1 方式选方式选择控制择控制字标志字标志X11D30101此种方式中:此种方式中:PC3 PC6 PC7作为作为PA口的握手信号口的握手信号PC0 PC2作为作为PB口的握手信号口的握手信号PC4,PC5则由方式选择控制字中的则由方式选择控制字中的D3定义定义计算机接口与通信PA口选通输出PB口选通输入方式图示信号定义与工作信号定义与工作过程与前相类似过程与前相类似不再赘述不再赘述图图 PA端口选通输出端口选通输出PB端口选通输入端口选通输入PA7-PA0PC4,PC5OBFAINTRAI/OACKASTBBINTRBIBFBPB7-PB0PC6 PC7PC3PC2

28、PC1PC08bit8bitWRRD计算机接口与通信方式2(双向选通传输方式)仅仅PA端口可定义为方式端口可定义为方式2 11XXXD2D1D0方式选择方式选择控制字标控制字标志志PA口方式口方式2 PB口口0:方式方式01:方式方式1PB口口0:输出输出1:输入输入PC2-00:输出输出1:输入输入此种方式中:此种方式中:PC7 PC6 PC5 PC4 PC3作为作为PA口的握手信号口的握手信号PC2 PC0作为作为PB口的握手信号,并则由方式口的握手信号,并则由方式选择控制字中的选择控制字中的D0定义。定义。计算机接口与通信PA口方式2时的端口状态图示图图PA端口工作于方式端口工作于方式2

29、时的端口状态和控制时的端口状态和控制字字 RDWRPC3PA7-PA0PC2 - 0ACKAINTRAI/OINTE2STBAIBFAOBFAPC4PC5PC7PC6INTE18bit(PC6)(PC4)计算机接口与通信PA口方式2时的端口状态图说明其中:其中:OBFA:输出缓冲器满,输出信号,低电平有效输出缓冲器满,输出信号,低电平有效 OBF变为变为“低低”标志着标志着CPU已将数据写入已将数据写入8255A的的PA端口,端口,该信号由该信号由WR的上升沿置位,并由的上升沿置位,并由ACK的到达使其复位的到达使其复位 ACKA:确认,输入信号,低电平有效确认,输入信号,低电平有效 ACK信

30、号的到达通知信号的到达通知8255A,从,从PA端口输出的数据已被接端口输出的数据已被接收,这是外设的一个响应信号收,这是外设的一个响应信号 STBA:选通,输入信号,低电平有效选通,输入信号,低电平有效当外设把数据送到当外设把数据送到PA口后,此时数据并未进入口后,此时数据并未进入PA口的锁口的锁存器,只有当存器,只有当STB为低电平时,数据才会被锁存进数据缓为低电平时,数据才会被锁存进数据缓冲器内冲器内IBFA:输入缓冲器满,输出信号,高电平有效输入缓冲器满,输出信号,高电平有效标志数据被锁存进数据缓冲器,是一个确认信号,标志数据被锁存进数据缓冲器,是一个确认信号,IBF由由STB信号为低

31、置位,并由信号为低置位,并由RD的上升沿使其复位的上升沿使其复位计算机接口与通信方式2时的端口状态图说明其中:其中:INTRA: 中断请求,输出信号,高电平有效中断请求,输出信号,高电平有效 INTR信号用来向信号用来向CPU提出中断请求,该信号的置位条件:提出中断请求,该信号的置位条件:INTR=IBF INTE2 STB RD+OBF INTE1 ACK WR,并,并由由WR信号或信号或RD信号的下降沿使其复位信号的下降沿使其复位PC2-0:根据方式选择控制字的根据方式选择控制字的D0定义,决定其是输入还是输出定义,决定其是输入还是输出 对对PC2-0的读,则作为状态字的组成部分;的读,则

32、作为状态字的组成部分; 对对PC2-0的写,则可用置位的写,则可用置位/复位控制字来实现。复位控制字来实现。 其中:其中: PC6的引脚用于的引脚用于PA口的口的ACKA,而,而PC6的位用作的位用作INTE1; PC4的引脚用于的引脚用于PA口的口的STBB,而,而PC4的位用作的位用作INTE2; 可用置位可用置位/复位控制字对复位控制字对PC6和和PC4操作,来设定操作,来设定PA口的输入和口的输入和输出是否允许中断输出是否允许中断计算机接口与通信方式2(双向选通传输方式)PA口工作于方式口工作于方式2,PB口工作于方式口工作于方式0输入输入 11XXX01D0方式选方式选择控制择控制字

33、标志字标志PA口方式口方式2 PB口口方式方式0PB口输口输入入PC2-00:输出输出1:输入输入PA7-PA0ACKAINTRAI/OOBFASTBAPC2 - 0IBFAPC3PC7 PC6 PC5 PC4PB7-PB08bit8bitRDWR计算机接口与通信方式2(双向选通传输方式)PA口工作于方式口工作于方式2,PB口工作于方式口工作于方式0输出输出 11XXX00D0方式选方式选择控制择控制字标志字标志PA口方式口方式2 PB口口方式方式0PB口输口输出出PC2-00:输出输出1:输入输入PA7-PA0ACKAINTRAI/OOBFASTBAPC2 - 0IBFAPC3PC7 PC6

34、 PC5 PC4PB7-PB08bit8bitRDWR计算机接口与通信方式2(双向选通传输方式)PA口工作于方式口工作于方式2,PB口工作于方式口工作于方式1输入输入 11XXX11X方式选方式选择控制择控制字标志字标志PA口方式口方式2 PB口口方式方式1PB口输口输入入PA7-PA0INTRAOBFAACKAPC2PC1PC0IBFASTBAPC3PC7 PC6 PC5 PC4PB7-PB08bit8bitSTBBIBFBINTRBRDWR计算机接口与通信方式2(双向选通传输方式)PA口工作于方式口工作于方式2,PB口工作于方式口工作于方式1输出输出11XXX10X方式选方式选择控制择控制

35、字标志字标志PA口方式口方式2 PB口口方式方式1PB口输口输出出8bitPA7-PA0INTRAOBFAACKAPC2PC1PC0IBFASTBAPC3PC7 PC6 PC5 PC4PB7-PB08bitACKBINTRBOBFBRDWR计算机接口与通信方式定义一览表MODE 0MODE 1MODE 2INOUTINOUTGROUP A ONLYPA0INOUTINOUT. . . . . . . . . . .PA7INOUTINOUTPB0INOUTINOUT. . . . . . . . . . . . .PB7INOUTINOUTPC0INOUTINTRBINTRB根据根据PB口的定

36、义而定口的定义而定PC1INOUTIBFBOBFB根据根据PB口的定义而定口的定义而定PC2INOUTSTBBACKB根据根据PB口的定义而定口的定义而定PC3INOUTINTRAINTRAINTRAPC4INOUTSTBAI/OSTBAPC5INOUTIBFAI/OIBFAPC6INOUTI/OACKAACKAPC7INOUTI/OOBFAOBFAMODE 0OR MODE 1 ONLY计算机接口与通信8255A的中断控制功能当8255A工作于方式1或方式0时,能输出一个控制信号,用于对CPU的中断请求。INTE=0 禁止中断INTE=1 允许中断8255A规定在方式1输入操作时,INTEA

37、由PC4的置位/复位控制;输出操作时,由PC6的置位/复位控制;不论是输入操作还是输出操作,INTEB均由PC2的置位/复位控制。当8255A工作在方式2时,若为输出操作,则INTE1由PC6的置位/复位控制;若为输入操作,则INTE2由PC4的置位/复位控制。计算机接口与通信8255A的中断控制功能编写一段程序,使8255A在方式2输出操作时允许中断。设控制端口地址为303H。MOV AL, 0DHMOV DX, 303HOUT DX, ALMOV AL, 0C0HOUT DX, AL计算机接口与通信端口C的功能和状态字在方式0时,端口C被分成两个四位的数据端口,可分别选择输入或输出。当82

38、55A由程序设定在方式1或方式2时,端口C根据不同的方式,产生或接受状态控制信号。读取端口C的内容,能够测试或检查每个外部设备的状态,并相应改变程序流程。PC端口的引脚功能端口的引脚功能 与外设进行数据交换时的握手信号; 向8259A提出中断请求的信号; 2个或3个可编程的I/O位数据。 PC端口的引脚所对应的寄存器中端口的引脚所对应的寄存器中bit(状态字)定义(状态字)定义 与外设进行数据交换时的握手信号应反映的状态; 向8259A提出中断请求的信号的状态; PA和PB端口中断允许位的状态; 2个或3个可编程的I/O位数据当前的状态。 计算机接口与通信8255A工作于方式1选通输入PC端口

39、引脚定义端口引脚定义 INTRBIBFBSTBBINTRASTBAIBFAI/OI/OPC0PC1PC2PC3PC4PC5PC6PC7PC端口的引脚所对应的寄存器中端口的引脚所对应的寄存器中bit(状态字)的定义(状态字)的定义 D0D1D2D3D4D5D6D7只读只读只读只读读读/写写只读只读读读/写写只读只读读读/写写读读/写写INTRBIBFBINTEBINTRAINTEAIBFAI/OI/O计算机接口与通信8255A工作于方式1选通输出PC端口引脚定义端口引脚定义 PC7PC6PC5PC4PC3PC2PC1PC0OBFAACKAI/OI/OINTRAACKBOBFBINTRBPC端口的

40、引脚所对应的寄存器中端口的引脚所对应的寄存器中bit(状态字)的定义(状态字)的定义 D7D6D5D4D3D2D1D0OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB只读只读读读/写写读读/写写读读/写写只读只读读读/写写只读只读只读只读计算机接口与通信8255A工作于方式2PC端口引脚定义端口引脚定义 PC7PC6PC5PC4PC3PC2PC1PC0OBFAACKAIBFASTBAINTRAXXXPC端口的引脚所对应的寄存器中端口的引脚所对应的寄存器中bit(状态字)的定义(状态字)的定义 D7D6D5D4D3D2D1D0OBFAINTE1IBFAINTE2INTRAXX

41、X只读读/写只读读/写只读根据PB口的定义v对对PC端口的写入:端口的写入:允许或禁止允许或禁止PA(或(或PB)端口中断请求(置位)端口中断请求(置位/复位复位INTE) 使使I/O引脚置位引脚置位/复位复位 v对对PC端口的读取:端口的读取: 读取状态字读取状态字 计算机接口与通信端口C的读出内容D7D6D5D4D3D2D1D0OBFAINTE1IBFAINTE2INTRAXXX只读只读读读/写写只读只读读读/写写只读只读根据根据PB口的定义口的定义D7D6D5D4D3D2D1D0OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB只读只读读读/写写读读/写写读读/写写只读

42、只读读读/写写只读只读只读只读D7D6D5D4D3D2D1D0I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB读读/写写读读/写写只读只读读读/写写只读只读读读/写写只读只读只读只读计算机接口与通信8255与系统的连接示意图D0D7D0D7WRWRRDRDA1A1A0A0CSCSDBDBIOWIOWIORIORA1A1A0A0译码器译码器82558255A A口口B B口口C C口口D0D7D0D7外外 设设A9A9A2A2系系统统总总线线计算机接口与通信方式0的应用用于连接简单外设。适用于:无条件输入输出方式。输入输出把A、B口作为8位数据的输入或输出口,计算机接口与通信

43、方式1的应用主要用于中断控制方式下的输入输出。C口除部分位用作选通信号外,其余位可工作在方式0下,作为输入或输出线。 特别是计算机接口与通信方式2的应用可用于中断控制输入输出方式。当A口工作于方式2时,B口可工作于方式1(此时C口的剩余位都用作B口选通控制线);B口也可工作于方式0(此时C口的剩余位也只能用作方式0下的输入输出线)。计算机接口与通信8255A的应用实例1、用方式0与打印机接口用8255A作为打印机接口且工作于方式0,CPU与8255A利用查询方式输出数据,连接图如下图所示,用A口输出打印数据,C口的PC7引脚产生负脉冲选通信号,PC2引脚连接打印机忙信号,设8255的端口地址是

44、300303H。计算机接口与通信 MOV DX,303H ;控制口地址;控制口地址 MOV AL,81H ;(10000001)A口方式口方式0输出,上输出,上C口输出,下口输出,下C口输入口输入 OUT DX, AL ;输出方式控制字;输出方式控制字 MOV AL,0FH ;使;使PC7=1(置(置STROBE=1) OUT DX, AL ;输出命令字;输出命令字 MOV DX, 302H ;C口地址口地址PRN:IN AL, DX ;读;读C口,查询口,查询PC2 AND AL, 04H ;BUSY=0? JNZ PRN ; 忙,则等待忙,则等待MOV DX, 300H ;不忙,则输出数据

45、;不忙,则输出数据 MOV AL, AH OUT DX, AL MOV DX, 303H MOV AL, 0EH ;使;使PC70,输出选通负脉冲,输出选通负脉冲STROBE OUT DX, AL NOP ;适当延时,维持一定的脉宽;适当延时,维持一定的脉宽 NOP MOV AL, 0FH ;使;使PC7=1,结束,结束STROBE脉冲脉冲 OUT DX, AL计算机接口与通信2、用方式1与打印机接口PC7自动作为OBF输出信号,PC6作为ACK输入信号,而PC3作为INTR输出信号,另外通过PC6控制INTEA决定是否采用中断方式。计算机接口与通信PRINT PROC PUSH AX PUS

46、H BX PUSH CX PUSH DX MOV DX, 303H MOV AL, 0A0H ;设设A口为方式口为方式1输出输出(10100000) OUT DX, AL MOV AL, 0CH ;INTEA (PC6) =0,禁止中断,禁止中断 OUT DX, AL MOV CX, CONT ;打印字节数送;打印字节数送CX MOV BX, OFFSET BUFFER ;取缓冲区首址;取缓冲区首址PRN1:MOV AL, BX ;取一个数;取一个数 MOV DX, 300H OUT DX, AL ;从;从A口输出口输出 MOV DX, 302H计算机接口与通信PRN2:IN AL, DX ;

47、读C口 TEST AL, 80H ;检测OBF (PC7) 为1否? JZ PRN2 ;为0,继续检测 INC BX ;为1,数据已输出,准备取下一个数 LOOP PRN1 POP DX POP CX POP BX POP AX RETPRINT ENDP计算机接口与通信Centronics并行打印机接口引 脚信 号引 脚信 号1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18STROBE (选通信号)TATA0 TATA1 TATA2 TATA3 TATA4 TATA5 TATA6 TATA7 ACK (应答信号)BUSY (忙信号)PE ( 缺纸信号)

48、 SLCT (联机信号)AUTOFEEDXT(自动走纸)NC (不用)逻辑地机壳 NC (不用)19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36信号地信号地信号地信号地信号地信号地信号地信号地信号地信号地信号地信号地INIT (初始化信号)ERROR (出错信号)地 NC(不用)5VSLCTIN计算机接口与通信计算机接口与通信PC机并行打印口寄存器并行口 数据端口 状态端口 控制端口 LPTl 378H379H37AHLPT2 278H279H27AH计算机接口与通信CPU向打印机传送打印数据时,通过数据端口,对数据寄存器进行写操作。向

49、打印机传送控制命令时,通过控制端口,对控制寄存器进行写操作。CPU要获得打印机状态时,则通过状态端口,对状态寄存器进行读操作。控制寄存器各位的含义如图319。计算机接口与通信状态寄存器各位的含义如图计算机接口与通信打印机接口编程 查询方式查询方式通过不断测试通过不断测试BUSYBUSY信号进行,如果信号进行,如果BUSYBUSY信号为低电平,信号为低电平,打印机空闲,则发送欲打印的数据,同时发送选通信打印机空闲,则发送欲打印的数据,同时发送选通信号号STBSTB,将数据送入打印机缓冲区。,将数据送入打印机缓冲区。例:使用查询方式通过并行口1,打印一行字符“HELLO!”计算机接口与通信DATA

50、 SEGMENTBUFFER DB HELLO!,0DH,0AHCOUNT EQU $BUFFERDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX, DATA MOV DS, AX MOV BX, OFFSET BUFFER MOV CX, COUNTCHECK:MOV DX, 379H IN AL, DX ;读状态字 AND AL, 80H JZ CHECK ;BUSY0,继续检测MOV AL, BX MOV DX, 378H ;BUSY1, OUT DX, AL ;则输出一个字符 MOV AL, 00001101BMOV D

51、X, 37AH OUT DX, AL MOV AL, 00001100B OUT DX, AL ;发选通脉冲 INC BX LOOP CHECK ;循环输出下一个字符 MOV AH, 4CH INT 21HCODE ENDS END START计算机接口与通信软件加密狗软件狗:一种插在微机并行口上的一个软件保护装置。为了大型专用软件的加密而开发的。它包括主机检查程序和密钥(也称加密盒)两部分,体积很小且不带电源,主机检查程序是加密代码的一部分,加密盒是用来存放密码的。常见的软件狗加密盒外形,如两个D行25针连接器(DB-25M和DB-25F)倒接在一起,DB-25M插在并行口上,DB-25F可接打印机。 计算机接口与通信硬件设计原理当被加密的软件向它发出某种信号时,它能给出正确的回应。 并口输入线本身有5根,其中可选用的只有2根,即联机信号SLCT和应答信号ACK,而且这两条线的使用都是有条件的。如果计算机不是利用硬中断来实现假脱机打印(多数情况是如此),则ACK线可以用作状态输入线。 计算机接口与通信软件狗的电路:采用一个计数器,通过并行口数据线控制其计数操作,而计数器某根输出线与并口ACK相连,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论