7并行接口子8255A.ppt

7并行接口子8255A.ppt

§ 7·1 并行I/O接口的特点 一、并行接口的定义 实现并行输入/输出的接口就是并行接口。通常,一个并行接口可设计为输出接口,例如连接一台打印机;也可设计为输入接口,例如连接键盘;还可设计成双向通讯接口,既可作为输入接口又可作为输出接口,例如连接像磁盘驱动器这样的需要双向通路的设备。 4)由于并行通信所采用的电缆较多,不太适合长距离传输。所以,并行通信通常用在数据传输率要求较高、而传输的距离相对较短的场合 四、并行接口的基本工作原理 1、数据的输入过程 当外设把数据送到数据输入线上时,通过“数据输入准备好”状态线通知接口取数。接口在把数据锁存到输入缓冲器的同时,把数据输入回答线置“1”,用来通知外设,接口的数据输入缓冲器“满”,禁止外设再送数据。同时把内部状态寄存器中“输入准备好”状态位置“1”,以便CPU对其进行查询或向CPU申请中断。在CPU读取接口中的数据后,接口将自动清除“输入准备好”状态位和“数据输入回答”信号,以便外设输入下一个数据。 § 7·2 并行I/O接口芯片8255A 一、8255A的内部结构及外部引脚 二、8255A的控制字与初始化编程 2、C口按位置0/置1控制字 §7·3 并行接口芯片8255A的工作方式 1)无条件传送一般用于连接简单的外部设备。例如,键盘和开关状态输入,状态指示灯输出。进行无条件传送时,接口和外部设备之间不使用联络信号,CPU可以随时对该外部设备进行读写。用8255A进行无条件传送时,可实现三路8位数据或两路8位及两路4位的数据传输。 2)进行查询式传送时,端口A和端口B作为数据的输入输出口,端口C的若干位用作联络信号。把C端口的一组(4位)设置为输出,用作端口A和端口B的控制信号输出。把C端口的另一组(4位)设置为输入,用作端口A和端口B的外设状态信号输入。两个组中剩余的引脚信号还可以用于其他控制,例如控制指示灯,或者开关输入。这样,利用端口C的配合,可实现端口A和端口B的查询式数据传输。 例题1:设8255A端口A工作在方式0下,通过A口输出数据控制8个指示灯轮流点亮。电路连接如图所示。 (地址为04A0H~04A6H) MOV DX,04A6H;控制口地址送DX MOV AL,80H;写工作方式控制字 OUT DX,AL MOV DX,04A0H;A端口地址送DX MOV AL,0FEH;低电平灯亮 AA1∶ OUT DX,AL;输出数据 CALL DELAY;延时 ROL AL,1;轮流点亮 JMP AA1 执行此段程序时要注意延时子程序的延时时间,若延时时间不够,指示灯会全亮或全灭。 例题2:开关输入与LED显示与ISA总线的接口电路如图所示。8255A端口A编程为方式0,端口A向7段LED显示器提供段码,端口C作为开关数据输入。本例中,接口的功能是:将4位开关输入的二进制数转换成对应的16进制数,并在7段LED上显示。 DATA SEGMENT SEGTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;定义7段码表 DB 7FH,67H,77H,7CH,39H,5EH,79H,71H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS,AX MOV AL ;8255A控制字 MOV DX,203H OUT DX,AL MOV BX,OFFSET SEGTAB MOV DX,202H;输入开关状态 IN AL,DX MOV AH,0 AND AL,0FH ;屏蔽高4位 ADD BX,AX;获取输入数字对应的7段码地址 MOV AL,[BX];取7段码 MOV DX,200H;向端口A输出7段码 OUT DX,AL MOV AX,4C00H ;返回DOS操作系统 INT 21H CODE ENDS END START 2、方式1时输入端口对应的控制信号 3、方式1时输出端口对应的控制信号 三 、方式 2(双向传输方式) 只适合于端口A,在方式2下,外设可以在8位数据线上,既往 CPU发送数据,又从CPU接收数据。当A口工作于方式2时,C端口 自动提供相应的控制信号。 1、方式2工作时的控制信号 2、方式2的使用场合 方式2是一种双向工作方式,如果一个外设既是输入设备,又是输出设备,并且输入和输出是分时进行的,

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档