wjyl2微机技术11章节

上传人:E**** 文档编号:91256436 上传时间:2019-06-26 格式:PPT 页数:125 大小:1.33MB
返回 下载 相关 举报
wjyl2微机技术11章节_第1页
第1页 / 共125页
wjyl2微机技术11章节_第2页
第2页 / 共125页
wjyl2微机技术11章节_第3页
第3页 / 共125页
wjyl2微机技术11章节_第4页
第4页 / 共125页
wjyl2微机技术11章节_第5页
第5页 / 共125页
点击查看更多>>
资源描述

《wjyl2微机技术11章节》由会员分享,可在线阅读,更多相关《wjyl2微机技术11章节(125页珍藏版)》请在金锄头文库上搜索。

1、第 11 章,第11章 并行接口,教学重点 8255A的工作方式和编程 8255A的应用 简易键盘的扫描程序 LED数码管的多位显示,并行数据传输方式,以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据 适合于外部设备与微机之间进行近距离、大量和快速的信息交换 例如:微机与并行接口打印机、磁盘驱动器 微机系统中最基本的信息交换方法 例如:系统板上各部件之间,接口电路板上各部件之间,11.1 并行接口电路8255A,具有多种功能的可编程并行接口电路芯片 最基本的接口电路:三态缓冲器和锁存器 与CPU间、与外设间的接口电路:状态寄存器和控制寄存器 还有端口的译码和控制电路

2、、中断控制电路 分3个端口,共24个外设引脚 共三种输入输出工作方式,11.1.1 8255A的内部结构和引脚,1. 外设数据端口,端口A:PA0PA7 A组,支持工作方式0、1、2 端口B:PB0PB7 B组,支持工作方式0、1 端口C:PC0PC7 仅支持工作方式0 A组控制高4位PC4PC7 B组控制低4位PC0PC3,端口A:PA0PA7 常作数据端口,功能最强大 端口B:PB0PB7 常作数据端口 端口C:PC0PC7 可作数据、状态和控制端口 分两个4位,每位可独立操作 控制最灵活,最难掌握,2. 与处理器接口,D0 D7数据线 A0 A1地址线 RD*读信号 WR*写信号 CS*

3、片选信号 RESET复位信号,11.1.2 8255A的工作方式,方式0:基本输入输出方式 适用于无条件传送和查询方式的接口电路 方式1:选通输入输出方式 适用于查询和中断方式的接口电路 方式2:双向选通传送方式 适用于与双向传送数据的外设 适用于查询和中断方式的接口电路,方式0输入时序,请体会这里8255A的数据缓冲作用,方式0输出时序,8255A对CPU通过它输出给外设的数据进行锁存,方式1输入引脚:A端口,数据选通信号 表示外设已经准备好数据,输入缓冲器满信号 表示A口已经接收数据,中断请求信号 请求CPU接收数据,方式1输入引脚:B端口,方式1需借用端口C用做联络信号 同时还具有中断请

4、求和屏蔽功能,方式1输入联络信号,STB*选通信号,低电平有效 由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器 IBF输入缓冲器满信号,高电平有效 8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器 INTR中断请求信号,高电平有效 8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据,方式1输入时序,STB*和IBF是外设和8255A间 的一对应答联络信号, 为的是可靠地输入数据,方式1中断控制,8255A的中断由中断允许触发器INTE控制 置位允许中断,复位禁止中断 对INTE的操作通过写入端口C的对应位实现,INTE触

5、发器对应端口C的位是作应答联络信号的输入信号的哪一位,只要对那一位置位/复位就可以控制INTE触发器 选通输入方式下 端口A的INTEA对应PC4 端口B的INTEB对应PC2,方式1输出引脚:A端口,外设响应信号 表示外设已经接收到数据,输出缓冲器满信号 表示CPU已经输出了数据,中断请求信号 请求CPU再次输出数据,方式1输出引脚:B端口,方式1输出联络信号,OBF*输出缓冲器满信号,低有效 8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走 ACK*响应信号,低有效 外设的响应信号,指示8255A的端口数据已由外设接受 INTR中断请求信号,

6、高有效 当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据,端口A的INTEA对应PC6 端口B的INTEB对应PC2,方式1输出时序,OBF*和ACK*是外设和8255A间 的一对应答联络信号, 为的是可靠地输出数据,方式2双向方式,方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据 只有端口A可以工作于方式2,需要利用端口C的5个信号线,其作用与方式1相同 方式2的数据输入过程与方式1的输入方式一样 方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信

7、号ACK*时才送出数据,方式2双向引脚,用PC6设置INTE1(输出) 用PC4设置INTE2(输入) 输入和输出中断通过 或门输出INTRA信号,方式2双向时序,11.1.3 8255A的编程,初始化编程:一个方式控制字 采用控制I/O地址:A1A011 工作过程中:通过数据端口对外设数据进行读写 数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10 IBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H,1. 写入方式控制字:控制字格式,1. 写入方式控制字:示例,要求: A端口:方式1输入 C端口上半部:输出,C口下半部:输入 B

