第八篇 常用IO接口芯片.ppt

  1. 1、本文档共135页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 常用I/O接口芯片 8255 8251 8253 并行/O接口芯片8255 1、并行通信技术基础知识 数据传输方式 以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据 适合于外部设备与微机之间进行近距离、大量和快速的信息交换 例如:微机与并行接口打印机、磁盘驱动器 微机系统中最基本的信息交换方法 例如:系统板上各部件之间,接口电路板上各部件之间 并行接口与并行通信 在多条物理数据线上同时传输多位二进制数据,那么这种传输就是并行传输、这种接口就是并行接口。 信息交换是通过并行接口来完成的话,这种通信就是并行通信。 并行接口的特点 (1)并行接口最基本的特点是在多条数据线上以数据字节(字)为单位与I/O设备或被控对象交换信息。如打印机接口,A/D、D/A转换器接口等。 (2)在并行接口中,除了少数场合(无条件传送)外,一般都要求在接口与外设之间设置并行数据线的同时,至少还要设置两条联络(握手)信号线,以便进行互锁异步握手方式(即查询方式)的通信。 (3)在并行接口中,并行的多位二进制(8位、16位或32位)是一起动作的,因此,当采用并行接口与外设交换数据时,即便是只用到其中的一位,也是一次输入/输出所有的并行位(8位、16位或32位)。 (4)并行传输的信息,从时间顺序来讲一般不需要固定的格式,由于并行通信的双方往往是控制与被控制方式连接的。 (5)并行接口可直接设置成用硬布线方式连接的接口,也可用可编程接口芯片组成可编程接口。 并行接口电路8255A 具有多种功能的可编程并行接口电路芯片 最基本的接口电路:三态缓冲器和锁存器 与CPU间、与外设间的接口电路:状态寄存器和控制寄存器 还有端口的译码和控制电路、中断控制电路 分3个端口,共24个外设引脚 共三种输入输出工作方式 8255A的内部结构和引脚 1. 外设数据端口 端口A:PA0~PA7 A组,支持工作方式0、1、2 端口B:PB0~PB7 B组,支持工作方式0、1 端口C:PC0~PC7 仅支持工作方式0 A组控制高4位PC4~PC7 B组控制低4位PC0~PC3 2. 与处理器接口 1. 写入方式控制字:控制字格式 1. 写入方式控制字:示例 要求: A端口:方式1输入 C端口上半部:输出,C口下半部:输入 B端口:方式0输出 方式控制字或B1H 初始化的程序段: mov dx,0fffeh ;假设控制端口为FFFEH mov al,0b1h ;方式控制字 out dx,al ;送到控制端口 2. 读写数据端口 初始化编程后: 当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据 当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备 8255A具有锁存输出数据的能力 对输出方式的端口同样可以输入 不是读取外设数据 读取的是上次CPU给外设的数据 2. 读写数据端口:示例 利用8255A的输出锁存能力,可实现按位输出控制 对输出端口B的PB7位置位的程序段: mov dx,0fffah ;B端口假设为FFFAH in al,dx ;读出B端口原输出内容 or al,80h ;使PB7=1 out dx,al ;输出新的内容 端口C的位控制字 位控制字写入控制端口 特别便于置位复位内部中断允许触发器INTE 端口C的状态字 ⑶ 关于控制字的几点说明 控制字的最高位(D7)是特征位用以区别8255A的工作方式命令和按位置/复位命令字。D7=1时,为工作方式命令;D7=0时,为按位置位/复位命令。因此,可以判断,命令代码的值等于、大于80H的,是工作方式命令;小于80H的,是按位置位/复位命令,可以判断,并且奇数值是置位命令,而偶数值是复位命令。 方式命令是对8255A的3个端口的工作方式及功能进行指定,即进行初始化,初始化工作要在使用8255A之前做。也就是说,凡是用到8255A,就一定要行初始化。 按位置位/复位命令只是对PC口的输出进行控制,使用它并不破坏已经建立的3种工作方式,而是对它们实现动态控制的一种支持。它可放在初始化程序以后的任何地方。 ⑶ 关于控制字的几点说明 按位置位/复位命令代码只能写入命令口。 PA口、PB口也可以按位输出高/低电平,但是,这与前面的按位置位/复位命令有本质的区别,并且实现的方法也不同。PC口按位输出是以命令的形式送到控制寄存器存器去执行的,而PA口、PB口的按位输出是以送数据到PA口、PB口来实现的。其具体作法是:若要使某一位置高电平,则先对端口进行读操作,将读入的原输出值,“或”上一个字节,字节中使该位为1,其他位为0,然后再回送到同一端口,即可使该位置位;若要使某一位置低电平,则先读入原输出值字节,再将它“与”

您可能关注的文档

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档