第5章 可编程接口芯片及其应用

上传人:012****78 文档编号:132705229 上传时间:2020-05-19 格式:PPT 页数:74 大小:1.08MB
返回 下载 相关 举报
第5章 可编程接口芯片及其应用_第1页
第1页 / 共74页
第5章 可编程接口芯片及其应用_第2页
第2页 / 共74页
第5章 可编程接口芯片及其应用_第3页
第3页 / 共74页
第5章 可编程接口芯片及其应用_第4页
第4页 / 共74页
第5章 可编程接口芯片及其应用_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《第5章 可编程接口芯片及其应用》由会员分享,可在线阅读,更多相关《第5章 可编程接口芯片及其应用(74页珍藏版)》请在金锄头文库上搜索。

1、第5章可编程接口芯片及其应用 随着集成电路技术的发展 接口电路早已集成化 并出现了许多可编程接口芯片 为了具有通用性 这些芯片通常被设计成具有多项功能或多种工作方式 用户在使用时通过编程选择自己所需的功能或工作方式 尽管早期的可编程接口芯片在现代微机中已不再独立出现 但是本章在介绍时 还是以它们为讲解对象 因为这些是理解现代微机所用芯片的基础 此外 在单片机等微机应用系统或输入 输出设备中还常常用到它们 本章的主要内容是介绍可编程并行接口芯片8255A 可编程计数器 定时器8253 5 1可编程并行输入 输出接口芯片8255A Intel8255A是一种通用的可编程序并行I O接口芯片 是为I

2、ntel8080 8085系列微处理器设计的 也可用于其他系列的微机系统 5 1 18255A的内部结构及引脚功能 8255A为40引脚 双列直插封装 其引脚及内部结构如图5 1 1所示 由图可看出 8255A的内部结构由数据端口 组控制电路 数据总线缓冲器 读 写控制逻辑四部分组成 1 数据端口8255A有3个8位数据端口 端口A 端口B和端口C 分别简称为A口 B口和C口 2 数据总线缓冲器数据总线缓冲器是一个三态8位双向缓冲器 D7 D0同系统数据总线相连 CPU通过执行输入 输出指令来实现对缓冲器发送或接收数据 8255A的控制字和状态字也是通过该缓冲器传送的 3 A组和B组的控制电路

3、在8255A内部 3个端口分成两组来管理 A口及C口高4位为A组 B口及C口低4位为B组 两组分别设有控制电路 根据CPU发出的方式选择控制字来控制8255A的工作方式 每个控制组都接收来自读 写控制逻辑的 命令 接收来自内部数据总线的 控制字 并向与其相连的端口发出适当的控制信号 4 读 写控制逻辑读 写控制逻辑用来管理数据信息 控制字和状态字的传送 它接收来自CPU地址总线和控制总线的有关信号 向8255A的A B两组控制部件发送命令 8255A的引脚及内部结构示意图 8255A端口功能选择 5 1 28255A的控制字 8255A有两种控制字 一个是方式选择控制字 另一个是对C口进行置位

4、或复位的控制字 这两种控制字均为8位 1 方式选择控制字方式选择控制字用来设置工作方式 8255A有3种基本工作方式 方式0是基本的输入 输出方式 方式1是选通的输入 输出方式 方式2是双向传输方式 2 端口C的置位 复位控制字端口C的任一位可用这个控制字来置位或复位 而其他位保持不变 该控制字用最高位D7为0作为该控制字的标志位 D6 D4不用 一般取0 D3 D1用来进行位选择 即指定对哪一位进行操作 D0用来表示是置位还是复位 该控制字为对C口的按位操作提供了方便 8255A的方式选择控制字 8255A的对C口置位 复位控制字 5 1 38255A的工作方式 1 方式0方式0为基本的输入

5、 输出方式 在方式0下 C口的高4位和低4位以及A口 B口都可以独立地设置为基本的输入口或输出口 4个口的输入 输出可以有16种组合方式 且均可以由方式控制字确定 8255A在方式0工作时 CPU可以采用无条件输入 输出方式与8255A交换数据 如果把C口的两个部分用作控制和状态口 与外设的控制和状态端相连 CPU也可以通过对C口的读写 实现A口与B口的查询方式工作 CPU执行一条输入指令 便可从8255A指定端口读入数据 在整个读出期间 地址信号保持有效 输入数据必须保持到读信号结束后才消失 在方式0时 输入数据不作锁存 2 方式1 方式1为选通的输入 输出方式 或称应答式输入 输出 在方式

