第8章 常用可编程接口芯片.ppt_第1页
第8章 常用可编程接口芯片.ppt_第2页
第8章 常用可编程接口芯片.ppt_第3页
第8章 常用可编程接口芯片.ppt_第4页
第8章 常用可编程接口芯片.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

主讲 禹定臣 微机原理及接口技术 信息工程学院 第8章常用可编程接口芯片 微机原理与接口技术 8 1并行接口的概念 多根数据线上 以数据字节 字 为单位与I O设备或被控对象传送信息 1 并行接口的特点 通常 可以用并行接口芯片实现CPU与外设之间的并行数据交换 并行接口芯片一般具有以下功能 1 两个或两个以上的具有锁存器或缓冲器的数据端口 2 每个数据口都有与CPU用应答方式交换信息所必需的控制和状态信号 也有与外设交换信息所必需的控制和状态信号 2 并行接口功能 4 选片和控制电路 3 具有用中断方式与CPU交换信息所必需的电路 5 CPU可以用控制字选择端口的传送方向 输入 输出或双向 选择与CPU交换信息的方法 无条件 查询或中断 等 8 2可编程并行接口8255A 8255A是一种通用的可编程并行I O接口芯片 它是为Intel系列微处理器设计的配套电路 也可用于其它微处理器系统 8 2 1基本功能和特性 3个8位数据端口 A B C口 均可由程序设置为输入或输出端口 2 端口有3种基本工作方式 基本输入 输出 方式0 选通输入 输出 方式1 及双向传输方式 方式2 3 端口工作方式由编程控制 4 编程主要对8255A芯片内部控制寄存器 状态寄存器及数据寄存器进行访问 8 2 28255A的内部结构 图8 18255A内部结构框图 1 三个8位的I O端口A B C 三个端口都可以作为数据I O口使用 有时 A B口作为数据I O 而C口则作为控制或状态端口 分上 下两部分 配合A B口工作 A口 输入锁存 输出锁存 缓冲 B口 输入缓冲 输出锁存 缓冲 C口 输入缓冲 输出锁存 缓冲 可分成两个4位端口 2 A组 B组控制部件 A组包括 C口的高4位 PC4 PC7 A口 PA0 PA7 B组包括 C口的低4位 PC0 PC3 B口 PB0 PB7 A组 B组的控制寄存器 接收CPU写入的控制字 规定两组的工作方式 3 数据总线缓冲器 三态双向8位缓冲器 是8255A与CPU之间的数据接口 CPU与8255A之间所有的控制 状态和数据信息均通过该缓冲器传送 4 读 写控制逻辑 接受CPU的控制命令 向片内各部件发出操作命令 片选信号 接CPU高位地址的译码输出 读信号 有效 CPU读8255A的数据或状态信息 RD RD RESET 复位信号 有效时 清除8255A中的控制寄存器 置各端口为输入方式 A1 A0 端口选择信号 表8 18255A端口选择和基本操作 A1 A0 输入操作 CPU读 0 0 0 1 0 数据总线 通道A 0 1 0 1 0 数据总线 通道B 1 0 0 1 0 数据总线 通道C 0 0 1 0 0 数据总线 通道A 0 1 1 0 0 数据总线 通道B 1 0 1 0 0 数据总线 通道C 输出操作 CPU写 1 1 1 0 0 数据总线 控制字寄存器 1 数据总线 三态 1 1 0 1 0 非法条件 断开功能 1 1 0 数据总线 三态 8 2 38255A的外部引脚 图8 28255A的引脚 8 2 48255A的工作方式 三种工作方式 A口可工作在方式0 1 2 B口只能工作在方式0 1 C口通常配合A B口工作 1 方式0 基本的输入 输出方式 1 工作特点 具有独立的两个8位端口 A和B 和两个4位端口 C高4位和C低4位 每一个都可由指令选择作为输入或输出 共16种组态 其中输出锁存 输入缓冲 各端口均为单向I O 没有规定固定的用于应答式的联络信号 各端口之间无必然联系 2 输入 输出时序 输入时序 外设CPU输出时序 CPU外设 8255A 8255A 弄清每个信号的发出者和承受者 弄清各个信号之间的先后因果关系 方式0输入时序 图8 3方式0的输入时序 图8 4方式0的输出时序 方式0输出时序 3 使用场合 同步传送 发收双方的动作由一个时序信号来管理或互相知道对方的动作 查询式传送 需要应答信号 可由C口提供 2 方式1 选通输入 输出方式 1 工作特点 A口 B口作为数据I O口 同时规定C口的某些位作为控制或状态信号配合A口 B口的I O 这些信号与C口中的数位之间有固定的对应关系 程序不可变 除非改变工作方式 2 方式1输入组态与时序 方式1输入组态A 8位数据 STBA IBFA INTRA PC3 PC5 PC4 PA7 0 1011I O 方式1 端口A 方式1 端口A输入 PC6 7 1 输入 0 输出 A组方式控制字 PC6 7 I O INTEA D7D6D5D4D3D2D1D0 2 图8 5方式1输入组态A 图8 6方式1输入组态B 方式1 端口B IBFB INTRB PC0 PC1 PB7 0 INTEB 端口B输入 端口B方式1 B组方式控制字 1 11 PC2 方式1输入组态B 联络信号的定义 STB Strobe 选通输入 IBF InputBufferFull 输入缓冲器满 INTR InterruptRequest 中断请求信号 INTEA InterruptEnableA A口中断允许信号 通过对PC4的置位 复位控制字来控制 PC4 1 允许中断 PC4 0 禁止中断 INTEB InterruptEnableB B口中断允许信号 通过对PC2的置位 复位控制字来控制 PC2 1 允许中断 PC2 0 禁止中断 方式1输入时序 图8 7方式1的输入时序 3 方式1输出组态与时序 方式1输出组态A INTRA PC3 PC6 PC7 PA7 0 1010I O 方式1输出端口A 端口A方式1 PC4 5 1 输入 0 输出 A组方式1控制字 PC4 5 I O INTEA 2 端口A输出 图8 8方式1输出组态A 图8 9方式1输出组态B 方式1输出端口B INTRB PC0 PC2 PC1 INTEB 端口B输入 端口B方式1 B组方式1控制字 1 10 PB7 0 方式1输出组态B 联络信号的定义 OBF OutputBufferFull 输出缓中器满信号 ACK Acknowledge 外设应答信号 INTR InterruptRequest 中断请求信号 INTEA InterruptEnableA 由PC6置位 复位控制 INTEB InterruptEnableB 由PC2置位 复位控制 方式1输出时序 图8 10方式1输出时序 4 使用场合 采用中断方式进行输入 输出的场合 如外设能为8255A提供选通 应答信号 握手联络信号 常使8255A的端口工作于方式1 3 方式2 双向传输 只有A口能工作于方式2 此时允许外设在A口的8位数据线上 PA7 PA0 既能发送 又能接收数据 在这种方式下 C口5个数位C3 7配合A口工作 1 工作特点 2 方式2组态 图8 11方式2组态 3 方式2时序 图8 12方式2时序 4 使用场合 若外设是既可作为输入又可作为输出的设备 且输入和输出不会同时进行 那么将这个外设和8255A的端口A相连 使其工作在方式2 非常合适 1 工作方式控制字 D7D6D5D4D3D2D1D0 B组端口C 下半部 1 输入 0 输出端口B1 输入 0 输出方式选择0 方式0 1 方式1 A组端口C 上半部 1 输入 0 输出端口A1 输入 0 输出方式选择00 方式0 01 方式1 1 方式2 方式设置标志 特征位 1 有效 图8 138255A的方式控制字 8 2 58255A的控制字 例1 MOVAL 10010101B OUTCWR AL CWR为控制字寄存器地址 则A口 方式0输入 B口 方式1输出 C口PC4 PC7 方式0输出 C口PC0 PC3 方式1输入 2 端口C的置位 复位控制字 D7D6D5D4D3D2D1D0 位的置位 复位1 置位 0 复位 位选择D3D2D1通道C位 按位置位 复位控制标志0 有效 图8 148255AC口的置位 复位控制字 000位0 001位1 010位2 011位3 100位4 101位5 110位6 111位7 不使用设置为000 例2 可以用以下指令置位PC3 MOVAL 00000111B OUTCWR AL 可以用以下指令复位PC3 MOVAL 00000110B OUTCWR AL 图8 15双机并行传送接口电路 8 38255A应用举例 8 3 1双机并行通信接口设计 1 甲机发送程序段 MOVDX 303H 8255A命令口MOVAL 10100000B 初始化工作方式字OUTDX ALMOVAL 0DH 置发送中断允许INTEA 1OUTDX AL PC6 1MOVSI OFFSETBUFS 设置发送数据区的指针MOVCX 3FFH 发送字节数MOVDX 300H 向A口写第一个数 产生第 一个OBF信号MOVAL SI 送给乙方 以便获取乙方的 ACK信号OUTDX ALINCSI 内存地址加1DECCX 传送字节数减1 MOVDX 302H 8255A状态口INAL DX 查发送中断请求INTRA 1 ANDAL 08H PC3 1 JZL 若无中断请求 则等待 若有中断请求 则向A口写数MOVDX 300H 8255APA口地址MOVAL SI 从内存取数OUTDX AL 通过A口向乙机发送第二个数据INCSI 内存地址加1DECCX 字节数减1JNZL 字节未完 继续MOVAX 4C00H 已完 退出INT21H 返回DOSBUFSDB 1024个数据 L 2 乙机接收程序段 MOVDX 303H 8255A命令口MOVAL 10011000B 初始化工作方式字OUTDX ALMOVAL 00000111B 置ACK 1 PC3 1 OUTDX ALMOVDI OFFSETBUFR 设置接收数据区的指针MOVCX 3FFH 接收字节数 MOVDX 302H 8255APC口INAL DX 查甲机的OBF 0 乙机的PC7 0 ANDAL 80H 即查甲机是否有数据发来JNZL 若无数据发来 则等待 若有数据 则从A口读数MOVDX 300H 8255APA口地址INAL DX 从A口读入数据MOV DI AL 存入内存MOVDX 303H 产生ACK信号 并发回给甲机MOVAL 00000110B PC3置 0 OUTDX ALNOPNOP L MOVAL 00000111B PC3置 1 OUTDX ALINCDI 内存地址加1DECCX 字节数减1JNZL1 字节未完 则继续MOVAX 4C00H 已完 退出INT21H 返回DOSBUFRDB1024DUP 主从两个微机进行并行传送 共传送256个字节 主机一侧的8255A采用方式2并且用中断方式传送数据 从机一侧8255A工作于方式0 采用查询方式传送数据 8 3 2方式2应用举例 双机并行通信接口设计 1 硬件设计 图8 16接口电路框图 2 软件设计 主机一侧的编程 8255A初始化MOVDX 303H 8255A控制口MOVAL 0C0H 方式字11000000B A口方式2OUTDX ALMOVAL 09H 使PC4 INTE2 1 输入中断允许OUTDX ALMOVAL 0DH 使PC6 INTE1 1 输出中断允许OUTDX ALMOVSI 3000H 发送数据块首址MOVDI 410H 接收数据块首址MOVCX 0FFH 发送接收字节数 AGAIN STI 开中断HLT 等待中断CLIDECCX 字节数 1JNZAGAINMOVAX4C00H INT21H 返回DOS T RPROCFARMOVDX 303HMOVAL 08H 复位PC4 INTE2 OUTDX ALCLIMOVDX 302H 8255AC口INAL DX 读入C口内容MOVAH ALANDAL 20H PC5 IBF 1 是输入 JZOUTP 不是 转OUTP INP MOVDX 300HINAL DXMOV DI ALINCDIOUTP MOVAL AHANDAL 80HJZRETURNMOVDX 300HMOVAL SI OUTDX AL RETURN MOVDX 303H 8255A控制口MOVAL 0DH PC6 INTE1 1OUTDX ALMOVAL 09H PC4 INTE2 1OUTDX ALMOVAL 62H 8259A的OCW2 01100010BOUT20H AL 中断结束STIIRET T RENDP 作业 1 下图是为外设设计的译码器 地址高5位A9 A5参加译码 8255接在译码器的输出端Y3 请指出8255的口地址范围是多少 G1 74LS138 CBA 5VA9A8A7A6A5 Y1Y2Y3Y4Y5 8255 060H 07FH 2 共阴极LED显示器通过8255A将LED显示器与8086CPU相连 若选片信号为A9 A2 11111100译码产生 问A口 B口 C口和控制口的地址分别是多少 A口和B口分别工作在什么方式 Abcdefg k a b c d e f g A口 B口 C口和控制口地址分别为3F0H 3F1H 3F2H和3F3H A口和B口工作在方式0的输出方式 3 主机通过8255A与打印机相连 如图 说明口A和口C工作在什

温馨提示

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

评论

0/150

提交评论