第8章输入输出接口.ppt_第1页
第8章输入输出接口.ppt_第2页
第8章输入输出接口.ppt_第3页
第8章输入输出接口.ppt_第4页
第8章输入输出接口.ppt_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

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

文档简介

第8章输入输出接口 第8章并行接口与串行接口 概述可编程并行接口8255A 主要内容 教学重点 本章介绍两种通信方式与两种接口芯片 以此构建并行与串行通信系统 重点 通信的基本概念 8255A的功能 结构与编程 难点 8255A与设备 系统的连接 第8章教学要求 1 掌握并行通信和串行通信的基本概念 2 掌握并行接口芯片8255A的基本结构和特点3 熟悉8255A的三种工作方式及其应用4 掌握8255A的控制字的含义 一 CPU与外设通信特点需要有接口作为CPU与外设通讯的桥梁 需要有数据信息传送之前的 联络 要传递的信息有三方面内容 状态 数据及控制信息 概述 CPUI O接口外设 地址数据控制 控制数据状态 概述 接口电路通常包含一组能够与处理器交换信息的寄存器或缓冲器 称为I O端口数据端口 存放数据信息状态端口 存放状态信息 即反映外设当前工作状态的信息控制端口 存放控制信息 概述 1 数据信息 1 数字量 数字量是使用二进制形式表示的数据 图形 文字等信息 2 模拟量 连续变化的物理量 如温度 压力等 由传感器先将其变为电压或电流信号 通过模 数转换器变成数字量 送入计算机处理 3 开关量 用开关量可表示两种状态 如开关的闭与合 电机的转与停 三极管的通与断等 这样的量用一位二进制数表示即可 概述 2 状态信息状态信息反映了外部设备当前所处的工作状态 是外部设备发送给CPU的 用来协调CPU和外部设备间的操作 对于输入设备通常用准备好 READY 信号表示输入数据是否准备好 对于输出设备常用忙 BUSY 信号表示输出设备是否处于空闲状态 若有空闲 则可接收CPU送来的信息 否则CPU将等待 概述 3 控制信息控制信息是CPU发送给外部设备的 以控制外部设备的工作 如对外部设备的初始化 外部设备的启动和停止等控制信息 概述 二 接口的功能1 对输入 输出数据进行缓冲与暂存2 实现信号形式和数据类型的转换3 缓解外部设备与CPU工作速度的差异 概述 三 I O端口的寻址微机系统中会有许多外部设备 一个外部设备的接口电路中又可能占用多个I O端口 PORT 每个端口用来保存和交换不同的信息 每个端口必须有各自的端口地址供CPU访问 所以接口电路中包含有地址译码电路使CPU能够寻址到每个端口 概述 1 通用接口芯片支持通用的数据输入输出和控制的接口芯片 如单向三态缓冲器74LS244 基本输出接口芯片 如锁存器74LS273和74LS373等 2 专用接口芯片针对某种外设设计 与该种外设接口 如并行接口8255 串行接口8250等 概述 3 面向微机系统的专用接口芯片与CPU和系统配套使用 以增强其总体功能 如中断控制接口8259 DMA接口等 有的接口电路具有可编程性 有的接口电路具有多种功能和工作方式 可以通过编程的方法选定其中一种接口 接口软件有两类 一是初始化程序段 用于设定芯片工作方式等 二是数据交换程序段 用于管理 控制 驱动外部设备 概述 CPU与外部设备的数据交换 是通过I O接口进行的 为了区分每一个接口 我们采用对每一个I O接口进行编号 即称其为I O接口的地址 利用I O接口的地址可以很方便的确定外部设备使用的I O接口 这就是对I O接口的寻址 对I O接口的编号 也称为编址 可以有两种方式 概述 1 I O接口的统一编址 概述 I O端口 存储单元 I O地址空间 存储器地址空间 整个地址空间 如图所示 在这种方式中 把外部设备接口与内存统一进行编址 故每一个外部设备端口占有存储器的一个地址 这种编址方式的优点 可以用访向存储器的指令来访问I O端口 而访问存储器的指令功能比较强 不仅有一般的传送指令 还有算术 逻辑运算指令 以及各种移位 比较指令等 并且可以实现直接对I O端口内的数据进行处理 缺点是 由于I O端口占用了一部分存储器地址空间 因而使用户的存储地址空间相对减小 另外不利于程序阅读 在80X86系列微机系统中采用这种工作方式 外设地址空间和内存地址空间相互独立 CPU有专门的I O指令和相应的控制电路 控制信号 用地址来区分不同的外设 2 I O端口独立编址 概述 存储单元 存储地址空间 I O端口 I O地址空间 概述 这种编址方式的优点 可以用访向存储器的指令来访问I O端口 而访问存储器的指令功能比较强 不仅有一般的传送指令 还有算术 逻辑运算指令 以及各种移位 比较指令等 并且可以实现直接对I O端口内的数据进行处理 缺点是 由于I O端口占用了一部分存储器地址空间 因而使用户的存储地址空间相对减小 另外不利于程序阅读 四 输入 输出方式1 同步传送方式2 异步查询方式程序控制传送方式3 中断方式4 直接存储器存取方式 概述 一 程序控制传送方式 一 同步传送方式 无条件方式 CPU直接与外设传送数据并不需要了解外设状态 认为外设已经准备就绪 直接与外设传送数据 概述 CPU 译码 数据线 M IO WR 或门 地址线 接口 外设 输出 概述 CPU 译码 数据线 M IO RD 或门 地址线 接口 外设 输入 概述 二 异步查询方式在执行输入输出前 要先查询接口中状态寄存器的状态 概述 输入时 状态寄存器的状态指示要输入的数据是否已经准备就绪 概述 常用的状态线有IBF READY功能 1 输入设备准备好数据 状态线有效 2 CPU读数据端口 取走数据后 状态线转换为无效 概述 输出时 状态寄存器的状态指示输出设备是否空闲 概述 常用的状态线有empty busy功能 1 输出设备空闲 BUSY无效 2 CPU写数据端口 输出设备输出数据 状态线转换为有效 概述 三 中断方式当外设作好传送准备后 主动向CPU请求中断 CPU响应中断后在中断处理程序中与外设交换数据 在中断未发生时 CPU可以执行其他程序 这样可以提高CPU的利用率 概述 主程序 中断服务子程序 中断信号 概述 与程序查询方式相比 中断控制方式的数据交换具有如下特点 1 提高了CPU的工作效率 2 CPU具有控制外围设备服务的主动权 3 CPU可以和外设并行工作 4 可适合实时系统对I O处理的要求 概述 二 直接存储器存取方式 DMA DirectMemoryAccess 在高速的外设或成块交换数据的情况 采用程序控制方式进行数据的传输 是无法满足要求的 在这种情况下 采用DMA方式 概述 DMA方式是在外设与内存间建立起直接的通道 CPU不再直接参加外设和内存间的数据传输 当系统需要进行DMA传输时 将CPU对地址和数据及控制线的管理权交由DMA控制器进行控制 当完成了一次DMA数据传输后 再将这个控制权还给CPU 这些工作都是由硬件自动实现的 并不需要程序进行控制 概述 CPU 外设 存储器 总线 执行程序指令的数据传送路径 DMA方式的数据传送路径 概述 外设 外设 DMAC 内存 内存 DMAC DMA传送的几种形式 概述 五 8086CPU的输入 输出1 I O寻址64K2 8086CPU的I O指令 1 直接寻址输入 输出指令 八位端口地址 INAL n 字节输入 INAX n 字输入 OUTn AL 字节输出 OUTn AX 字输出 概述 2 DX寄存器间接寻址输入 十六位端口地址 INAL DX 字节输入 INAX DX 字输入 OUTDX AL 字节输出 OUTDX AX 字输出 概述 六 有关端口地址问题a 8086CPU与外设交换数据可以字或字节进行 b 当以字节进行时 偶地址端口的字节数据由低8位数据线D7 D0位传送 奇地址端口的字节数据由高8位数据线D15 D8传送 c 当用户在安排外设的端口地址时 如果外设是以8位的方式与CPU连接 就只能将其数据线或者与CPU的低八位或者与高八位连接 这样同一台外设的所有寄存器端口地址都只能是偶地址或是奇地址 这时设备的端口地址就会是不连续的 概述 一 并行接口的特点 并行接口是在多根数据线上 以字节 字为单位与I O设备交换数据 8 1 1并行通信 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 Intel系列的8位并行接口芯片通用性强 使用灵活可用程序设置和改变芯片的工作方式是一种典型的可编程并行接口芯片 40个引脚 双列直插式 二 可编程并行通信接口芯片8255 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 1 数据端口A B C 每个端口8位 通过编程设定其为输入口或输出口可用来和外设传送信息 端口A有3种工作方式 方式0 方式1 方式2 对外8根引脚PA7 PA0 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 1 数据端口A B C 端口B有2种工作方式 方式0 方式1对外8根引脚PB7 PB0 端口C 对外引脚PC0 PC7 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 1 数据端口A B C 当端口A在方式1或方式2 端口B在方式1时 端口C的某些位用于传送联络信号 以适应CPU与外设间的各种数据传送方式的要求 如查询传送的应答信号 中断传送的中断申请信号等 C口未被用作联络信号的其它位可工作在方式0下 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 2 控制端口D A组和B组控制电路 8位端口 无对外引脚可用来和外设传送信息控制端口的内容决定A口 B口 C口的工作状态 输入或输出 和工作方式 方式0 1 2 起控制作用 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 3 数据总线缓冲器 引脚D0 D7 由1个8位双向三态缓冲器构成8255A内各端口通过数据缓冲器与系统总线相连 CPU与端口A B C间传送的数据 以及CPU写入控制端口D中的控制字均通过数据缓冲器传送 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 4 读写控制电路 引脚CS RD WR 控制数据总线缓冲器的状态 数据总线缓冲器有3种状态 输入 输出 高阻态 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 5 片内译码电路 引脚A1 A0 选择被操作的端口 二 可编程并行通信接口芯片8255 8255芯片引脚定义与功能 由CS A1 A0 RD WR引脚的不同组合 实现各种不同的功能 在8255A内部硬件结构中 A口和B口之间没有硬件关系 即可分别作为独立的输入或输出端口 C口和A口 C口和B口之间有硬件联系 通过向控制口设置控制字可以改变这种联系 三 三种工作方式 三 三种工作方式 根据A口和C口 B口和C口之间硬件关系的不同 可以有三种不同的工作方式 分别称为方式0 方式1 方式2 A口或B口工作在方式0 与C口之间没有硬件联系 A口或B口工作在方式1 C口的某3根引脚作为端口与外设的联络信号 A口工作在方式2 C口的某5根引脚作为端口与外设的联络信号 三 三种工作方式 1 方式0 基本输入输出方式 A口工作在方式0时 A口和C口之间没有硬件联系B口工作在方式0时 B口和C口之间没有硬件联系 三 三种工作方式 1 方式0 基本输入输出方式 工作在方式0的端口 为单向传送端口 输入或输出作为输入口相当于普通的三态门作为输出口相当于普通的锁存器CPU可利用工作在方式0的端口 直接对端口进行读写操作 实现CPU与外设间的数据传送 三 三种工作方式 2 方式1 选通输入输出方式 A口工作在方式1时 C口的某3根引脚作为A口的联络信号 B口工作在方式1时 C口的某3根引脚作为B口的联络信号 工作在方式1的端口 为单向传送端口 在方式1下 C口作为A口 B口联络信号的引脚 其动作关系在芯片设计和制造时已固定 不由用户自己安排 也不能编程改变 三 三种工作方式 3 方式2 双向传送方式 端口工作在方式2时 C口的某5根引脚作为端口的联络信号8255A只有A口可以工作在方式2下 与方式0和方式1不同的是 工作在方式2的端口 为双向传送端口 既可输入又可输出 方式选择控制字 四 8255A的控制字 所以 方式控制字为10000010B 即82H 由于对C口无要求 控制C口的相应位D4 D0可为任意值 假设取0 例假设8255A控制端口的地址为203h 编程设置控制字 使A口方式0输出 B口方式0输入 设置控制字的程序段如下 MOVDX 203h 置DX为控制口地址MOVAL 82h 置控制字于AL中OUTDX AL 将控制字写入控制口 例假设8255A控制端口的地址为203h 编程设置控制字 使A口方式0输出 B口方式0输入 端口C置位 复位控制字 注意 C口控制字虽然是对端口C操作 但应写入到控制口地址 而不是写入到C数据口 例假设8255A的控制口地址为203h 通过控制口置PC2为0 置PC4为1 MOVDX 203H 置DX为控制口地址MOVAL 00000100B 置PC2为0OUTDX ALMOVAL 00001001B 置PC4为1OUTDX AL 例 设A B C数据口地址分别位60H 61H 62H 控制口端口地址63H 1 A口方式0 输出 B口方式0 输入 C口高4位输出 C口低4位入 MOVAL 10000011BOUT63H AL 2 PC7置1 PC3置0MOVDX 63HMOVAL 0000 1111B PC7置1OUTDX ALMOVAL 0000 0110B PC3置0OUTDX AL 8255的工作方式0 8255作为打印机接口 工作于方式0 1 方式0 基本输入输出方式 单向传送端口 输入或输出 程序设计 设PA PB PC口地址分别为0D0H 0D2H 0D4H控制口地址 0D6HMOVAL 81H OUT0D6H ALMOVAL 0DH PC6置1 0DH 0000 1101OUT0D6H ALLPST INAL 0D4H 读PC口ANDAL 04D 打印机忙否 PC2 BUSY JNZLPST PC2 1 打印机忙 等待MOVAL CLOUT0D0H AL CL中的字符送PA口MOVAL 0CHOUT0D6H AL 置PC6 0 即 0 00001100 0CHINCALOUT0D6H AL 置PC6 1 即 1 00001101 0DH 8255的工作方式1 选通输入输出方式 A口工作在方式1时 C口的某3根引脚作为A口的联络信号B口工作在方式1时 C口的某3根引脚作为B口的联络信号 工作在方式1的端口 为单向传送端口 由方式控制字决定是输入还是输出 C口作为联络信号的引脚 不受方式控制字的控制 该出则出 该入则入 不受C口按位置位 复位控制字控制 8255的工作方式1 选通输入输出方式 利用方式1下的联络信号 可方便地实现查询或中断方式的硬件设计 使CPU能够有效 可靠地与外设进行数据传送 A口 B口在输入或输出不同的工作状态时 C口联络信号的引脚和意义也不同 8255的工作方式1 选通输入输出方式 8255的工作方式1 选通输入输出方式 对方式1输入的端口 C口提供与外部联络的信号有 STB选通信号 低电平有效 由外设发出 送给8255A 作用是将外设送来的数据锁存到8255A的输入端口 IBF输入缓冲器满信号 高电平有效 8255A发出 表示外设送来的数据已进入输入端口 当外设送来的数据送入输入端口后 8255A自动发出 INTR中断申请信号 高电平或上升沿有效 8255A发出 用来向CPU发出中断申请 STB IBF INTE均为 时 8255A自动发出INTR 8255的工作方式1 选通输入输出方式 对方式1输入的端口 8255A内部的控制信号有 INTE中断允许控制信号 作用是控制是否允许8255A的中断申请信号INTR发出 此信号无引出 通过控制口对C口相应位的置位 复位设置允许或不允许 A口 对PC4置位 使INTEA 1 允许中断对PC4复位 使INTEA 0 不允许中断B口 对PC2置位 使INTEB 1 允许中断对PC2复位 使INTEB 0 不允许中断 8255的工作方式1 选通输入输出方式 方式1的输入时序 从工作在方式1下的输入端口输入数据时 有关信号的变化关系 外设送来数据 当INTE 1时 8255的工作方式1 选通输入输出方式 当外设准备好数据 将数据送至端口线PA7 PA0或PB7 PB0 外设发出选通信号STB 1 将数据锁存在输入端口内 2 使IBF变高 表示输入端口满 可用于阻止外设输入新数据 3 如果INTE 1 STB的上升沿使INTR变高 发出中断请求 转中断处理程序 执行IN指令 CPU读取数据 发出RD信号 1 RD的下降沿清除INTR 2 RD的上升沿清除IBF 3 端口内的数据进入CPU 8255的工作方式1 选通输入输出方式 8255的工作方式1 选通输入输出方式 对方式1输出的端口 C口提供与外部联络的信号有 OBF输出缓冲器满信号 低电平有效 当数据送至8255A输出缓冲器后 8255A自动发出 表示CPU送来的数据已进入8255A输出端口 可用来通知外设把数据取走 ACK外设响应信号 低电平有效 由外设发出 送给8255A 作用是通知8255A输出端口的数据已被外设取走 可以传送下一个数据 8255的工作方式1 选通输入输出方式 INTR中断申请信号 高电平或上升沿有效 8255A发出 用来向CPU发出中断申请 当OBF ACK INTE均为 时 8255A自动发出INTR 8255的工作方式1 选通输入输出方式 对方式1输出的端口 8255A内部的控制信号有 INTE中断允许控制信号 作用是控制是否允许中断申请信号INTR发出 此信号无引出 通过控制口对C口相应位的置位 复位设置允许或不允许 A口 对PC6置位 使INTEA 1 允许中断对PC6复位 使INTEA 0 不允许中断B口 对PC2置位 使INTEB 1 允许中断对PC2复位 使INTEB 0 不允许中断 8255的工作方式1 选通输入输出方式 方式1的输出时序 向工作在方式1下的输出端口输出数据时 有关信号的变化关系 8255的工作方式1 选通输入输出方式 CPU执行OUT指令 输出数据 CPU发出WR 1 数据写到8255A的端口 2 使OBF有效 OBF 0 表示输出端口满 可作为外设的选通信号 通知外设取数据 3 清除中断请求信号INTR 外设接受到数据后 发出ACK信号 1 ACK的下降沿使OBF变高 2 当INTE 1 ACK的上降沿使INTR变高 发出中断请求 请求CPU输出新的数据 8255的工作方式1 选通输入输出方式 主程序 MAIN MOVAL 0A0H 方式选择控制字OUT0C6H ALMOVAL 01H OUT0C6H ALCLI 替换中断向量前关中断MOVAH 25H 替换中断向量的典型方式MOVAL 0BH IR3的类型码为0BHMOVDX OFFSETROUTINTRPUSHDSMOVAX SEGROUTINTRMOVDS AXINT21HPOPDSMOVAL 0DH PA方式1输出 置PC6 1的操作 OUT0C6H AL 使8255允许中断 INTEA 1 STI CPU开中断 假设 A口地址0C0HB口地址0C2HC口地址0C4H控制口0C6H 中断处理程序ROUTINTR MOVAL DI DI为打印字符缓冲区地址OUT0C0H ALMOVAL 00H 置PC0 0OUT0C6H ALINCAL 置PC0 1 IRET 8255的工作方式2 选通双向传输方式 端口工作在方式2时 C口的某5根引脚作为端口的联络信号8255A只有A口可以工作在方式2下 与方式0 方式1的单向传送不同 工作在方式2下的端口 具有双向传送功能 A口工作在方式2下 C口未做联络信号的3条引脚可作为B口在方式1下的联络线 也可和B口一样工作在方式0下 由方式控制字决定其输入 输出 8255的工作方式2 选通双向传输方式 工作在方式2时 C口有5根引脚作为A口的联络信号 是方式1下A口输入 输出联络信号的组合 8255A在IBMPC XT主板上的应用 键盘接口 键盘 键盘中断申请 8259A IR1 INTA INT 8088 INTR INTA 60H端口 61H端口 8255A 应答信号 扫描码 辅助电路 IR0 18 2Hz方波 扬声器 8255A与系统的连接 8255A在IBMPC XT主板上的应用 各端口的地址分别为 A口 60HB口 61HC口 62H控制口 63H正常工作时 A B C三个端口均工作在方式0 A口输入 B口输出 C口输入 方式控制字为 10011001B 99H 8255A的控制字在系统初始化中已设置 8255A在IBMPC XT主板上的应用 8255A在IBMPC XT主板上的应用 发声程序中通过61H端口控制发声键盘中断子程中通过60H端口读入键盘扫描码 执行 OUT61H AL 执行 OUT61H AL 8255A在IBMPC XT主板上的应用 87 例8 1某系统要求使用8255的A口工作于方式1作输入 B口工作于方式0作输出 C口上半部输入 下半部输出 8255端口地址为60H 63H 控制字为 10111000B 0B8H 初始化程序为 MOVAL 0B8HOUT63H AL 88 2 C口按位置 复位控制字 写 A1A0 11 C口按位置 复位控制字 例8 2如上例 若A口工作于方式1作输入 要使用中断传送方式 则应当写PC4的按位置位字 MOVAL 00001001BOUT63H AL 89 方式1下8255状态字中INTE位的置位和复位 若禁止PA口输入中断请求MOVDX 303H 8255命令口MOVAL 00001000B 置PC4 0 禁止中断请求OUTDX AL 若允许PA口输入中断请求MOVDX 303H 8255命令口MOVAL 00001001B 置PC4 1 允许中断请求OUTDX AL 若允许PA口输出中断请求MOVDX 303H 8255命令口MOVAL 00001101B 置PC6 1 允许中断请求OUTDX AL 90 若允许PB口输入中断请求MOVDX 303H 8255命令口MOVAL 00000101B 置PC2 1 允许中断请求OUTDX AL 若禁止PB口输入中断请求MOVDX 303H 8255命令口MOVAL 00000100B 置PC2 0 禁止中断请求OUTDX AL 若允许PB口输出中断请求MOVDX 303H 8255命令口MOVAL 00000101B 置PC2 1 允许中断请求OUTDX AL 例8 3 CPU通过8255A控制8个开关和发光二极管 要求发光二极管的亮灭和开关状态一致 设计电路并编写程序 解析 可以认为 处于方式0输出工作状态的PA PB PC端口实际上等同一个锁存器 而处于方式0输入工作状态的PA PB PC端口实际上等同一个缓冲器 电路如图所示 图18255控制开关 发光二极管电路 首先根据电路确定8255A4个端口的地址 确定端口地址用下述方法进行 为了能够访问8255A 必须使8255A的片选信号CS 0 A9 A4的信号必须如下 A9A8A7A6A5A4A3A210011000PA端口01PB端口10PC端口11控制端口 而A3 A2的组合和各个端口地址的关系也如上所示 由于A1 A0没有参与译码 其值对访问端口没有影响 综合以上讨论可以得出 PA PB PC和控制端口的地址分别是260H 264H 268H和26CH 在确定工作方式控制字时必须知道 PA端口为方式0输出 PB端口为方式0输入 而PC端口没有参与电路工作 其输入输出方式随意 由此可确定控制字为82H 10000010 控制电路工作并使其保证开关状态和发光二极管亮灭一致的程序如下 MOVDX 26CHMOVAL 82HOUTDX ALMOVDX 264HINAL DXNOTALMOVDX 260HOUTDX AL 例8 4 用一片8255A连接8个7段数码显示管 规定8255A的端口地址范围为340H 34FH 用74LS138译码器实现8255A的片选电路 并根据电路编写在8个7段数码管上显示数字0 7的程序 解 在设计电路前 首先要了解7段数码管 掌握数码管显示数字的原理 图2 给出了共阴极7段数码管逻辑结构图 从图2 1可以看出 当com端接低电平 a g端接高电平 对应的发光二极管就发亮 如果想在7段数码管上显示数字0 需要在com端接低电平 a b c d e f端接高电平 g端接低电平 七段数码管的字形代码表如下 显示字形gfedcba段码001111113fh1011000030h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h 一片8255A只需 个端口地址 而题中给出的地址范围由16个地址 这意味着低 位地址中有些地址可以不参加地址译码 设计电路的第一部还需要设计出片选电路 必须用指定地址范围内状态不变的地址信号作为片选电路的输入信号 A9A8A7A6A5A4A3A2A1A01101000000340H110100111134FH 从上述分析中可以看出 指定地址范围内状态不变的地址信号是A9A8A7A6A5A4它们的状态分别是110100 这意味着A9 A4上出现的信号状态为110100 8255A的CS必须为低电平 下面讨论如何用74LS138译码器实现这一功能 设计片选电路的基本原则是 用A9 A4作为74LS138的输入 用74LS138其中一个输出Yi去连接8255的CS 当且仅当A9 A4 110100时 Yi才能变为低电平 图2 2中 用A6 A5 A4分别连接74LS138的G G2A G2B 只有当A6A5A4 100时74LS138才能进行译码操作 用A9 A8 A7分别连接74LS138的C B A 而用Y6输出连接8255的CS 这样 只有当A9A8A7 110时 Y6输出为低电平 图 用74LS138译码器实现8255的片选电路 用一片8255A连接8个7段数码管 且使8个7段数码管显示8个不同的数字 开始 似乎感到有点困难 实际上 任何时刻只显示一个7段数码管 其余7个7段数码管都没有显示状态 CPU通过8255A逐个显示7段数码管 并在不同的7段数码管上显示不同的数字 在逐个显示完8个数码管后 又开始新一轮的逐个显示过程 当这个循环周期间隔足够短时 由于人的眼睛有滞后效应 使得人们发现每一个数码管都出于显示状态 且显示不同的数字 从电路中可以得出 8255A4个端口的地址分别是 340H PA端口 344H PB端口 348H PC端口 34CH 控制口 程序的设计思路是先通过PB端口选中某个数码管 使其公共端为低电平 然后再从PA端口输出选中的数码管所对应的显示码 在完成当前数码管显示后 显示下一个数码管 在完成一轮显示后 开始下一轮的显示 datasegmentorg100hbuff1db3fh 30h 5bh 4fh 66h 6dh 7dh 07h 定义0 7的显示码buff2db0feh 0fdh 0fbh 0f7h 0efh 0dfh 0bfh 7fh 定义位码dataendscodesegmentassumecs code ds datastart movdx 34Ch 设置8255控制端口地址moval 80h 使8255的A口 B口 C口为方式0输出outdx alyyy1 movsi offsetbuff1 设置显示码指针movdi offsetbuff2 设置控制码

温馨提示

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

评论

0/150

提交评论