已阅读5页,还剩80页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章可编程外围接口芯片8255A及其应用 10 1概述10 28255A的工作原理10 38255A的应用举例 并行接口并行通信 各位数据都是并行传输的 它以字节 或字 为单位与I O设备或被控对象进行数据交换 并行通信由并行接口来完成 并行接口是连接CPU与并行外设的通道 特点 传输速度快 硬件开销大 只适合近距离传输 一个并行接口中包括状态信息 控制信息和数据信息 10 1概述10 1 1并行通信 状态信息表示外设当前所处的工作状态 例如 准备好信号表示输入设备已经准备好信息 忙信号 BUSY 表示输出设备正在输出信息 等于指示CPU要处于等待状态 控制信息控制信息是由CPU发出的 用于控制外设接口的工作方式以及外设的启动和停机信息等 数据信息CPU与并行外设数据交换的内容 状态信息 控制信息和数据信息 通常都是通过数据总线传送 这些信息在外设接口中分别存取在不同的端口中 对于一个外设接口 常常需要几个端口才能满足和协调外部设备的工作与要求 图10 1是一个典型的并行接口与CPU 外设的连接图 图10 1并行接口与CPU 外设的连接 控制寄存器 状态寄存器 输入缓冲寄存器 输出缓冲寄存器 CPU 总线系统 输 入 设 备 输 出 设 备 数据总线 输出数据准备好 输入数据准备好 中断请求 地址 译码器 复位 地址总线 AEN CS A 0 A 1 IOR IOW 输入数据 输入数据准备好 输入应答 输出数据 输出数据准备好 输出应答 2 并行接口的组成 状态寄存器状态寄存器用来存放外设的信息 CPU通过访问这个寄存器来了解某个外设的状态 控制寄存器并行接口中有一个控制寄存器 CPU对外设的操作命令都寄存在控制寄存器中 数据缓冲寄存器在并行接口中还设置了输入缓冲寄存器和输出缓冲寄存器 缓冲器是用来暂存数据 可以保证输入 输出数据的可靠性 因为外设与CPU交换数据 CPU的速度远远高于外设的速度 3 数据输入过程数据输入过程 指的是外设向CPU输入数据 4 数据输出过程数据输出过程 指的是CPU向外设输出数据 串行通信 所谓串行通信是通过一位一位地进行数据传输来实现通信 特点 具有传输线少 成本低等优点 适合远距离传送 缺点是速度慢 若并行传送n位数据需时间T 则串行传送的时间最少为nT 在实际传输中 是通过一对导线传送信息 在传输中每一位数据都占据一个固定的时间长度 1 串行接口的组成串行接口是通过系统总线和CPU相连 串行接口部件的典型结构如图10 2所示 主要由控制寄存器 状态寄存器 数据输入寄存器和数据输出寄存器4部分组成 10 1 2串行通信 图10 2串行接口与CPU 外设的连接 控制寄存器控制寄存器用来保存决定接口工作方式的控制信息 状态寄存器状态寄存器中的每一个状态位都可以用来标识传输过程中某一种错误或当前传输状态 数据寄存器 数据输入寄存器 串行数据一位一位地从传输线进入 经过串入并出 串行输入并行输出 电路的转换 当接收完一个字符之后 数据就从移位寄存器传送到数据输入寄存器 等待CPU读取 数据输出寄存器 CPU输出一个数据时 先送到数据输出缓冲寄存器 然后传到移位寄存器 经过并入串出 并行输入串行输出 电路的转换一位一位地通过输出传输线送到对方 并行接口电路 在早期的微机中与串行口 软盘接口 硬盘接口等都放在一块多功能接口卡上 插在微机的扩展槽上使用 现在这部分电路已在微机的主板上由与CPU配套的北桥芯片组来实现其功能 在电路设计时采用专用的接口芯片 可编程的接口芯片8255A是完成并行通信的集成电路芯片 10 28255A的工作原理 8255内部结构和引脚图 a 8255A内部结构 b 8255A外引脚图 可编程并行接口芯片应具有的功能 1 具有两个以上的输入 输出数据端口 锁存 缓冲 2 每个数据端口有与CPU用应答方式交换信息所必须的控制和状态信息 也有与外设交换信息所必须的控制和状态信息 3 通常每个数据端口还具有能用中断方式与CPU交换信息所必须的电路 4 具有进行片选和读写控制的电路 5 可编程 由程序来选择数据端口 数据传送方向 交换信息的方式等 一 8255A的结构和功能 端口A和端口B可用作8位数据I O口 端口C既可作为8位I O口 又可作为两个4位I O口 还常用来配合A口和B口工作 作为控制信号输出 或作为状态信号输入 二 控制逻辑 这是两组根据CPU的编程命令控制8255A工作的电路 控制寄存器用来接收CPU送来的命令字 以决定A组 B组的工作方式 或对C口的每一个位执行位操作 五 端口寻址 六 方式选择 方式0 基本输入输出 方式1 选通输入输出 方式2 双向传送 二 8255A的控制字 1 方式选择控制字 8255A有3种基本的工作方式 在对8255A进行初始化编程时 应向控制寄存器写入方式选择控制字 以规定各端口的工作方式 方式选择控制字格式 例 在一个8086 8088系统中 有一片8255芯片 其各个端口的地址分别为0F8H 0FBH 现要求各个端口的工作方式为 端口A方式0输入端口B方式1输出端口C 上半部 PC7 PC4输出端口C 下半部 Bit3输入要求 进行初始化编程 分析 根据8255工作模式可确定方式控制字 95H 初始化编程 MOVAL 95HOUT0FBH AL C口按位置位 复位控制字格式 例 要使端口C的bit3置位的控制字为 00000111B MOVAL 00000111BOUT0FBH AL而使端口C的bit3复位的控制字为 00000110B MOVAL 00000110BOUT0FBH AL 三 8255A的工作方式 1 方式0 基本输入输出方式 适用于不需要应答信号的简单I O场合 A口和B口可作为8位端口 C口的高4位和低4位可作为两个4位的端口 且每个端口均可作为输入口或输出口用 数据输出有锁存 输入无锁存 方式0的输入时序 方式0的输出时序 方式0一般用于无条件传送的场合 不需要应答式联络信号 外设总是处于准备好的状态 也可以用作查询式传送 查询式传送时 需要有应答信号 可以将A端口 B端口作为数据口使用 C端口则可用来输出一些控制信息 或输入外设的状态 利用C端口配合A端口和B端口完成查询式的I O操作 当A端口和B端口以方式1进行输入输出时 必须利用C端口提供的固定的选通和应答信号 该方式也称选通输入 输出方式 方式1的基本定义是 分成A组和B组 每组包含一个8位的数据端口和1个4位的控制 数据端口 可作输入 也可作输出 且输入和输出都可以被锁存 2 方式1 选通输入 输出方式 规定 PC3 PC5分配给A端口作联络线 PC0 PC2分配给B端口作联络线 C端口剩下的2位PC7 PC6可作为简单的输入 输出线使用 1 选通的输入方式 方式1选通输入下对应的控制信号图 a 对A端口 b 对B端口 8255A方式l输入时序图 选通输入方式的工作过程 当外设数据已送到8255A某个端口的数据线上时 就发出选通输入信号STB 将数据通过A端口或B端口锁存到8255A的数据输入寄存器 STB信号变低将使输入缓冲器满信号IBF变高 如图10 13中表示的箭头 输入缓冲器满意味着将阻止外设输入新的数据 8255A方式1输入时序参数说明表 选通的输入方式CPU如何读取数据 1 采用查询式输入 CPU先查询IBF是否为高 若IBF为高 8255A的输入缓冲器就为满 则CPU可从8255A读入数据 2 采用中断方式传送数据 先用C端口置1 置0的控制字使相应的端口允许中断 也就是要使PC4或PC2置1 这种方式的工作过程与选通输入的情况相类似 对应的C端口也是固定分配 规定 PC3 PC6 PC7分配给A端口 PC2 PC1 PC0分配给B端口 剩下的2位PC4 PC5可作为简单的输入 输出线使用 当控制字的D3位为 1 时 PC4 PC5作输入 当控制字的D3位为 0 时 PC4 PC5作输出 2 选通的输出方式 方式l输出时C端口对A B端口的控制图 a 对A端口 b 对B端口 8255A方式1输出时序图 8255A方式1输出时序参数说明表 双向方式8255A可以向外设发送数据 同时CPU通过这8位数据线又接收外设的数据 传输过程由C端口对A端口进行控制 所以称为带选通的双向传输方式 方式2的基本定义 只能适用于A端口 一个8位的双向端口 A端口 和1个5位的控制端口 C端口 A端口的输入和输出都可以被锁存 在这种方式下 C端口中高5位PC7 PC3作为控制信号和状态信息使用 剩下的3位PC2 PC0可作为简单的输入 输出线使用 3 方式2 带选通的双向传输方式 方式2时C端口对A端口的控制信号图 INTR 中断请求信号 高电平有效 对应PC3 不论A端口工作在输入方式还是工作在输出方式 当一个操作完成 并且要进入下一个操作时 8255A都要向CPU发出中断请求信号 INTEl 输出中断允许信号 为 1 时 允许向CPU发出由A端口输出数据的中断请求信号 反之 即使输出缓冲器空 也不允许8255A向CPU发中断请求信号 INTEl信号的置1或置0 是用软件使C端口的PC6置1或置0来实现的 INTE2 输入中断允许信号 为 1 时 允许A端口的输入处于中断允许状态 反之 不允许中断 INTE2信号的置1或置0 同样是用软件通过C端口的PC4置1或置0来实现 方式2的工作时序基本相当于方式1的选通输入时序和选通输出的时序的组合 图10 178255A方式2时序 表10 68255A方式2时序的参数说明 方式0 基本输入输出方式适用于无条件传送和查询方式的接口电路 A B C三个端口均可 方式1 选通输入输出方式适用于查询和中断方式的接口电路 A B两个端口均可 方式2 双向选通传送方式适用于双向传送数据的外设 只有A端口才有 适用于查询和中断方式的接口电路初始化编程后 当数据端口作为输入接口时 执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时 执行输出OUT指令将把CPU的数据送给输出设备 8255A有三种工作方式 用户可以通过编程来设置 总结 各工作方式的C口情况 4 C口状态字 8255A工作在方式0时 C口各位作输入输出用 当工作在方式1和方式2时 C口产生与外设的联络信号 此时 读入C口各位的内容可检查或测试外设的状态 C口的状态字如下 1 方式1 2 方式2 10 38255A的应用举例 8255A先要初始化 写入控制字 指定它的工作方式 然后才能进行数据的传输 对8255A的编程涉及到两个内容 写控制字设置工作方式等信息 使C口的指定位置位 复位的功能 注 均写入控制端口 8255A作为开关K0 K3及七段LED显示器接口 要求开关设置的二进制信息 由PC0 PC3输入 经程序转换为对应的七段LED显示器的字形代码后 由PA口输出显示 一 基本输入输出应用举例 各端口地址为 E8H EEH 8255A各端口地址确定 8255A方式选择控制字 LED显示器的字形代码表存放在TABLE单元开始的内存中 数据段中定义 TABLEDB0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8HDB80H 98H 88H 83H 0C6H 0A1H 86H 8EH 81H 代码段实现操作的具体程序如下 MOVDX 0E8H 指向端口AOUTDX AL 输出字形码显示HLT MOVDX 0EEH 设置8255A工作方式MOVAL 81HOUTDX AL MOVDX 0ECH 指向端口C 读开关状态INAL DXANDAL 0FH LEABX TABLE 显示代码表首地址送BXXLAT 查表 取出相应的字形码送AL 二 七段LED显示器接口电路 1 软件译码法 PA0PA1PA2PA3PA4PA5PA6PA7 8255 DB7 DB0 方案1共阳极LED显示器与同相驱动器接口 同相驱动器 5V PA0PA1PA2PA3PA4PA5PA6PA7 8255 DB7 DB0 方案2共阴极LED显示器与反相驱动器接口 反相驱动器 D7D6D5D4D3D2D1D0dpgfedcba 0 C0H 11000000 9 90H 10010000 1 F9H 11111001 2 A4H 10100100 3 B0H 10110000 4 99H 10011001 5 92H 10010010 6 82H 10000010 7 F8H 11111000 8 80H 10000000 低电平输出点亮 D7D6D5D4D3D2D1D0dpgfedcba 0 3FH 00111111 9 6FH 01101111 1 05H 00000110 2 5BH 01011011 3 4FH 01001111 4 66H 01100110 5 6DH 01101101 6 7DH 01111101 7 07H 00000111 8 7FH 01111111 高电平输出点亮 2 利用专用芯片驱动LED显示器 利用接口芯片7447驱动LED显示器7447为BCD 0 9 七段译码器 1 与单个LED的连接 R 5 1 5 0 2 V 20mA 168 取限流电阻R 150 BCD输入 PA0PA1PA2PA3PA4PA5PA6PA7 DB0 DB7 DB0 DB7 2 7447BCD 七段译码器与多个LED的连接 5V 静态显示器的设计 器件多时 增加成本 加大功耗 动态显示器的设计 5V 显示控制程序 LEASI BUFFMOVCX 07HMOVDL 0FEH MOVAL SI OUTPOTB ALMOVAL DLOUTPOTA AL INCSIROLDL 小系统常用显示接口电路 LEASI BUFFMOVCL 40HMOVBX LED ADD DISI MOVAL SI XLAT MOVDX POTBOUTDX ALMOVAL CLMOVDX POTAOUTDX AL INCSISHRCL JNZDISI 显示控制程序 键盘是最常用的一种输入设备 有两种类型 编码键盘和非编码键盘 编码键盘能自动提供对应于被按键的编码 如ASCII码 并能同时产生一个脉冲通知CPU 编码键盘还具有处理抖动和多键串键的保护电路 这种键盘的优点是使用方便 但需要较多的硬件 价格昂贵 非编码键盘有一组开关组成 提供行和列的键盘矩阵 其工作过程 按键的识别 按键代码的产生 防止串键和消除抖动等均由程序来实现 故这种键盘的优点是所需要的硬件较少 价格便宜 宜用微机化仪表的面板的键盘 三 键盘接口 按键特性 硬件去抖动和软件去抖动 软件方法 用于键较多的场合 检测有键闭合 延时10ms 20ms左右 再检测 仍保持闭合 则确认为有键按下 硬件方法 利用RS触发器 用于键较少的场合 键盘结构 独立式按键 矩阵式键盘 工作原理 键盘扫描过程 1 检测键盘上所有的键是否都松开 反复检测直至全松开 2 检测键盘上是否有键按下 反复检测直至有键按下 3 若有键按下 则消除键抖动后 硬件消抖动电路 软件延时消抖动下 再确认该键是否按下 4 对按下的键进行编码 即将该键所在的行号和列号转换成16进制代码 6 根据代码转相应功能子程序 注 若在按键时 多个键盘同时按下 可取最后松开的按键作为本次按下的键 5 检测该键是否松开 反复检测直至松开 初始化 PORT AEQU0FF9H 8255A口地址PORT BEQU0FFBH 8255B口地址PORT CTLEQU0FF9H 8255控制口地址TABLEDB77H 7BH 7DH 7EHDB0B7H 0BBH 0BDH 0BEHDB0D7H 0DBH 0DDH 0DEHDB0E7H 0EBH 0EDH 0EEH 程序开始略8255初始化 方式0 A口输出 B口 C口输入MOVDX PORT CTL DX指向控制口MOVAL 10001011B 控制字OUTDX AL 写入控制字 MOVDX PORT A DX指向A口MOVAL 00HOUTDX AL WO MOVDX PORT B DX指向B口INAL DX 输入B口ANDAL OFHCMPAL OFH 各键均未按下JNEWO 否 继续等 WR INAL DX 输入B口ANDAL OFHCMPAL OFH 是否有键按下JEWR 否 等待 MOVCX 16EAHDELAY LOOPDELAY WR INAL DX 输入B口ANDAL OFHCMPAL OFH 是否有键按下JEWR 否 等待 MOVAL 0FEH 置行扫描初值MOVCL AL 暂存于CN R MOVDX PORT AOUTDX AL 输出行扫描值MOVDX PORT B DX指向B口INAL DX 输入B口ANDAL OFHCMPAL OFH 有键按下JNEENCODE 是 转编码ROLCL 01 否 修改扫描初值MOVAL CLJMPN R 扫描下一行 ENCODE MOVBX 000FH 置键代码初值INAL DX 读入行列号NEXT T CMPAL TABLE BX 与表中行列号相等吗JEDONE 相等转DONEDECBX 不相等 修改位置JNSNEXT T 未查完 继续MOVAH 01 查完 未查到 置出错标志JMPEXIT 退出DONE MOVAL BL 键代码送ALMOVAH 00 键有效标志00 ALEXIT RET 打印机接口信号 四 并行打印机接口 打印机接口信号 工作时序 1 CPU先查Busy 不忙 0 送数 2 送数到数据线DATA0 上 此时数并未进入打印机 3 再送STROBE 脉宽 0 5us 数据送入打印机内部缓冲器 4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年注册建筑师(中级)建筑设计规范备考试题及答案详解
- 2026年洗涤产业考试模拟题及答案详解
- 2026年试验检测模拟题及答案详解
- 2026年上海幼师职称考试模拟题及答案详解
- 2026年命运心理模拟题及答案详解
- 2026年变应性肉芽肿病预防模拟试卷及答案详解
- 2026年数管公司模拟题及答案详解
- 医保知识考核试题及答案详解
- 2026年青年村官考试模拟题目及答案详解
- 2026-2027学年人教版八年级数学上册期末测试试卷(附答案和解析)
- FDE模式行业观察与实践
- 柴油发电机操作规程
- 2025年陕西煤业新型能源科技股份有限公司招聘(285人)笔试历年难易错考点试卷带答案解析
- JBT 14445-2025 TYP系列变频调速三相永磁同步电动机技术规范及能效分级(机座号80~355)标准立项发展报告
- 急诊科用药错误应急演练脚本
- (正式版)T∕CSNAME 153-2025 沿海内河船舶智能航行感知系统设计要求
- 四川省2026年高职单招文化考试(中职类)语文试卷+答案
- T∕AOPA 0082-2025 无人驾驶航空器系统遥控站适航技术规范
- 2026河北邯郸市劳动就业服务局招聘公益性岗位人员笔试备考试题及答案解析
- APQC跨行业流程分类框架 (8.0 版)( 中文版-2026年4月)
- T∕CAWA 16.5-2025 食用农产品批发市场食品安全管理操作规范 第5部分:蔬菜销售区
评论
0/150
提交评论