南京邮电大学微型计算机原理与接口技术 第11章 孙力娟_第1页
南京邮电大学微型计算机原理与接口技术 第11章 孙力娟_第2页
南京邮电大学微型计算机原理与接口技术 第11章 孙力娟_第3页
南京邮电大学微型计算机原理与接口技术 第11章 孙力娟_第4页
南京邮电大学微型计算机原理与接口技术 第11章 孙力娟_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

第十一章并行接口芯片8255A 8255A是INTEL公司的产品 可编程的并行接口芯片 11 18255A的内部结构 24根端口数据线 接外设PA7 PA0为A口数据线PB7 PB0为B口数据线PC7 PC0为C口数据线 8255A的外部引脚 8255A为双列直插式 40引脚 8根系统数据线 接CPUD7 D0 6根输入控制线RESET 复位信号 RESET 1时 8255内部复位 所有内部寄存器清零 A B C三个端口自动为输入口CS 片选信号 CS 0时 该芯片被选中RD 来自CPU的I O读命令WR 来自CPU的I O写命令A1 A0 通常接CPU的地址线A1 A0 电源线 5V 地线 如果系统产生片选信号的译码电路如图 则 A数据口地址 60HB数据口地址 61HC数据口地址 62H控制口地址 63H 控制口寄存初始化命令字 端口 接口电路中能和CPU直接交换信息的寄存器8255A有4个端口寄存器 8255A的端口编址 注意 对控制寄存器不能进行读操作 A口可工作在方式0 1 2B口可工作在方式0 1C口可工作在方式0 11 28255A的工作方式简介 什么是选通型输入 以A口为例 A口定义为选通型输入时 端口和外设之间有两类信号线 数据线PA7 PA0 联络线IBFA STBA IBF InputBufferFull 输入缓冲器满 状态线 STB Strobe 选通信号输入 IBF 1 通知外设输入缓冲器已满 请不要再送数据只有在IBF 0时 外设才能写入数据 什么是选通型输出 以B口为例 当端口定义为选通型输出时 端口与外设之间也有两类信号 数据线PB7 PB0 联络线OBFB ACKB OBF OutputBufferFull 输出缓冲器满 状态线ACK Acknowledge 确认应答 什么是基本型输入 以B口为例 当B口定义为基本型输入时 它相当于一个输入缓冲器 对B口执行一条IN指令 就把输入数据 CPU 对B口执行一条IN指令打开控制门 PB7 PB0 至CPU D7 D0 什么是基本型输出 以A口为例 当A口定义为基本型输出时 它为一个输出锁存器CPU对A口执行一条OUT指令把数据锁存在端口 总之 基本型输入 出时 8255和外设之间没有联络信号 对A口执行一条OUT指令锁存数据 1 8255控制字 8255有2个控制字 方式选择控制字 C口按位置0 置1命令字 控制字必须写入控制口才能有效 11 38255A控制字与初始化编程 方式选择控制字 A口工作在方式1 方式2 B口工作在方式1时 D3 D0只能定义部分PC线的入 出A口工作在方式2时 D4不起作用C口上 下半部可以选择不同的入 出 都是方式0 注意 C口按位置0 1命令字 注意 C口按位置0 1命令字必须写入控制口 根据需要 把C口置0 置1命令字 控制口 目的是禁止 允许某一口提中断 2 8255A初始化编程步骤 方式选择命令字 控制口 目的选择某一口的工作方式 例 要求置A口为方式0输出 B口为方式0输入 PC7 4为输出 PC3 0为输入 MOVAL 83HOUT控口地址 AL 解 方式选择命令字 一 方式0与时序 方式0输入时序 11 48255A工作方式与时序 方式0输出时序 二 方式1输入 选通型输入 及时序 1 A口方式1输入的预置 当方式字 B0H写入控制口之后 A口即工作在选通型输入 PC7 PC6空闲 输出线 输入线 受方式字D3控制 PA7 PA0即为输入线PC4自动定义为入线 称为STBAPC5自动定义为出线 称为IBFAPC3自动定义为出线 称为INTRA 它们是输出线 输入线 不再受方式字D3 D0控制 此时 当INTEA 1之后 若IBFA 1 则A口提出中断请求 2 A口方式1输入时 A口的中断管理 用C口置0 置1命令字使PC4 1 则INTEA 1 允许A口中断用C口置0 置1命令字使PC4 0 则INTEA 0 禁止A口中断 INTEA为A口的中断允许触发器 当A口定义为方式1输入时 3 B口方式1输入的预置 当方式字 86H写入控制口之后 B口即工作在选通型输入 PB7 PB0即为输入线PC2自动定义为入线 称为STBBPC1自动定义为出线 称为IBFBPC0自动定义为出线 称为INTRB 输出线 输入线 不再受方式字D0控制 此时 4 B口方式1输入时的中断管理 INTEB 1之后 若IBFB 1 则INTRB 1 B口可提出中断请求 INTEB为B口的中断允许触发器 当B口工作在方式1输入时 用C口置0 1命令字使PC2 1 则INTEB 1 允许B口中断 用C口置0 1命令字使PC2 0 则INTEB 0 禁止B口中断 5 方式1输入的时序图 方式1输入时序 方式1输入操作是由STB 引发的 STB 后 外设数据 8255 IBF 满足下列条件 提中断请求 STB信号结束 STB脉宽可以很宽 IBF 1 外设数据确已锁存 INTE 1 中断允许触发器置1 服务程序执行IN指令之后 RD信号前沿使INTR 后沿使IBF 0从而结束一次数据输入过程 6 方式1输入时 CPU 8255信息交换的方式 可以用中断方式 可以用查询方式 输入查询应查询IBF 不应该查询STB STB脉冲是外设送来 它最小可小到500ns 而在500ns的时间内正好运行CPU的查询指令是不可能的 三 方式1输出 选通型输出 及时序 1 A口方式1输出的预置 当方式字 A0H写入控制口之后 A口即工作在选通型输出方式 PC4 PC5空闲 出 入 受方式字D3控制 PA7 0为输出线PC6自动定义为入线 称ACKAPC7自动定义为出线 称OBFAPC3自动定义为出线 称INTRA 输出 输入 不再受方式字D3 D0控制 此时 2 方式1输出时A口的中断管理 INTEA为A口的中断允许触发器 当A口定义为方式1输出时 用C口置0 置1命令字使PC6置1 则INTEA 1 允许A口中断用C口置0 置1命令字使PC6置0 则INTEA 0 禁止A口中断 3 口方式 输出的设置 当方式字 84H 控制口之后 B口即工作在选通型输出方式 入线 出线 不再受方式字D0控制 PB7 PB0定义为输出线PC2自动定义为入线 称为ACKBPC1自动定义为出线 称为OBFBPC0自动定义为出线 称为INTRB 此时 4 方式1输出时 B口的中断管理 INTEB为B口的中断允许触发器 当B口工作在方式1输出时 用C口置0 1命令字使PC2 1 则INTEB 1 允许B口中断用C口置0 1命令字使PC2 0 则INTEB 0 禁止B口中断 INTEB置1后 OBFB 1 则INTRB 1 B口提出中断 同样 ACKB不能改变INTEB的状态 它只受CPU控制 5 方式1输出的时序图 方式1输出时序 方式1输出时CPU针对8255数据口执行OUT指令WR信号结束后 数据出现在外设数据线上OBF有效 向外设通报其数据线信息可用 使INTR无效 撤销中断请求 外设取走数据后 发来ACK ACK信号前沿使OBF无效 后沿提中断 工作在方式1输出时端口提中断的条件 外设发出ACK信号且使OBF 1中断允许触发器置1 6 方式1输出时 CPU 8255交换信息的方式 中断方式 查询方式 查询OBF 当OBF 1 不满 时可送下一个数据 1 双向方式的设置 A口定义为双向方式之后 PA7 0是双向的数据线 可以分时完成数据输入 出PC3自动定义为出线 INTRAPC7自动定义为出线 OBFAPC6自动定义为入线 ACKAPC4自动定义为入线 STBAPC5自动定义为出线 IBFAPC2 0空闲 入 出线 不再受方式字D3 D0的控制 IBFA STBA是双向方式中的一对输入联络线OBFA ACKA是双向方式中的一对输出联络线 数据输入过程 数据输出过程与方式1类似 2 A口双向方式的中断管理 A口定义为双向方式之后 INTE2为双向方式中的输入中断允许触发器用C口置0 1命令字使PC4置0 则INTE2 0用C口置0 1命令字使PC4置1 则INTE2 1INTE2置1后 若IBFA 1 则INTRA 1 提出中断请求 INTE1 双向方式中的输出中断允许触发器INTE2 双向方式中的输入中断允许触发器 IBFA STBA是双向方式中的一对输入联络线OBFA ACKA是双向方式中的一对输出联络线 在IBFA 0时表示输入缓冲器空闲输入设备把数据 PA7 0 随后使STBA 完成数据输入 在INTE2 1的前提下向CPU提中断CPU响应后对A口执行IN指令取走数据 CPU 输入 CPU对A口执行OUT指令 数据写入A口OBFA 0表示PA7 0有数据了外设取走数据后 向ACKA送在INTE1 1的前提下向CPU提出中断CPU响应后再次执行OUT指令又送一个新的数据 A口 输出 方式0的特点 8255和外设交换信息时 不需要联络线 方式1 2的特点 8255和外设交换信息时 需要联络线 五 8255小结 1 8255工作方式 A口可以工作在方式0 1 2 B口可以工作在方式0 1 不能工作在方式2 C口可以工作在方式0 C口分为PC7 4 PC3 0二部分 但程序员对C口的读写是按字节操作的 A口工作在方式2时 B口只能工作在方式0 1 限制 CPU只能用查询而不能用中断和B口交换数据 数据口工作在方式1 2时 CPU用 2 CPU与8255交换信息的方式 数据口工作在方式0时 CPU采用无条件传送 b 中断方式 由于8255本身不能向CPU回送中断向量 所以必须用8259管理 在系统外扩8255时 8255的INTR应接到系统机从8259的IR1 作为用户中断来处理 3 中断允许触发器的置0 置1 对程序员来讲 工作在方式1 方式2时 8255内部有4个中断允许触发器 用 C口专用的置0 1命令字 可以使它们置0 1 方式 控制位 中断允许触发器 4 8255的初始化编程 工作在方式0时 方式选择命令字 控制口 工作在方式1 2时 a 方式选择命令字 控制口b 允许中断 或禁止中断 的命令字 控制口 六 8255应用举例 例 设系统机外扩了一片8255 以及相应的实验电路 如后页图所示 要求 先预置开关K3 K1为一组状态 然后按下自复按钮K产生一个负脉冲信号输入到PC4 用发光二极管LEDi亮来显示K3 K1的状态 主机键盘有任意键按下时结束演示 K3K2K1 000时 LED1亮K3K2K1 001时 LED2亮K3K2K1 010时 LED3亮K3K2K1 011时 LED4亮K3K2K1 100时 LED5亮K3K2K1 101时 LED6亮K3K2K1 110时 LED7亮K3K2K1 111时 LED8亮K3 K1闭合为0 断开为1 要求 实验电路图 教材P347 A口 218H 21CHB口 219H 21DHC口 21AH 21EH控口 21BH 21FH 端口地址 设计思路 8255工作方式的选择 B口应为基本型输出A口应为选通型输入 设计思路 8255和CPU交换信息的方式 设计思路 CPU 8255B口用无条件输出 D7 D0 RESET RD WR A1 A0 8255 5V LED8 LED7 LED1 PB7 PB6 PB0 PA2 PA1 PA0 K3 K2 K1 5V 单脉冲发生器 PC4 K PC5 IBFA INTRA PC3 INTEA CS STBA 设计思路 CPU 8255A口交换信息 解法1 查询方式 当PC5 1时 表示K3K2K1的值已写入A口了解法2 中断方式 PC3接系统从8259IR1 按用户中断处理 A口禁止中断命令字 0XXX1000 08H 用查询方式编程 方式选择命令字 1011X00X B0H A口方式1 A口输入 B口方式0 B口输出 B口方式0输出 A口选通型输入查询 查询方式程序清单 486DATASEGMENTMESGDB 8255AREADY 0DH 0AH TABDB11111110BDB11111101BDB11111011BDB11110111BDB11101111BDB11011111BDB10111111BDB01111111BDATAENDSCODESEGMENTASSUMECS CODE DS DATABEG MOVAX DATAMOVDS AX CALLI8255A 8255A初始化MOVAH 9MOVDX OFFSETMESGINT21H 给出操作提示SCAN MOVAH 1INT16H 有键入 JNZRETURN 有MOVDX 21AHINAL DX 读8255AC口TESTAL 00100000B PC5 1 JZSCAN NOMOVDX 218HINAL DX 读8255AA口ANDAL 07HMOVBX OFFSETTABXLATTAB 查表 MOVDX 219HOUTDX AL 表项输出到B口JMPSCANRETURN MOVAH 4CHINT21H 返回DOSI8255APROCMOVDX 21BHMOVAL 0B0HOUTDX AL 写入工作方式字MOVAL 08HOUTDX AL 令PC4 0 INTEA 0 MOVDX 219HMOVAL 0FFHOUTDX AL 熄灭LEDRETI8255AENDPCODEENDSENDBEG 用中断方式编程 A口允许中断命令字 0XXX1001 09H 把实验电路8255PC3接ISA总线B4端子以便向系统机提出用户中断请求B口方式0输出 A口方式1输入 中断方式 方式选择命令字 1011X00X B0H A口方式1输入 B口方式0输出 中断方式程序清单 486DATASEGMENTMESGDB 8255AREADY 0DH 0AH TABDB11111110BDB11111101BDB11111011BDB11110111BDB11101111BDB11

温馨提示

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

评论

0/150

提交评论