第9章可编程输入输出接口2013_第1页
第9章可编程输入输出接口2013_第2页
第9章可编程输入输出接口2013_第3页
第9章可编程输入输出接口2013_第4页
第9章可编程输入输出接口2013_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

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

文档简介

1 微机原理与接口技术 2013年10月26日 第9章可编程输入 输出接口 2 微机系统的信息交换有并行通信和串行通信两种方式 并行通信是以微机的字长为传输单位 适合于外部设备与微机之间进行近距离 大量和快速的信息交换 概述 3 9 1可编程并行接口芯片8255A 9 1 18255A的基本功能和内部结构 4 1 8255A的内部结构和引脚信号 1 8255A内部结构 5 图9 18255A内部结构 A组控制部件 数据总线缓冲器 读 写 控制部件 B组控制部件 RESET A0 A1 A组 端口A 8位 A组 A组 端口C 高4位 B组 端口C 低4位 8位 B组 端口B PA7 PA0 PC7 PC4 PC3 PC0 PB7 PB0 双向D7 D0 6 8255A包括四大部分 数据总线缓冲器 读写控制部件 A组和B组控制部件 端口A B C 1 并行输入 输出端口A B C 端口A 包含一个8位数据输出锁存器 缓冲器和一个8位数据输入锁存器 输入输出数据均受到锁存 7 输入接口 数据部分 8 如果外设送来的数据都是静态数据 接口可以简化为缓冲器 9 输出接口 数据部分 10 如果送给外设的数据都是静态数据 接口可以简化为锁存器 11 端口B和C 都包含一个8位数据输入缓冲器和一个8位的数据输出锁存器 缓冲器 输出数据能锁存 输入数据不锁存 端口C 可分成两个4位端口 分别定义为输入或输出端口 还可定义为控制 状态端口 配合端口A和端口B工作 12 2 A组和B组控制部件 13 A组 B组的控制寄存器 接收来自数据总线的控制字 并根据控制字确定各端口的工作状态和工作方式 14 3 数据总线缓冲器 15 4 读 写控制部件 接收来自CPU地址总线信号和控制信号 并发出命令到两个控制组 A组和B组 16 RESET 复位信号 RESET有效时 清8255A所有控制寄存器内容 并将各端口置成输入方式 17 2 8255A的引脚 8255A采用40线双列直插封装 引脚图如图所示 图9 28255A引脚定义 432140 3718 34 27 D7 D0 A0 A1 RESET VCC GND 9865 3536 8255APPI 数据总线 控制线 电源线 通道A 通道B 通道C CPU接口 外设接口 PA7 PA0 PB7 PB0 PC7 PC0 251415161713121110 18 PA7 PA0 A端口数据信号引脚 PB7 PB0 B端口数据信号引脚 PC7 PC0 C端口数据信号引脚 D7 D0 8255A的8位数据线 19 A1 A0 端口选择信号 当A1A0 00时选择端口A 当A1A0 01时选择端口B 当A1A0 10时选择端口C 当A1A0 11时选择控制端口 20 表9 18255A的读写操作控制 21 8255A共有两个控制字 即工作方式控制字和对C口置位 复位控制字 1 控制字 1 工作方式控制字 控制字和各位的含义如图所示 9 1 28255A的控制字及其工作方式 22 图9 38255A工作方式控制字格式 23 2 8255A的初始化 C口置位 复位控制字 24 关于控制字要说明几点 1 设置方式控制字时 A口 B口作为整体设置 而C口要分成上 下两部分分别设置 三个端口的工作方式由一个控制字规定 2 C口按位置位 复位控制字不是送到C口地址 而是送到控制寄存器地址 且一个控制字只能使C口一位置位或复位 25 3 方式控制字和按位置位 复位控制字均写入同一个控制寄存器地址 二者通过最高位D7来区别 D7 1为方式控制字 D7 0为按位置位 复位控制字 26 1 方式0 基本输入 输出方式 方式0是一种基本输入输出工作方式 它的24条I O线可以全部都用作传送数据 不设置应答信号线 常用于无条件传送 输出有锁存 输入只有缓冲能力而无锁存功能 方式0控制字具体格式如图8 5所示 2 工作方式 27 图9 58255A工作方式0控制字格式 28 工作方式0 简单输入 输出 查询方式 A B C三个端口均可 方式0输入 INAL PORT 框图 29 方式0输出 OUTPORT AL 框图 30 由控制字中D4D3D1D0等4位的不同取值可定义方式0的16种工作方式的组合如表9 2所示 方式0中 端口C被分成两个4位端口 它们可被定义为输入或输出端口 CPU与3个端口之间交换数据 可直接由CPU执行IN和OUT指令来完成 31 表9 2方式0的工作状态组合 32 2 工作方式1 选通式输入 输出方式 方式1选通输入 方式1操作使端口A或端口B作为锁存输入设备工作 端口C也可按方式1操作使用 但不是对数据 而是对控制信号 或当端口A或端口B为选通输入端口时的握手信号 下图示出8255A方式1选通输入时的内部结构图 33 IBF 输入缓冲器满信号 向外设输出 高电平有效 34 方式1下输入端口的联络信号 35 方式1输入时序 36 INTE 中断允许信号 它是通过端口PC4 端口A 或PC2 端口B 的位来编程的内部位 37 方式1选通输出 38 图9 58255A工作方式1输出控制字格式 39 工作方式1 选通输入 输出 中断方式 A B 两个端口均可 40 41 INTE 中断允许信号 INTR 中断请求信号 高电平有效 42 方式1输出时序 43 3 工作方式2 双向选通输入 输出方式 方式2只允许A组采用 此时端口A变为双向 允许数据在同一组8条线上发送和接收 下图示出方式2操作内部结构图 44 工作方式2 双向输入 输出 中断方式 只有A端口才有 45 图9 108255A工作方式2控制字格式 46 47 图9 11端口A方式2下的时序图 48 IBFA 输入缓冲器满信号 向外设输出 高电平有效 INTE 中断允许信号 INTE1和INTE2 高电平有效 INTRA 中断请求信号 高电平有效 49 8255A中端口A工作方式2时 允许端口B工作于方式0或方式1 完成输入 输出功能 4种组合状态及其工作方式控制字格式如表8 3 50 表9 3方式2的组合状态与控制字格式 51 目前打印机一般采用并行接口标准 其主要信号与传送时序如图8 15 打印机接收主机传送数据的过程是这样的 9 28255A的应用实例 9 2 18255A与打印机接口 1 用方式1与打印机接口 52 53 用方式1与打印机接口 54 图9 16方式1的打印机接口 55 56 PRINTPROCPUSHAX 保护寄存器PUSHBXPUSHCXPUSHDXMOVDX 0F00EH 设定A口为选通输出方式MOVAL 0A0HOUTDX ALMOVAL 0CH 使INTEA PC6 为0 禁中断OUTDX ALMOVCX M 打印字节数送CX 57 MOVBX OFFSETBUF 取缓冲区首址送BXPRINT1 MOVAL BX 取一个数据MOVDX 0F008HOUTDX AL 从A口输出MOVDX 0F00CHPRINT2 INAL DX 读C口TESTAL 80H 检测OBFA PC7 为1否 58 JZPRINT2 为0 则继续检测INCBX 为1 说明数据已输出LOOPPRINT1 准备取下一个数据输出POPDX 打印结束 恢复寄存器POPCXPOPBXPOPAXRET 返回PRINTENDP 59 七段数码管七段数码管组成原理图如后图所示 七段数码管根据其连接方式可分为 共阳极LED 公共端应接高电平 或 5v 共阴极LED 公共端应接地 例2 LED显示器原理及接口技术 60 LED七段显示器及其接口 在常用的七段显示器内 各个LED可按共阳极或共阴极连接 它们应分别用不同的段码 经不同的驱动电路来驱动 61 PA口输出值与LED显示值间关系 62 共阴极共阳极共阴极共阳极 a 七段LED原理图图 b 米 字LED原理图图典型LED器件原理图 LED显示器原理及接口技术 续 63 给数码管的每个输入端 a b c h 提供适当电平 使某几段发光二极管亮 而另外几段不亮 则可显示出数字或字母 八个输入端组成的二进制编码 简称段码或段选码 所对应的显示内容见后表 LED显示器原理及接口技术 64 表七段LED字型码 LED显示器原理及接口技术 65 LED数码管在微机系统中的应用 图LED在系统中的连接 66 常用于LED的驱动器 7407 7406同向 反向驱动器 75452二输入与非驱动器 锁存器可用74LS273 373 74LS244等集成电路 系统中有多位LED 则每次只能使一位LED显示信息 每位LED上有一选通端 公共端 要想使哪位显示 就应给其公共端提供有效电平 共阳极为 1 公阴极为 0 而其它位的公共端提供无效电平 这样构成的二进制编码称为位码或位选码 动态显示 在多位LED显示中 即要使每一位的显示信息有一个持续时间 可用循环延时程序实现 又要保证一遍一遍地进行循环显示时不出现闪烁 在软 硬件设计时就要考虑LED的位数不能太多 显示的延时要适中 LED数码管在微机系统中的应用 67 例某8088系统中 使用8位LED显示时间 格式为时 分 秒 硬件连接如图所示 软件流程图见后图 LED数码管在微机系统中的应用 68 图软件流程图 69 思考题一 单项选择题1 8255A的PA口工作在方式2 PB口工作在方式1时 其PC端口 A 用作两个4位I O端口B 部分引脚作联络 部分引脚作I OC 全部引脚均作联络信号D 作8位I O端口 引脚都为I O线 分析 8255A的PA口工作于方式2 指定PC口的PC3 PC7为联络信号线 若PB口同时工作于方式1 指定PC0 PC2为联络信号线 因此 PC端口全部用于PA口与PB口的联络信号 答 C 70 2 如果8255A的PA口工作于方式2 PB口可工作于哪种工作方式 A 方式OB 方式1C 方式2D 方式0或方式1 分析 如第1题所分析的 PA口工作于方式2后 PC口的PC0 PC2可用作PB口方式1的联络信号 同时PB口也可工作于方式0的无条件传送 答 D 71 3 当8255A的PA口工作在方式1的输入时 对PC4置位 其作用是 A 启动输入B 开放输入中断C 允许输入D 停止输入 分析 8255A的PA口工作在方式1时 PC4 1用来设置输入时的 开中断 答 B 72 9 3串行通信的基本概念 通信 计算机与外部设备之间 计算机之间的信息交换 9 3 1串行通信的连接方式 73 图9 17串行通信的3种连接方式 发送器 A 发送器 接收器 发送器 接收器 发送器 接收器 接收器 发送器 接收器 B 数据线 a 单工方式 数据线 A B c 全双工方式 数据线 数据线 A B b 半双工方式 74 9 3 2信号的调制与解调 MODEM是由调制器和解调器合在一起形成的一个装置 以用作双向通信 MODEM的类型一般可分为幅移键控 ASK 频移键控 FSK 和相移键控 PSK 等 当通信波特率小于300bit s时 常采用FSK调制方式 75 9 3 3同步与异步通信方式 1 异步通信方式 ASYNC 76 异步通信方式的特点是 1 起始位 一位 逻辑0 表示字符的开始 通信时以收发一个字符为独立的通信单位 每个字符由4个部分组成 2 数据位 可以是5 8位逻辑0 逻辑1 与双方约定的编码形式有关 如 ASCII码 7位 扩展的BCD码 8位 等 起始位之后紧跟着的是数据的最低位D0 3 奇 偶校验位 一位逻辑0 逻辑1 4 停止位 1位或1 5位或2位逻辑1 表示字符的结束 77 2 同步通信方式 SYNC 在异步通信中 每个字符都要用起始位和停止位来使通信双方同步 这些附加的额外信息 使得异步通信的传输效率不高 在需传输大量数据的场合 为提高传输效率和速度 常去掉这些附加位 即采用同步通信SYNC SynchronousdataCommunication 78 同步通信方式的特点是 为了防止因收 发双方的时钟频率的偏差的积累效应而产生错位 从而导致通信出错 同步通信要求接收和发送的时钟完全同步 不能有误差 实际应用中 同步传送常在收 发双方间使用同一时钟 故硬件电路比较复杂 对每个字符的检错一般可用奇校验 数据块的末尾用CRC 循环冗余码 对整个数据块进行校验 收 发双方以一个或两个预先约定的同步字符作为数据块传送的开始 数据块由几十到几千 甚至更多字节组成 79 9 3 4波特率与收 发时钟 1 波特率 计算机串行通信中常用波特率 Baudrate 来表示数据传输率 波特率的单位是bit s 即每秒所传送的二进制位数 常用的标准值有110 300 600 1200 2400 4800 9600 19200波特等 80 2 接收 发送时钟 异步通信中 大多数串行端口发送和接收的波特率均可分别设置 由发送器和接收器各用一个时钟来确定 分别称为发送时钟和接收时钟 为了有利于收发双方同步 以及提高抗干扰的能力 这两个时钟频率fc一般不等于波特率fd 两者之间的关系为 fc kfd其中 k称为波特率系数 其取值可为16 32或64 81 1 发送脉冲和接收脉冲 发送 发送方要靠发送脉冲 移位脉冲 下降沿将数据移出 经TXD引脚 对方接收 接收方要靠接收脉冲 移位脉冲 上升沿将数据接入 经RXD引脚 串口 82 注意 接收时钟的上升沿对准数据位的中间位置 以保障可靠的接收数据移位脉冲的频率 波特率发送方与接收方实现同步 随着数据的不断传输 将产生一个误差积累 有可能使数据丢失 思考题 异步通信中 如何实现同步的 83 2 检验脉冲 接收方需对发送方发来的数据位进行检测 以决定 0 还是 1 通常检测脉冲是移位脉冲的16和64倍 常选16 三中取二 目的 抑制干扰 提高信号的传输可靠性 因为采样信号总是在每个接收位的中间位置 不仅可以避开信号两端的边沿失真 也可防止接收时钟频率和发送时钟频率不完全同步引起的接收错误 84 9 4串行通信的接口标准 85 9 4 1RS 232C接口标准 RS 232C是串行异步通信中应用最广的串行总线标准 1969年由美国EIA 电子工业协会 颁发 其中RS是RecommendedStandard的缩写 232是标准的标识号 RS 232C的前身是RS 232A和RS 232B 这前两种接口标准现在已很少使用 RS 232C主要用于使用模拟信道传输数字信号的场合 推出这种标准的最初目的是在数据终端设备DTE DataTerminalEquipment 与数据通信设备DCE DataCommunicationEquipment 之间建立接口标准 RS 232C的典型应用如图9 16所示 86 87 1 机械特性RS 232C采用25脚D型连接器 含插头 插座 作为DTE与DCE之间通信电缆的连接口 但在实际进行异步通信时 只需9个信号即够用 因此也可以采用9脚D型连接器 2 电气特性RS 232C采用负逻辑工作 即 逻辑 1 用负电平表示 有效电平范围是 3V 15V逻辑 0 用正电平表示 有效电平范围是 3V 15V 3V 3V为过渡区 逻辑状态不定 为无效电平 88 3 引脚信号定义 表9 4RS 232C主信道引脚信号 89 数据线 TXD TransmittedData 发送数据 DTE通过TXD将串行数据发送到Modem RXD ReceivedData 接收数据 DTE通过RXD接收从Modem来的串行数据 90 91 接收控制信号线 DSR DatacommunicationequipmentSetReady 表示Modem已准备就绪DTR DataTerminalReady DTE用来通知Modem 已准备就绪 可以接收数据 92 DCD DataCarrierDetection 用来表示Modem正在接收来自对方Modem的载波信号 通知DTE准备接收数据 RI RingingIndicator 通知DTE Modem已收到电话交换机送来的振铃呼叫信号 使用公用电话线时要用此信号 93 4 信号线的连接 1 远距离时的连接 94 2 近距离时的连接 95 5 EIA RS 232C与TTL相互转换 96 图9 22TTL RS 232C的电平转换电路 97 图9 23RS 232C TTL的电平转换电路 98 图9 24利用MC1488 MC1489的TTL RS 232C电平转换 TXD RXD 12V 12V 5V 99 9 58251可编程串行接口芯片 9 5 1 8251A的特点和内部结构Intel8251A是可编程的串行通信接口芯片 它的主要特点如下 可用于串行异步通信 也可用于串行同步通信 对于异步通信 可设定停止位为1位 1位半或2位 数据位可在5 8位之间选择 对于同步通信 可设为单同步 双同步或者外同步 同步字符可由用户自己设定 异步通信的时钟频率可设为波特率的1倍 16倍或64倍 100 可以设定奇偶校验的方式 也可以不校验 校验位的插入 检出及检错都由芯片本身完成 在异步通信时 波特率的可选范围为0 19 2千波特 在同步通信时 波特率的可选范围为0 64千波特 提供与外部设备特别是调制解调器的联络信号 便于直接和通信线路相连接 接收 发送数据分别有各自的缓冲器 可以进行全双工通信 图9 22给出了8251A的结构框图 它共由五个部件构成 对外有28条引脚 8251A各组成模块的功能及有关引脚如下 101 数据总线缓冲器 读 写控制逻辑电路 调制 解调控制电路 接收控制电路 串 并转换 发送缓冲器 缓冲器 并 串转换 发送控制电路 RESET CLK C D RD WR CS DSR DTR CTS RTS D7 D0 内部总线 TXD RXD TXEMPTY TXC RXRDY RXC SYNDET TXRDY 发送器 接收器 图9 258251A内部结构框图 接收 102 单向移位寄存器 并行输出 4位右移移位寄存器 时钟方程 驱动方程 状态方程 103 104 串行接口原理 105 1 I O缓冲器 这是三态双向的缓冲器 引脚D0 D7是8251A和CPU接口的三态双向数据总线 用于向CPU传递命令 数据或状态信息 与CPU互相交换的数据和控制字就存放在这个区域 共有三个缓冲器 接收缓冲器 串行口收到的数据变成并行字符后 存放在这里 以供CPU读取 发送 命令缓冲器 这是一个分时使用的双功能缓冲器 CPU送来的并行数据存放在这里 准备由串行口向外发送 另外 CPU送来的命令字也存放在这里 以指挥串行接口的工作 由于命令一输入就马上执行 不必长期存放 所以不会影响存放发送数据 106 状态缓冲器 存放8251A内部的工作状态 供CPU查询 2 读 写控制逻辑 本模块功能是接收CPU的控制信号 控制数据传送方向 3 接收器及接收控制 接收器的功能是从RXD引脚接收串行数据 按指定的方式装配成并行数据 4 发送器及发送控制 这个模块的功能是从CPU接收并行数据 自动地加上适当的成帧信号后转换成串行数据从TXD引脚发送出去 5 调制解调控制器 该模块提供和调制解调器的联络信号 107 9 5 2 8251A的外部引脚8251A是一个采用NMOS工艺制造的28脚双列直插式封装的组件 其外部引脚如图8 26所示 1 与CPU接口的引脚 D7 D0 数据线 CLK 时钟信号输入线 用于产生8251A内部时序 CLK的周期为0 42 1 35 s CLK的频率至少应是接收 发送时钟的30倍 对同步方式 或4 5倍 对异步方式 RESET 复位信号输入线 高电平有效 复位后8251A处于空闲状态直至被初始化编程 108 109 片选信号输入线 低电平有效 仅当为低电平时 CPU才能对8251A操作 信息类型信号输入线 为0时传输的是数据 为1时传输的是控制字或状态信息 读选通信号输入线 低电平有效 写选通信号输入线 低电平有效 CPU对8251A的读写控制如表9 4所示 110 表9 4CPU对8251的读写控制 111 RXRDY 接收准备好状态输入线 高电平有效 当接收器接到一个字符并准备送给CPU时 RXRDY为1 当字符被CPU读取后RXRDY恢复为0 RXRDY可作为8251A向CPU申请接收中断的请求源 SYNDET BRKDET 同步状态输出线或者外同步信号输入线 此线仅对同步方式有意义 TXRDY 发送准备好状态输出线 高电平有效 当发送寄存器空闲且允许发送 脚电平为低 命令字中TXEN位为1 时 TXRDY为高电平 当CPU给8251A写入一个字符后TXRDY恢复为低电平 TXRDY可作为8251A向CPU申请发送中断的请求源 TXE 发送缓冲器空闲状态输出线 高电平有效 TXE 1 表示发送缓冲器中没有要发送的字符 当CPU将要发送的数据写入8251A后 TXE自动复位 112 RXD 串行数据输入线 高电平表示数字1 低电平表示数字0 RXC 接收器时钟输入线 它控制接收器接收字符的速率 在上升沿采集串行数据输入线 RXC的频率应等于波特率 同步方式 或等于波特率的1倍 16倍或64倍 异步方式 TXD 发送数据输出线 CPU并行输入给8251A的数据从这个引脚串行发送出去 TXC 发送器时钟输入线 在TXC的下降沿数据由8251A移位输出 对TXC频率的要求同RXC 113 数据终端准备好状态输出线 低电平有效 当8251A命令字位D1为1时 有效 用于向调制解调器表示数据终端已准备好 数据设备准备好状态输入线 低电平有效 当调制解调器准备好时 有效 用于向8251A表示Modem 或DCE 已准备就绪 CPU可通过读取状态寄存器的D7位检测该信号 114 115 116 117 同步方式 X0 内同步 X1 外同步 0X 双同步字符 1X 单同步字符 同步方式 Y N D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 停止位 00 无效 01 1位 10 1位半 11 2位 校验方式 X0 不校验 01 奇校验 11 偶校验 数据位数 00 5位 01 6位 10 7位 11 8位 方式及波特率因子 00 同步方式 01 异步 X1 10 异步 X16 11异步 X64 图9 9方式控制字格式 118 119 EN IR RTS SBRK RXE DTR TXEN ER 进入搜索方式 1 进行 SYNC 搜索 内部复位 1 8 251A 复位 请求发送 1 迫使 R TS 输出 0 出错复位 1 复位 错误标志 发送允许 1 允许 0 禁止 数据终端准备好 1 迫使 DTR 输出 0 接收允许 1 允许 0 禁止 发送断点字符 1 迫使 T XD 为 0 D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 图9 10命令控制字格式 120 121 D 7 同引脚定义 1 存在奇偶校验错 DSR SYNDET FE OE PE T X E R X RDY T X RDY 1 超越错 1 帧格式错 D 6 D 5 D 4 D 3 D 2 D 1 D 0 图9 10状态字格式 122 123 124 125 126 系统复位 N N N 装入方式控制字 装入第一个同步字符 是异步方式吗 Y Y Y Y N 单同步字符吗 装入第一个同步字符 转入命令控制字 内部复位吗 传送数据 送完否 127 128 编程举例 1 异步方式下的初始化编程设定8251A工作于异步方式 波特率因子为64 每字符7个数据位 偶校验 2位停止位 则方式选择控制字为11111011 FBH 操作命令字的设定 例如使8251A的发送器允许 接收器允许 使状态寄存器中的3个错误标志位复位 使数据终端准备好信号DTR输出低电平 则操作命令字应为00010111 17H 129 若8251A的端口地址为51H 则初始化程序如下 MOVAL 0FBH 输出方式选择字OUT51H ALMOVAL 17H 输出操作命令字OUT51H AL 130 2 同步方式下的初始化编程举例8251A工作于同步方式 双同步字符 同步字符设定为16H 内同步 偶校验 每字符7个数据位 则方式选择字为00111000B 38H 操作命令字设定为10010111B 97H 使发送器允许 接收器允许 使错误标志复位 开始搜索同步字符 并通知调制解调器 数据终端设备已准备就绪 131 8251A的端口地址为51H 则本例初始化程序如下 MOVAL 38H 输出方式选择字OUT51H ALMOVAL 16H 输出两个同步字符16HOUT51H ALOUT51H ALMOVAL 97H 输出操作命令字OUT51H ALCPU执行上述程序之后 即完成了对8251A同步方式的初始化编程 132 异步工作方式 波特率系数为64 即数据传送速率是时钟频率的1 64 采用偶校验 总字符长度为10 1位起始位 8位数据 1位停止位 允许接收和发送 使错误位全部复位 查询8251A状态字 当接收准备就绪时 则从8251A输入数据 否则等待 初始化程序 MOVDX 301H 8251A控制口地址MOVAL 01000000B 内部复位命令字OUTDX AL 送命令字MOVAL 01111111B 方式控制字OUTDX AL 送方式控制字 133 MOVAL 00010101B 操作命令字OUTDX AL 送操作控制字WAIT INAL DX 读入状态字ANDAL 02H 检查RXRDY 1 JZWAIT RXRDY 1 接收未 准备就绪 等待INAL DX 134 当8251A与CPU连接时 至少要占用两个端口地址 即控制端口 C D 1 和数据端口 C D 0 在使用8251A时需要一个外部时钟源提供RXC TXC和CLK信号 RXC和TXC由波特率以及时钟频率与波特率的倍率决定 CLK则在RXC TXC频率的基础上增高若干倍 8251A与CPU通常采用查询或中断方式交换数据 若采用中断方式 两个状态信号TXRDY和RXRDY通过一个非门接到CPU的外中断输入 其余的RD WR RESET都是同名端相连 9 5 5 8251A应用举例 135 在编程时 对8251A初始化 输入命令字后就可进行数据传送 在得到中断申请后 通过调用状态字来检测是接收申请 RXRDY 1 还是发送申请 TXRDY 1 然后转至相应的程序模块 例 用8251A为8086CPU与CRT终端设计一串行通信接口 假设8251A控制端口地址为301H 数据端口地址为300H 要求 异步方式传送 数据格式为1位停止位 8位数据位 奇校验 136 波特率因子为16 CPU用查询方式将显示缓冲区的字符 GOOD 送CRT显示 显示缓冲区在数据段 首地址为2000H 解 硬件连接 8086CPU与CRT终端接口连接如图8 30所示 当地址锁存信号ALE有效时 将CPU送来的地址锁存 地址译码器对输入地址A1 A9进行译码 其输出接到8251A的片选端 地址A0用于选择8251A的数据端口或控制端口 波特率发生器按规定给8251A提供发送和接收时钟 电平变换电路将8251A送出的TTL电平变成RS 232C电平以便和CRT连接 137 图9 128086CPU与CRT终端的串行接口 138 软件设计 程序如下 DATASEGMENTDISBUFDB47H 4FH 4FH 44H ODH 0AH GOOD字符的ASCII码COUNTDB DISBUFDATAENDSMAIN MOVDX 301H 8251A控制口地址MOVAL 01000000B 内部复位命令字OUTDX AL 送命令字MOVAL 01011110B 工作方式选择字 139 OUTDX ALMOVAL 00110011B 操作命令字OUTDX ALMOVBX OFFSETDISBUF 显示缓冲区首址MOVCX COUNTWAIT MOVDX 301HINAL DX 读状态字TESTAL 80H

温馨提示

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

评论

0/150

提交评论