第7章并行接口1_第1页
第7章并行接口1_第2页
第7章并行接口1_第3页
第7章并行接口1_第4页
第7章并行接口1_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第七章并行接口 7 1并行接口的特点 并行接口最基本的特点是在多根数据线上以数据字节 字 为单位与I O设备或被控对象传送信息 如 打印机接口 A D D A转换器接口 IEEE 488接口 开关量接口 控制设备接口等 并行接口中 8位或16位是一起行动的 因此 当采用并行接口与外设交换数据时 即使是只用到其中的一位 也是一次输入 输出8位或16位 并行传送信息 不要求固定的格式 这与串行传送的数据格式的要求不同 在并行接口中 除了少数场合之外 一般都要求在接口与外设之间设置并行数据线的同时 至少还要设置两根握手 联线 信号线 以便进行互锁异步握手方式 即查询方式 的通信 7 2可编程并行接口8255A对于各种型号的CPU都有与其配套的并行接口芯片 如Intel公司8255A PPI Zilog公司Z 80PIO MC6820 PIO 等 它们的功能虽有差异 但工作原理基本相同 一 8255A的外部特性和内部结构1 8255A的基本特性具有两个8位 A口和B口 和两个4位 C口高 低4位 并行I O端口的接口芯片 能适应CPU与I O接口之间的多种数据传送方式的要求 可执行功能很强 内容丰富的命令 方式字和控制字 为用户如何根据外界条件 I O设备需要哪些信号线以及它能提供哪些状态线 来使用8255A构成多种接口电路 组成微机应用系统提供了灵活方便的编程环境 PC口的使用比较特殊 除作数据口外 当工作在1方式和2方式时 它的大部分引脚被分配作专用联络信号 PC口可以进行按位控制 在CPU读取8255A状态时 PC口又作1 2方式的状态口用 等等 2 8255的内部结构8255A的内部结构如图7 2所示 它由以下4个部分组成 数据总线缓冲器 这是一个三态双向8位缓冲器 它是8255A与CPU系统数据总线的接口 读 写控制逻辑 读 写控制逻辑由读信号RD 写信号WR 选片信号CS以及端口选择信号A1A0等组成 输入 输出端口A B C 8255A包括3个8位输入输出端口 port 每个端口都有一个数据输入寄存器和一个数据输出寄存器 A组和B组控制电路 控制A B和C三个端口的工作方式 3 8255A的外部引线8255A是一个单 5V电源供电 40个引脚的双列直插式组件 其外部引线如图7 1所示 与系统总线的连接信号面向数据总线的有 D0 D7 双向数据线 用于CPU向8255A发送命令 数据和8255A向CPU回送状态 数据和8255A向CPU回送状态 数据 面向地址总线的有 图7 18255A引脚 RD 读信号 低电平有效 WR 写信号 低电平有效 RESET 复位信号 高电平有效 它清除控制寄存器并将8255A的A B C三个端口均置为输入方式 输入寄存器和状态寄存器被复位 并且屏蔽中断请求 24条面向外设信号线呈现高阻悬浮状态 与外部设备的连接信号PA0 PA7 端口A的输入 输出线 PB0 PB7 端口B的输入 输出线 PC0 PC7 端口C的输入 输出线 这24根信号线均可用来连接I O设备和传送信息 其中 A口和B口只作输入 输出的数据口用 尽管有时也利用它们从I O设备读取一些状态信号 如打印机的 忙 Busy 状态信号 A D转换器的 转换结束 EOC 状态信号 但对A口和B口来说 都是作8255A的数据口读入 而不是作8255A的状态口读入的 关于C口的作用C口的作用与8255A的工作方式有关 它除了作数据口以外 还有其他用途 故C口的使用比较特殊 单独介绍如下 a 作数据口 b 作状态口 c 作专用 固定 联络 握手 信号线 d 作按位控制用 8255A的端口地址与基本操作 二 8255A的编程命令1 方式命令作用 指定8255A的工作方式及其方式下3个并行端口 PA PB PC 的功能 是作输入还是作输出 格式 8位 其中最高位是特征位 一定要写1 其余各位定义如下 应根据用户的设计要求填写1或0 例1 要把A口指定为1方式 输入 C口上半部为输出 B组指定为0方式 输出 C口下半部定为输入 则工作方式命令代码是 10110001B或B1H 若将此命令代码写到8255A的命令寄存器 即实现了对8255A工作方式及端口功能的指定 或者说完成了对8255A的初始化 初始化的程序段为 MOVAL 0B1H 初始化命令OUT63H AL 送到命令口 2 按位置位 复位命令作用 指定PC口的某一位 某一个引脚 输出高电平或低电平 格式 8位 其中最高位是特征位 一定要写0 其余各位的定义如下 应根据用户的设计要求填写1或0 例2 若要把C口的PC2引脚置成高电平输出 则命令字应该为00000101B或05H 将该命令的代码写入8255A的命令寄存器 就会使得从PC口的PC2引脚输出高电平 其程序段为 MOVAL 05H 使PC2 1的命令字OUT63H AL 送到命令口如果要使引脚PC2输出低电位 则程序段为 MOVAL 04H 使PC2 0的命令字OUT63H AL 送到命令口 利用C口的按位控制特性还可以产生负脉冲或方波输出 对外设进行控制 例3 利用8255A的PC7产生负脉冲 作打印机接口电路的数据选通信号 其程序段为 MOVAL 00001110B 置PC7 0OUT63H ALNOP 维持低电平NOPMOVAL 00001111B 置PC7 1OUT63H AL 3 关于两个命令的讨论 方式命令是对8255A的3个端口的工作方式及功能进行指定 即进行初始化 初始工作要在使用8255A之前做 按位置位 复位命令只是对PC口的输出进行控制 使用它并不破坏已经建立的3种工作方式 而是对它们实现动态控制的一种支持 它可放在初始化程序以后的任何地方 两个命令的最高位 D7 都分配作了特征位 之所以要设置特征位 是为了识别两个不同的命令 按位置位 复位的命令代码只能写入命令口 这个问题常有人弄错 4 A口和B口直接置位的方法A口 B口也可以按位输出高低电平 但是 它与前面的C口按位置位 复位命令有本质的差别 并且实现的方法也不同 A口 B口按位输出是以送数据到A口 B口来实现的 其具体作法是 若要使某一位置高电平 则先对端口进行读操作 将读入的原输出值 或 上一个字节 字节中使该位为1 其他位为0 然后再送到同一端口 即可使该位为0 然后再送到同一端口 即可使该位置位 例5 若要使PA7位输出高 低电平 则用下列程序段 使PA7输出高电平 INAL 60H 读入A口原输出内容MOVAH AL 保存原输出内容ORAL 80H 使PA7 1OUT60H AL 输出PA7 MOVAL AH 恢复原输出内容OUT60H AL 使PA7输出低电平INAL 60H 读入端口原输出值MOVAH AL 保存原输出值ANDAL 7FH 使PA7 0OUT60H AL 输出PA7 MOVAL AH 恢复原输出内容OUT60H AL 三 8255A的工作方式8255A的工作方式与端口有关 PA口有三种方式 0方式 1方式 2方式 PB口和PC口只有两种方式 0方式 1方式 1 方式0 基本的I O方式 的功能 方式0是一种基本的I O方式 三个端口的每一个都可由指令选择作为输入或输出 没有规定固定的用于应答式的联络信号 2 方式1 选通的I O方式 的功能 A口 B口作为数据I O口 同时规定C口的某些位作为控制或状态信号配合A口 B口的I O 3 方式2 选通双向方式 的功能 8255A的A口可工作于方式2 允许外设在A口的8位数据线上 PA7 PA0 既能发送 又能接收数据 7 38255A的0方式及其应用一 特点0方式是一种基本输入 输出工作方式 通常不用联络信号 或不使用固定的联络信号 基本I O方式是指查询方式传送 也包括无条件传送 在0方式下 彼此独立的两个8位和两个4位并行口 都能被指定作为输入或者输出用 共有16种不同的使用状态 在0方式下不设置专用联络信号线 需要联络时 可由用户任意指定C口中的哪根线完成某种联络功能 这与后面要讨论的在1方式 2方式下设置固定的专用联络信号线不同 是单向I O 一次初始化只能指定端口 PA PB和PC 作输入或输出 不能指定端口同时既作输入又作输出 二 并行打印机接口设计1 要求为某应用系统配置一个并行打印机接口 并且通过接口CPU采用查询方式把存放在BUF缓冲区的256个字 ASCII码 送去打印 2 分析由于打印接口直接面向的对象是打印机接口标准 而不是打印机本身 因此打印机接口要按照接口标准的要求进行设计 有关打印机接口标准Centronics的信号线定义和工作时序见8 14 过程 采用查询方式时 打印机与CPU之间传送数据的过程是 首先查询BUSY 若BUSY 1 打印机忙 则等待 若BUSY 0 打印机不忙 则送数据 通过并行接口把数据送给标准插座DATABIT1 DATABIT8数据线上 此时数据并未送入打印机 再送出一个数据选通信号DATASTROBE 负脉冲 给标准插座的1号引脚 把数据线上的数据打入到打印机的内部缓冲器 打印机在收到数据后 通过插座的11号引脚发出 忙 BUSY 1 信号 表明打印机正在处理输入的数据 最后在10号引脚上送出一个回答信号ACK 给主机 表示上一个字符已经处理完毕 3 设计接口电路的设计包括硬件接口电路和软件驱动程序两部分 打印机接口电路 打印机接口电路原理框图如图7 3所示 该电路的设计思路是 按照Centronicss标准对打印机接口信号线的定义 最基本的信号线需要8根数据线 DATABIT1 8 1根控制线 STB 1根状态线 BUSY 和1根地线 选用8255A的PA口作数据口输出8位打印数据 工作方式为0方式 接口驱动程序 其程序流程图如右图所示 驱动程序的程序段如下 CODESEGMENTASSUMECS CODE DS CODEORG100HSTART MOVAX CODEMOVCS AXMOVDS AXMOVAL 10000001B 工作方式字OUT63H AL A口0方式 输出 C4 C7输出 C0 C3输入 MOVAL 00001111B PC7位置高 使STB 1OUT63H ALMOVSI OFFSETBUF 打印字符内存首地址MOVCX OFFH 打印字符个数INAL 62H 查BUSY 0 PC2 0 ANDAL 04H 0000

温馨提示

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

评论

0/150

提交评论