6、1下将三个端口分成A B两组 A B两个口仍作为数据输入 输出口 而C口分成两部分 分别作为A口和B口的联络信号 在8255A中规定三位联络信号 两个数据口共用去C口的六位 剩下的两位可以用作数据传输 用方式控制字的D3位来设置它的输入 输出 在方式1下 输入 输出端口均有锁存功能 1 方式1的输入 当8255A的A B两个口均工作在方式1输入时 其逻辑功能结构如图5 1 4所示 由图可见A口用C口的PC3 PC4和PC5引脚作联络信号 而B口则用C口的PC0 PC1和PC2引脚作联络信号 C口剩下的PC6 PC7可以用作数据传输 方式1输入的逻辑功能结构 方式1输入时序 2 方式1的输出 当

7、8255A的A B两个口均工作在方式1输出时 其逻辑功能结构如图5 1 6所示 由图可见A口用C口的PC3 PC6和PC7引脚作联络信号 而B口则用C口的PC0 PC1和PC2引脚作联络信号 C口剩下的PC4 PC5可以用作数据传输 方式1输出的逻辑功能结构 方式1输出时序 3 方式2 方式2为双向选通输入输出方式 方式2只限于A口使用 用C口的5位进行联络 工作时输入 输出数据都能锁存 当A口在方式2下工作时 B口可以在方式0或方式1工作 双向选通输入输出方式是通过A口8位数据线与外设进行双向通信的方式 既能发送 又能接收数据 工作时可以用中断方式 也可以用查询方式与CPU联系 当8255A

8、的A口工作在方式2时 其逻辑功能结构如图5 1 8所示 图中的5个联络信号与在方式1中的含义基本相同 因为是双向传送 所以INTRA在输入或输出时都可以产生 图中INTEl是与输出相关的中断允许 由对PC6的置位 复位控制 INTE2是与输入相关的中断允许 由对PC4的置位 复位控制 方式2的时序可认为是方式1的输入方式时序和方式1的输出方式时序的组合 为节省篇幅 这里不给出具体的时序图 方式2的逻辑功能结构 例5 1 1利用8255A方式0产生波形 利用8255A在方式0下工作 使其在PC0 PC3引脚产生如图5 1 9所示波形 试编写相应程序段 设8255A各端口地址分别设为60H 61H

9、 62H和63H 波形延时时间可调用延时1毫秒 Dlms 子程序实现 程序段 例5 1 2利用8255A方式1查询方式设计双机并行通信接口 1 要求在甲乙两台微机之间并行传送1KB数据 甲机发送 乙机接收 甲机一侧的8255A采用方式1工作 乙机一侧的8255A采用方式0工作 两机的CPU与接口之间均采用查询方式交换数据 2 硬件连接根据要求 双机均采用可编程并行接口芯片8255A构成接口电路 只是8255A的工作方式不同 双机并行通信接口电路框图 1 甲机发送程序 2 乙机接收程序 例5 1 3利用8255A方式2中断方式设计双向并行通信接口 1 要求主从两台微机进行并行传送 对主机而言 发

10、送和接收的数据合在一起共256个字节 主机一侧的8255A采用方式2 采用中断方式传送数据 从机一侧8255A工作在方式0 采用查询方式传送数据 2 硬件设计硬件设计如图5 1 11所示 为了适应中断的要求 接口电路中采用中断控制器8259A 由图5 1 11可知 主机一侧的8255A的A口作双向传送 既输出又输入 它的中断请求线接到8259A的IR2上 从机一侧的8255A的A口和B口是单向传送 分别作输出和输入 中断方式的双向并行通信接口电路框图 8255A方式2时读出的C口的状态字 3 软件设计 主机一侧的编程 主程序 主程序 主程序 中断服务程序 中断服务程序 5 2可编程计数器 定时

11、器8253 计数器 定时器在微机控制系统中有着广泛的应用 如在微机实时控制系统中常需要对多个被控对象进行定时采样 处理 或者对某一工作过程进行计数等 另外 微机中系统时钟日历 动态存储器的刷新以及扬声器的工作也需要由计数器 定时器提供时钟信号 它也可以在多任务的分时系统中提供精确的定时信号以实现各任务间的切换 定时和计数方法 软件方法 执行一段程序达到延时的目的 利用一个寄存器或一个存储器单元可达到计数的目的 优点是容易实现 节约硬件开销 定时时间和计数次数调整灵活 缺点是占用CPU的时间 降低了CPU的工作效率 定时不够精确 硬件方法 设计一个硬件电路 比如555集成电路外加电阻电容 或者C

