微机原理与接口技术_第1页
微机原理与接口技术_第2页
微机原理与接口技术_第3页
微机原理与接口技术_第4页
微机原理与接口技术_第5页
免费预览已结束,剩余55页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与接口技术 第8 5节并行接口 教学重点 8255A芯片 8255A工作方式 8255A编程及应用 8 5 1并行数据传输方式 以计算机的字长 通常是8位 16位或32位为传输单位 一次传送一个字长的数据适合于外部设备与微机之间进行近距离 大量和快速的信息交换微机系统中最基本的信息交换方法并行接口的 并行 含义不是指接口与系统总线一侧的并行数据 而是指接口与I O设备或控制对象一侧的并行数据线 串行数据传输方式 按位传送 只在一 二根通信线路上传送传送速率低 可靠性差但可大大降低通信线路的成本主要用于远距离通信 8 5 2可编程并行接口芯片8255A基本特性 具有多种功能的可编程并行接口电路芯片最基本的接口电路 三态缓冲器和锁存器CPU与接口电路 接口电路与外设间的信息交换 状态寄存器和控制寄存器还有端口的译码和控制电路 中断控制电路共40个引脚 其中24个外设引脚 分3个端口 A口 B口 C口 3个8位并行数据输入 输出口 通过编程设置3个口作为输入口还是输出口 共3种输入输出工作方式方式0 基本输入 输出方式1 选通输入 输出方式2 双向选通输入输出 2组控制 A组控制 B组控制 C口的部分信号线被分配作为专用的联络应答信号线 1 8255A引脚 8255A的内部结构和引脚 1 数据总线缓冲器 三态双向8位缓冲器 8255A与CPU系统数据总线的接口 所有数据的发送与接收 以及CPU发出的控制字和从8255A读来的状态信息都是从该缓冲器传送的 2 读写控制逻辑 D0 D7数据线A0 A1地址线CS片选信号RD读信号WR写信号RESET复位信号 控制了总线的开放与关闭控制信息的传输方向 3 数据端口A B C 端口A PA0 PA7A组 支持工作方式0 1 2端口B PB0 PB7B组 支持工作方式0 1端口C PC0 PC7仅支持工作方式0A组控制高4位PC4 PC7B组控制低4位PC0 PC3 3 外设数据端口 续 端口A PA0 PA7常作数据端口 功能最强大端口B PB0 PB7常作数据端口端口C PC0 PC7可作数据 状态和控制端口分两个4位 每位可独立操作控制最灵活 最难掌握 4 A组和B组控制电路 控制A B C三个端口的工作方式A组控制A口和C口上半部 PC7 PC4 B组控制B口和C口下半部 PC3 PC0 A组 B组的控制字寄存器还接收按位控制命令 以实现对PC口的按位置位复位操作 2 8255A的工作方式 方式0 基本输入 输出方式适用于无条件传送和查询方式的接口电路方式1 选通输入 输出方式适用于查询和中断方式的接口电路方式2 双向选通传送方式适用于双向传送数据的外设适用于查询和中断方式的接口电路 8255A的工作方式0 基本输入 输出工作方式 方式0下8255A的24条I O线全部由用户分配功能 不设置专用联络信号 端口信号线之间无固定的时序关系 输出锁存 输入具有缓冲能力 8255A分成彼此独立的两个8位和两个4位并行口 只能把C口的高4位为一组或低4位为一组同时输入或输出 单向I O 一次初始化只能指定某一端口作输入或作输出 不能使该端口同时既作输入又作输出 8255A的工作方式1 选通输入 输出方式 在面向I O设备的24根线中 设置专用的中断请求和联络信号线 数据的输入输出都有锁存能力 PA或PB为数据口 而PC口的大部分引脚分配作联络信号用 用户对这些引脚不能再指定作其它用途 各联络信号线之间有固定的时序关系 传送数据时要严格按照时序进行 输入 输出操作产生确定的状态字 这些状态信息可作为查询或中断请求之用 方式1输入引脚 A端口 数据选通信号表示外设已经准备好数据 输入缓冲器满信号表示A口已经接收数据 中断请求信号请求CPU接收数据 方式1输入引脚 B端口 数据选通信号表示外设已经准备好数据 输入缓冲器满信号表示B口已经接收数据 中断请求信号请求CPU接收数据 中断允许触发器 方式1需借用端口C用做联络信号 同时还具有中断请求和屏蔽功能 方式1输入联络信号 STB 选通信号 低电平有效由外设提供的输入信号当其有效时 将输入设备送来的数据锁存至8255A的输入锁存器IBF 输入缓冲器满信号 高电平有效8255A输出的联络信号 当其有效时 表示数据已锁存在输入锁存器INTR 中断请求信号 高电平有效8255A输出的信号 可用于向CPU提出中断请求 要求CPU读取外设数据 data INTR IBF data 输入端口 D0 D7 STB和IBF是外设和8255A间的一对应答联络信号 目的是为可靠地输入数据 方式1输入时序 方式1输入时序说明 I 以端口A为例 当输入设备已准备好一个新数据时 首先检测IBF线的状态 若为低 表示输入锁存器空 则输入设备将数据放入PA7 PA0 然后发出选通信号STB STB将PA7 PA0上的数据置入数据锁存器 这时8255A使IBF有效 指示输入锁存器已满 方式1输入时序说明 II STB变为无效后 8255A使INTR由低变高 通过8259A向CPU发出中断请求 CPU响应请求并进入相应的中断服务程序 在中断服务程序中 CPU读端口A RD的下降沿使INTR无效 RD的上升沿使IBF变无效 指示输入锁存器的数据已传送给CPU 处于 空 状态 准备接收新的数据 若CPU采用查询方式 则通过查询状态字中的INTR位或IBF位是否置位来判断有无数据可读 方式1中断控制 8255A的中断由中断允许触发器INTE控制置位允许中断 复位禁止中断对INTE的操作通过写入端口C的对应位实现选通输入方式下端口A的INTEA对应PC4端口B的INTEB对应PC2 方式1输出引脚 A端口 外设响应信号表示外设已经接收到数据 输出缓冲器满信号表示CPU已经输出了数据 中断请求信号请求CPU再次输出数据 PC6 PC7 PC3 PA7 PA0 INTEA OBFA INTRA ACKA 方式1输出引脚 B端口 外设响应信号表示外设已经接收到数据 输出缓冲器满信号表示CPU已经输出了数据 中断请求信号请求CPU再次输出数据 方式1输出联络信号 OBF 输出缓冲器满信号 低有效8255A输出给外设的一个控制信号当其有效时 表示CPU已把数据输出给指定的端口 外设可以取走ACK 响应信号 低有效外设的响应信号 指示8255A的端口数据已由外设接受INTR 中断请求信号 高有效当输出设备已接受数据后 8255A输出此信号向CPU提出中断请求 要求CPU继续提供数据 端口A的INTEA对应PC6端口B的INTEB对应PC2 方式1输出时序 OBF 和ACK 是外设和8255A间的一对应答联络信号 为的是可靠地输出数据 方式1输出时序说明 I 以端口A为例 当输出设备接收了前一次数据后 8255A通过8259A向CPU请求中断 在中断服务程序中 CPU将数据写入指定的端口 WR变为有效 于是数据写入输出锁存器并出现在PA7 PA0 写信号WR的上升沿使OBF变为有效 指示输出设备PA7 PA0上已有新的数据 同时还使INTR变为无效 方式1输出时序说明 II 输出设备通过PA7 PA0接收数据 输出设备接收到数据后 向8255A发回ACK信号 ACK的上升沿通常表示输出设备已准备好再接收新的数据 8255A在ACK出现上升沿之前使OBF变为无效 若INTE 1 则还使INTR变为有效 再次请求中断 8255A的工作方式2 双向选通方式 方式2将方式1的选通输入输出功能组合成一个双向数据端口 可以发送数据和接收数据只有端口A可以工作于方式2 需要利用端口C的5根信号线 其作用与方式1相同方式2的数据输入输出过程与方式1的输入输出方式一样 方式2双向引脚 用PC6设置INTE1 输出 用PC4设置INTE2 输入 输入和输出中断通过或门输出INTRA信号 方式2时序 8255工作方式小结 3 8255A的编程 初始化编程 一个方式控制字采用控制I O地址 A1A0 11工作过程中 通过数据端口对外设数据进行读写数据读写利用端口A B和C的I O地址 A1A0依次为00 01 10IBMPC XT机上 端口A B C和控制端口的I O地址为60H 61H 62H和63H 1 写入方式控制字 控制字格式 示例 写入方式控制字 要求A端口 方式1 输入B端口 方式0 输出C端口上半部 输出C端口下半部 输入方式控制字 10110001B或0B1H初始化的程序段 movdx 63h 假设控制端口为63Hmoval 0b1h 方式控制字outdx al 送到控制端口 2 读写数据端口 初始化编程后 当数据端口作为输入接口时 执行输入IN指令将从输入设备得到外设数据当数据端口作为输出接口时 执行输出OUT指令将把CPU的数据送给输出设备 示例 读写数据端口 利用8255A的输出锁存能力 可实现按位输出控制对输出端口B的PB7位置位的程序段 movdx 61h B端口假设为61Hinal dx 读出B端口原输出内容oral 80h 使PB7 1outdx al 输出新的内容 3 读写端口C 归纳1 在控制上 C端口上半部和A端口编为A组 C端口下半部和B端口编为B组 C端口被分成两个4位端口这两个端口只能以方式0工作 可分别选择输入或输出 3 读写端口C 归纳2 当A和B端口工作在方式1或A端口工作在方式2时 C端口的部分或全部引脚将被征用 其余引脚仍可设定工作在方式0 3 读写端口C 归纳3 对端口C的数据输出有两种办法通过端口C的I O地址向C端口直接写入字节数据这一数据被写进C端口的输出锁存器 并从输出引脚输出 但对设置为输入的引脚无效通过控制端口向C端口写入位控字 使C端口的某个引脚输出1或0 或置位 复位内部的中断允许触发器 端口C的位控制字 位控制字写入控制端口特别便于置位 复位内部中断允许触发器 D3 D2 D1 D0 0 0 复位1 置位 8255A按位置 复位控制字举例 若允许PA口输入中断请求 则必须设置INTEA 1 即置PC4 1 若禁止它中断请求 则置INTEA 0 即置PC4 0 MOVDX 63H 8255A命令口MOVAL 00001001B PC4 1 允许中断请求OUTDX ALMOVAL 00001000B PC4 0 禁止中断请求OUTDX AL 3 读写端口C 归纳4 读取的C端口数据有两种情况未被A和B端口征用的引脚将从定义为输入的端口读到引脚输入信息 将从定义为输出的端口读到输出锁存器中的信息被A和B端口征用作为联络线的引脚将读到反映8255A状态的状态字 端口C的状态字 8255A的应用 作为通用的并行接口电路芯片 8255A具有广泛的应用 应用在IBMPC XT微机上应用于打印机接口电路连接简易键盘驱动LED数码管 1 8255A在IBMPC XT上的应用 工作在基本输入 输出方式0端口A为方式0输入 用来读取键盘扫描码端口B工作于方式0输出 控制扬声器等端口C为方式0输入 读取系统状态和配置系统的初始化编程moval 10011001b 方式控制字99Hout63h al 8255A的键盘和扬声器控制示意 开 关扬声器的程序 INAL 61H 读取8255的PB口原输出值MOVAH AL 将原输出值保留于AH中ORAL 03H 使PB1 PB0均为1OUT61H AL 打开GATE2 输出方波到扬声器 MOVAL AH 取回AH中的8255PB口的原输出值OUT61H AL 恢复8255PB口 PB1PB0不同时为高电平 停止发声 读系统配置开关P267例题 读系统配置开关P267例题 MOVAL 10001001BOUT63H ALMOVAL 10100101BOUT61H ALINAL 62HANDAL 0FHMOVAH ALMOVAL 10101101BOUT61H AL INAL 62HMOVCL 4ROLAL CLANDAL 0F0HORAL AHXORAH AHMOV 0010H AXMOVAL 10011001BOUT63H AL 2 8255A的应用 双机通信 双机通信要求 要求在甲乙两台微机之间并行传送1K字节数据 甲机发送 乙机接收 甲机一侧的8255A采用方式1工作 乙机一侧的8255A采用方式0工作 两机的CPU与接口之间都采用查询方式交换数据 双机通信硬件考虑 甲机8255A是方式1发送 因此 把PA口指定为输出 发送数据 而PC7和PC6引脚分别固定作联络线OBF和ACK 乙机8255A是方式0接收 故把PA口定义为输入 接收数据 而选用引脚PC4和PC0作联络线 注意 虽然两侧的8255A都设置了联络线 但有本质的差别 甲机8255A是1方式 其联络线是固定的不可替换 乙机的8255A是0方式 其联络线是不固定的 可选择 比如可选择PC4和PC1或PC3 PC2等任意组合 双机通信编程 甲机发送程序 I MOVDX 63H 8255A命令口MOVAL 10100000B 初始化工作方式字OUTDX ALMOVAL 00001101B 置发送中断允许INTEA 1OUTDX AL PC6 1MOVAX 0030H 发送数据内存首址MOVES AXMOVBX 0MOVCX 0400H 发送字节数MOVDX 60H 向A口写第一个数 产生第一个OBF信号MOVAL ES BX 送给对方 以便获取对方的ACKOUTDX ALINCBX 内存加1DECCX 字节数减1 双机通信编程 甲机发送程序 II L MOVDX 62H 8255A状态口INAL DX 查发送中断请求INTRA 1 ANDAL 08H PC3 1 JZL 若无中断请求 则等待 若有中断请求 则向A口写数 MOVDX 60H 82

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论