微机原理 汇编语言与接口技术 韩晓茹ch08 可编程接口芯片

上传人:E**** 文档编号:89277318 上传时间:2019-05-22 格式:PPT 页数:196 大小:2.88MB
返回 下载 相关 举报
微机原理 汇编语言与接口技术 韩晓茹ch08 可编程接口芯片_第1页
第1页 / 共196页
微机原理 汇编语言与接口技术 韩晓茹ch08 可编程接口芯片_第2页
第2页 / 共196页
微机原理 汇编语言与接口技术 韩晓茹ch08 可编程接口芯片_第3页
第3页 / 共196页
微机原理 汇编语言与接口技术 韩晓茹ch08 可编程接口芯片_第4页
第4页 / 共196页
微机原理 汇编语言与接口技术 韩晓茹ch08 可编程接口芯片_第5页
第5页 / 共196页
点击查看更多>>
资源描述

《微机原理 汇编语言与接口技术 韩晓茹ch08 可编程接口芯片》由会员分享,可在线阅读,更多相关《微机原理 汇编语言与接口技术 韩晓茹ch08 可编程接口芯片(196页珍藏版)》请在金锄头文库上搜索。

1、,第8章 可编程接口芯片,8.1 可编程并行接口芯片8255A,并行接口:能实现并行传输的接口 内部结构 引脚功能 工作方式 编程应用,8.1 可编程并行接口芯片8255A,并行通信 以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据 适合于外部设备与微机之间进行近距离、大量和快速的信息交换 例如:微机与并行接口打印机、磁盘驱动器 微机系统中最基本的信息交换方法 例如:系统板上各部件之间,接口电路板上各部件之间 并行接口 实现并行通信的接口称为并行通信接口 不可编程并行接口,如74ls244、73ls273等 可编程并行接口,可以通过编程命令字确定接口的工作方式,如8

2、255A,可编程并行接口芯片8255A的特点,具有多种功能的可编程并行接口电路芯片 最基本的接口电路:三态缓冲器和锁存器 与CPU间、与外设间的接口电路:状态寄存器和控制寄存器 还有端口的译码和控制电路、中断控制电路 分3个端口,共24个外设引脚 共三种输入输出工作方式,8.1.1 8255A 的内部结构,与系统总线接口 内部逻辑 与外设接口,8255A的内部结构,CPU接口 数据总线缓冲器 双向三态的8位缓冲器,与系统数据总线连接,是8255A与CPU之间信息传输的必经之路。 读/写控制逻辑 管理8255A的数据传输过程。 三个数据端口A、B、C 三个8位的输入输出端口,可用指令将它们分别设

3、置成输入或输出端口。 A组控制、B组控制 8255A将端口A、B、C分为两组:端口A和端口C的高4位构成A组,端口B和端口C的低4位构成B组。,端口A:PA0PA7 输入锁存,输出锁存缓冲 常作数据输入输出端口 端口B:PB0PB7 输入缓冲,输出锁存缓冲 常作数据输入输出端口 端口C:PC0PC7 输入缓冲,输出锁存缓冲 可作数据、状态和控制端口 分两个4位,每位可独立操作,外设数据端口,端口A:PA0 PA7 A组,支持工作方式0、1、2 端口B:PB0 PB7 B组,支持工作方式0、1 端口C:PC0 PC7 仅支持工作方式0 A组控制高4位PC4PC7 B组控制低4位PC0PC3,8.

4、1.2 8255的引脚功能,1. 与CPU连接的信号线 D7D0:8255A的双向三态数据线。 A1、A0: 端口地址选择信号。 CS#:片选信号。 RD#:读信号,低电平有效。 WR#:写信号,低电平有效。 RESET:复位信号。 VCC、GND:电源和地线。,2. 与外部设备相连的信号线,PA7PA0:A口与外部设备连接的数据线。 PB7PB0:B口与外部设备连接的数据线。 PC7PC0:C口输入输出数据线。,8.1.3 8255A的工作方式,1方式0 基本输入/输出方式 (1)方式0的工作特点: A口和B口作为两个8位端口 C口的高4位和低4位可以用作两个4位端口 各端口都可以定义为输入

5、或者输出,共16种组合 输入有缓冲,输出有锁存 (2)方式0的使用场合: 无条件传送 查询式传送,方式0输入时序,请体会这里8255A的数据缓冲作用,方式0输出时序,8255A对CPU通过它输出给外设的数据进行锁存,2方式1 选通输入/输出方式,(1)方式1工作特点 端口A、端口B和端口C被分为两个组。 端口A和端口B用作8位数据的输入/输出,端口C的一些引脚被规定为端口A、B的联络信号。 数据输入/ 输出均具有锁存能力 (2)方式1的使用场合: 查询式传送 中断传送,方式1输入引脚:A端口,数据选通信号 表示外设已经准备好数据,输入缓冲器满信号 表示A口已经接收数据,中断请求信号 请求CPU

6、接收数据,方式1输入引脚:B端口,方式1需借用端口C用做联络信号 同时还具有中断请求和屏蔽功能,方式1输入联络信号,STB*选通信号,低电平有效 由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器 IBF输入缓冲器满信号,高电平有效 8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器 INTR中断请求信号,高电平有效 8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据,方式1输入时序,输入端口,STB*和IBF是外设和8255A间的一对应答联络信号, 为的是可靠地输入数据,方式1中断控制,8255A的中断由中断允许触发器INT

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