12、D4020集成电路 就可完成定时和计数 但是 一旦电路形成 则定时时间和计数次数随之确定 要想改变 就只能重新设计硬件电路 该方法的优点是不占用CPU的时间 缺点是有硬件投资 有些电路定时不很精确 定时时间和计数次数调整麻烦 上述的两种方法各有优缺点 不能一概而论 应视系统的具体情况 根据CPU的任务处理量来择优选用 但是 当系统要求定时精确 不占用CPU时间 可灵活调整定时时间或计数次数时 则只能采用可编程的计数器 定时器芯片 8253就是这种芯片 5 2 18253的基本功能 8253的基本功能如下 1 含有3个独立的16位计数器 能够进行3个16位的独立计数 2 每一个计数器具有六种工作

13、方式 3 能进行二进制 十进制计数 减法计数 所谓十进制计数 是指BCD码计数 每个计数器可表示4位十进制数的BCD码 每来一个计数脉冲 按照十进制数减1规律进行计数 例如 当前的计数值为1000010000000000 8400 来一个计数脉冲后 变为1000001110011001 8399 4 计数频率为0 2MHz 5 可作计数器或定时器 5 2 28253的引脚信号与内部结构 8253为24引脚 双列直插封装 其内部结构如图5 2 1所示 由图可看出 8253的内部结构由数据总线缓冲器 读 写控制逻辑 3个独立的计数器三部分组成 1 数据总线缓冲器数据总线缓冲器是一个三态8位的双向缓

14、冲器 D7 D0同系统数据总线相连 CPU通过执行输入 输出指令来实现对缓冲器发送或接收数据 8253的控制字也是通过该缓冲器传送的 2 读 写控制逻辑读 写控制逻辑用来管理数据信息和控制字的传送 它接收来自CPU地址总线和控制总线的有关信号 向3个独立的计数器的控制部件发送命令 3 计数器 8253的内部结构 计数初值的计算 计数方式 计数值 要求的计数次数定时方式 计数值 定时时间 时钟脉冲周期各计数器通道的输入脉冲和输出状态之间的关系与门控脉冲 GATE信号 的控制有关 而门控脉冲的作用又依赖于工作方式的选择 5 2 38253的控制字 8253只有一个控制字 主要功能是选择工作方式 读

15、写格式和计数方式 其格式和含义如图5 2 2所示 D7 D6两位用来选择计数器 D5 D0对应每个计数器中的控制寄存器 值得注意的一点是 控制字的D7D6用于选择计数器 地址线的A1A0也用于选择计数器 它们的区别何在 事实上 A1A0 00 01 10选择的是计数器的数据端口 往这些端口中送入的是计数初值 从这些端口读出的是当前计数值 A1A0 11选择的是三个计数器共用的控制端口 往这个端口中送入的是控制字 这个端口禁止读出 而控制字中的D7D6是在送入控制端口的前提下 用于控制后面的D5 D0送给哪一个计数器进行工作环境设置 8253控制字的格式 计数值的读出操作 1 简单读出方式一个计

16、数器的现有计数值可以通过读取减1计数器而获得 在未锁存的状态下 输出锁存器的状态跟随减1计数器的状态 即减1计数器的状态可通过输出锁存器读出 这种方法的前提条件是利用外部电路禁止CLK 否则 在读操作时可能减1计数器正在改变 处于减1操作的过程中 从而造成结果的不确定性 2 锁存读出方式锁存读出方式利用一条锁存命令 该命令是控制字中读 写格式的一种组合 5 2 48253的工作方式 8253有6种工作方式 在不同的方式下 计数器的启动方式 GATE端输入信号的作用以及OUT端的输出波形都有所不同 下面分别说明每一种方式的要点 在本小节中 表示初始化时执行输出指令所发的写信号 CW表示写控制字 LSB表示写计数初值 一般情况下 写初值应有两个负脉冲 第一个送低8位 第二个送高8位 这里是为了波形简洁 只画了一个 因为只有低8位数据 方式0 计数结束中断方式 1 结果特点计数器减1为0时 OUT升高 向CPU发中断请求 2 过程特点1 控制字写入 OUT 0 当控制字写入控制字寄存器后 输出端OUT变成低电平 并且在计数值减到0之前一直保持低电平 2 计数值写入 OUT不变 仍然为低电平

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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