8、端口:方式0输出 方式控制字:10110001B或B1H 初始化的程序段: mov dx,0fffeh ;假设控制端口为FFFEH mov al,0b1h ;方式控制字 out dx,al ;送到控制端口,2. 读写数据端口,初始化编程后: 当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据 当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备 8255A具有锁存输出数据的能力 对输出方式的端口同样可以输入 不是读取外设数据 读取的是上次CPU给外设的数据,2. 读写数据端口:示例,利用8255A的输出锁存能力,可实现按位输出控制 对输出端口B的PB7位置位

9、的程序段: mov dx,0fffah ;B端口假设为FFFAH in al,dx ;读出B端口原输出内容 or al,80h ;使PB71 out dx,al ;输出新的内容,3. 读写端口C:归纳1,C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出,在控制上,C端口上半部和A端口编为A组,C端口下半部和B端口编为B组,3. 读写端口C:归纳2,当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将被征用,其余引脚仍可设定工作在方式0,3. 读写端口C:归纳3,对端口C的数据输出有两种办法 通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的

10、输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效 通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器,端口C的位控制字,位控制字写入控制端口 特别便于置位复位内部中断允许触发器INTE,3. 读写端口C:归纳4,读取的C端口数据有两种情况 未被A和B端口征用的引脚:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息 被A和B端口征用作为联络线的引脚:将读到反映8255A状态的状态字,端口C的状态字,11.2 8255A的应用,作为通用的并行接口电路芯片,825A具有广泛的应用 应用在IBM PC/XT微机上 应用于

11、打印机接口电路 连接简易键盘 驱动LED数码管 ,11.2.1 8255A在IBM PC/XT上的应用,工作在基本输入/输出方式0 端口A为方式0输入,用来读取键盘扫描码 端口B工作于方式0输出,例如控制扬声器等 端口C为方式0输入,读取系统状态和配置 系统的初始化编程: mov al,10011001b ;方式控制字99H out 63h,al,打印机接口的信号与时序,主机把数据送给引脚DATA0DATA7 同时送出数据选通信号STROBE* 打印机在BUSY信号线上发出忙信号 打印机处理好输入的数据时 撤消忙信号 同时又送出一个响应信号ACK*,11.2.2 用8255A方式0与打印机接口

12、,8255A的初始化,mov dx,0fffeh ;控制端口地址:FFFEH mov al,10000001B ;方式控制字:91H out dx,al ;A端口方式0输出,C端口上输出、下输入 mov al,00001111B ;端口C的复位置位控制字,使PC71 out dx,al,例11.1,打印子程序:查询,printc proc push ax push dx prn: mov dx,0fffch ;读取端口C in al,dx ;查询打印机状态 and al,04h ;PC2BUSY0? jnz prn ;PC21,打印机忙,则循环等待,例11.1,打印子程序:输出,mov dx,

13、0fff8h ;PC20,打印机不忙,则输出数据 mov al,ah out dx,al ;将打印数据从端口A输出,例11.1,打印子程序:打印,mov dx,0fffeh ;从PC7送出控制低脉冲 mov al,00001110B ;置STROBE*0 out dx,al nop ;产生一定宽度的低电平 nop mov al,00001111B ;置=1 out dx,al ;最终,STROBE*产生低脉冲信号,例11.1,打印子程序:返回,pop dx pop ax ret printc endp,例11.1,11.2.3 用8255A方式1与打印机接口,8255A方式1与打印机接口时序配

14、合,方式1时序,打印机时序,8255A的初始化,mov dx,0fffeh mov al,0a0h out dx,al mov al,0ch ;使INTEA(PC6)为0,禁止中断 out dx,al mov cx,counter ;打印字节数送CX mov bx,offset buffer ;取字符串首地址 call prints ;调用打印子程序,例11.2,打印子程序:输出,prints proc push ax ;保护寄存器 push dx print1: mov al,bx ;取一个数据 mov dx,0fff8h out dx,al ;从端口A输出,例11.2,打印子程序:查询,m

15、ov dx,0fffch print2: in al,dx test al,80h ;检测(PC7)为1否? jz print2 ;为0,说明打印机没有响应,继续检测,例11.2,打印子程序:返回,inc bx ;为1,说明打印机已接受数据 loop print1 ;准备取下一个数据输出 pop dx ;打印结束,恢复寄存器 pop ax ret ;返回 prints endp,例11.2,11.2.4 双机并行通信接口,甲机的初始化,mov dx,0fffeh mov al,0a0h out dx,al ;工作方式字:端口A方式1输出 mov al,0dh ;使PC6(INTEA)1,允许中

16、断 out dx,al,例11.3,甲机发送程序,trsmt: mov dx,0fffch in al,dx ;查询PC3(INTRA)1? and al,08h jz trsmt mov dx,0fff8h ;发送数据 mov al,ah out dx,al,例11.3,乙机的初始化,mov dx,0fffeh mov al,98h out dx,al ;工作方式字:端口A方式0输入 mov al,01h ;使PC0(ACK*)1,因尚未收到数据 out dx,al,例11.3,乙机:查询接收,receive: mov dx,0fffch in al,dx ;查询PC4(OBF*)0? and al,10h jnz receive mov dx,0fff8h ;接收数据 in al,dx mov ah,al,例11.3,乙机:接收响应,mov dx,0fffeh mov al,00h ;使PC0(ACK*)0 out dx,al nop ;适当延时,产生一定宽度的低脉冲 nop mo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号