8、信号,低有效 外设的响应信号,指示8255A的端口数据已由外设接受 INTR中断请求信号,高有效 当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据,端口A的INTEA对应PC6 端口B的INTEB对应PC2,方式1输出时序,OBF*和ACK*是外设和8255A间的一对应答联络信号, 为的是可靠地输出数据,方式1的联络信号,3方式2 双向输入/输出方式,(1)方式2工作特点 方式2只适用于端口A,是双向的输入/输出传输方式。 方式2下各信号含义与方式1输入、输出方式相同,其中: INTE1:输出中断允许信号。 INTE2:输入中断允许信号。 (2)方式2的

9、使用场合 用于两台处理器之间实现双向并行通信。 查询方式 中断方式:如果同时允许输入中断和输出中断,则在中断服务程序中首先读取C口的状态,对IBFA和OBF#的状态进行检测,进一步确定是输入中断还是输出中断。,8.1.4 8255A的控制字,1. 方式选择控制字 8255A有三种基本工作方式: 方式0:基本输入输出方式 适用于无条件传送和查询方式的接口电路,三个端口都适用 方式1:选通输入输出方式 适用于查询和中断方式的接口电路,适用于端口A和端口B 方式2:双向选通传送方式 适用于与双向传送数据的外设 适用于查询和中断方式的接口电路,仅适用于端口A 8255A各数据端口的工作方式由方式选择控

10、制字进行设置。,8255A方式选择控制字,写入方式控制字:示例,要求: A端口:方式1输入 C端口上半部:输出,C口下半部:输入 B端口:方式0输出 方式控制字:10110001B或B1H 8255A端口地址为60H,61H,62H,63H 初始化的程序段: mov dx,63h ;控制端口为63H mov al,0b1h ;方式控制字 out dx,al ;或out 63h,al 送到控制端口,读写数据端口,初始化编程后: 当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据 当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备 8255A具有锁存输出数据的

11、能力 对输出方式的端口同样可以输入 不是读取外设数据 读取的是上次CPU给外设的数据,读写数据端口:示例,利用8255A的输出锁存能力,可实现按位输出控制 如利用端口C的第3位控制一盏灯,当PC3=1时,点亮灯,PC3=0时熄灭灯,程序段如下。 in al,62H ;读出C端口原输出内容 or al,00001000B ;使PC31,点亮灯 out 62H,al ;输出新的内容 in al,62H ;读出C端口原输出内容 and al,11110111B ;使PC30,熄灭灯 out 62H,al ;输出新的内容,2. 端口C按位置位/复位控制字,端口C有一种特殊的控制方式,可以将端口C的某一

12、位置1或清0,而不影响端口C的其他位的状态。,端口C按位置位/复位控制字应用实例,通过PC3控制灯的点亮与熄灭 MOV AL,00000111B ;PC3置1,点亮灯 OUT 63H,AL ;从控制口输出 MOV AL,00000110B ;PC3置0,熄灭灯 OUT 63H,AL ;从控制口输出 通过PC5产生负脉冲 MOV AL,00001011B ;PC5置1 OUT 63H,AL ;从控制口输出 MOV AL,00001010B ;PC5清0 OUT 63H,AL ;从控制口输出 MOV AL,00001011B ;PC5置1 OUT 63H,AL ;从控制口输出,读写端口C:归纳1,

13、C端口被分成两个4位端口,两个端口只能以方式0工作,可分别选择输入或输出方式 在控制上,端口C上半部和端口A编为A组,端口C下半部和端口B编为B组,当端口A和端口B工作在方式1或方式2时,端口C的部分或全部引脚将被征用,未被征用的引脚可作为输入或输出信号适用,方向有方式字确定,读写端口C:归纳2,对端口C的数据输出有两种办法 通过端口C的I/O地址:向C端口直接写入字节数据。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效 通过控制端口:向C端口写入位控字,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器,【例8-3】利用8255A的A口方式0输出与并口

14、打印机相连,将内存缓冲区BUFF中的字符打印输出。 ;数据段定义 BUFF DB This is a print program!,$,8.1.5 8255A 的应用1.8255A方式0应用举例,8255A与CPU和打印机连接示意图,通过图可知端口地址和端口的工作方式,8255A的初始化,mov dx,303H ;控制端口地址:303H mov al,10001000b ;方式控制字:88H out dx,al ;A端口方式0输出,C端口上输入、下输出 mov al,00000001b ;端口C的复位置位控制字,使PC01,选通无效 out dx,al,查询等待,mov si,offset b

15、uff;si用于对buff寻址 wait: mov dx,302h ;读取端口C in al,dx ;查询打印机状态 and al,80h ;PC7BUSY0? jnz wait ;PC71,打印机忙,则循环等待,连线图,输出字符,MOV AL,SI ;取一个字符打印 CMP AL,$ ;是否结束符 JZ DONE ;是结束符,则程序结束 MOV DX,300H OUT DX,AL ;不是结束符,则从A口输出,打印字符,MOV AL,00H MOV DX,303H ;使PC0清0,产生选通信号 OUT DX,AL MOV AL,01H ;使PC0置1 OUT DX,AL ;产生选通信号 INC

16、 SI ;修改指针,指向下一个字符 JMP WAIT ;继续循环 DONE: ;程序结束,8255A做为键盘及LED接口,假设地址258H25BH,8255A方式字,【例8-4】 8255A与键盘的接口,假设8255A地址为300H303H,“反转法”进行键盘扫描:,设8255A为方式0,A口输出,B口输入; 向A口输出00H,从B口读入键盘列线值: 低4位值为0FH:无键按下 否则,就有键按下 有键按下时,将8255A反向设置为A口输入,B口输出 将B口原读入值从B口输出 从A口输入,得到该键的“行列码”,KEYSCAN PROC NEAR BEGIN:MOV DX,303H ;置8255A控制口地址 MOV AL,82H ;8255A方式控制字 ;A口工作在方式0输出,B口工作在方式0输入 OUT DX,AL ;输出8255A方式控制字 MOV DX,30

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

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

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