81概述811接口的功能812接口与系统的连接82并行通内容摘要:

4. (2) ● 操作命令控制字用于规定 8251A的工作状态 —— 启动串行通信开始工作或者芯片复位。 ● 初始化 8251A芯片时,当写入方式选择控制字,定义 8251A芯片为异步通信,或者定义为同步通信且同步字符已经写入 8251A后,接下来应该向 8251A写入操作命令控制字。 操作命令控制字 (1) 异步方式下的初始化编程 8251A初始化编程及应用举例 ● 经分析,知其方式选择控制字应该为 9BH,操作命令控制字应该为 37H。 初始化编程如下: MOV DX, 1A2H MOV AL, 9BH OUT DX, AL ;设置工作方式 MOV AL, 37HOUTDX, AL ;设置工作状态 【 例 84】 设在某 8086系统中有一片 8251A,其占用的端口地址分别为 1A0H和 1A2H,并要求其工作方式选择为:异步通信 ,字符用 7位二进制数表示 ,奇校验 ,1 5个停止位 ,波特率系数为 64。 对其工作状态的要求是:使发送允许 TxEN有效,接收允许 RxE有效,使数据终端准备好信号有效,复位出错标志,将请求发送信号置于有效电平。 5. ● 经分析,知其方式选择控制字应该为 9BH,操作命令控制字应该为 37H。 初始化编程见下页。 【 例 85】 设某 8251A芯片端口地址分别为 1A0H和 1A2H。 要求其工作方式为:同步方式、内同步、两个同步字符、奇校验、每个字符 8位。 并设第一个同步字符为 EFH,第二个同步字符为 7EH。 要求其工作状态是:复位出错标志,启动发送器和接收器,当前 CPU已经准备好且请求发送。 同步方式下的初始化编程 (2) MOV DX, 1A2H MOV AL, 40H OUT DX, AL ;复位 8251A MOV AL, 1CH OUT DX, AL ;写入方式选择控制字,规定其工作方式 MOV AL, 0EFH OUT DX, AL ;写入第一个同步字符 MOV AL, 7EH OUT DX, AL ;写入第二个同步字符 MOV AL, 0B7H OUT DX, AL ;写入操作命令控制字,设置其 工作状态 (2) 同步方式下的初始化编程 【 例 86】 8251A工作于异步方式, 7个数据位, 位,奇校验,波特率系数为 64。 其数据端口地址为 A0H,控制端口地址为 A2H。 ● 通过查询 8251A状态寄存器中的 RXRDY位,可以确定 8251A是否已经从外设接收到了一个字符。 若已接收到,即 RXRDY有效, CPU就可执行输入指令从 8251A的数据端口( C/D=0)取回一字节数据放在内存缓冲区。 程序中还要检测状态寄存器的第 5位,看是否出现了奇偶错、溢出错或帧错误。 若发现错误,应停止输入,并转错误处理程序。 使用查询方式接收传送数据举例 (3) MOV AL, 9BH OUT 0A2H, AL ;写入异步方式选择字 MOV AL, 37H OUT 0A2H, AL ;写入命令指令字 MOV BX, BUFPTR ;设缓冲区首址存放在 DS段 BUFPTR变量名下 MOV DI, 0 ;变址寄存器清 0 MOV CX, 0064H ;设置计数器值 100 IN AL, 0A2H ;输入状态字送 AL TEST AL, 02H ;测试状态字第 2位,即 RXRDY 程序 WAIT: JZ WAIT ;若 8251A未收到字符,则重新取状态字 IN AL, 0A0H ;若 RXRDY有效,则从数据口输入数据 MOV [ BX+DI], AL ;将接收到的字符送入缓冲区 IN CDI ;缓冲区指针下移一个单元 IN AL, 0A2H ;再读入状态字 TEST AL, 38H ;测试有无三种错误 JNZ ERROR ;若有错,转错误处理程序 ER LOOP WAIT ;如已输入 100个字符,则继续进行数据处理 程序 8251A在 CRT接口中的应用 其一,电平转换问题。 在远距离串行通信时,发送方要使用调制器,接收方要使用解调器。 其二,同步方式下对同步字符的检测问题。 如果采用内同步方式,则由 8251A自身来检测同步字符。 ● 在实际使用 8251A时,还应注意以下两个问题: (4) 计数器 /定时器接口电路 ● 本节主要介绍计数器 /定时器的基本工作原理和计算机系统中广泛采用的计数器 /定时器芯片 Intel 8253 PIT 可编程计数器 /定时器具有两种功能: 作为计数器 作为定时器 典型的计数器 /定时器的基本原理图如图 839所示 可编程计数器 /定时器的工作原理 图 839 计数器 /定时器中包括了四个寄存器和一个计数器 预置计数值 计数器输出寄存器 控制寄存器 状态寄存器 四个寄存器 控制寄存器用来控制计数器 /定时器的工作方式 (1) 门脉冲控制时钟输入。 (2) 用门脉冲重新启动计数。 (3) 用门脉冲停止计数。 (4) 单一计数。 (5) 循环计数。 8253可编程计数器 /定时器 ● 8253是微机系统中广泛使用的可编程计数器 /定时器芯片。 在 PC机中,即以一片 8253作为 CPU的外围支持电路,用来产生系统实时钟定时信号、动态存储器刷新信号和扬声器的发声信号。 1 . 8253基本情况 8253具有 3个独立的 16位计数器通道,分别称为 : 计数器 0通道 计数器 2通道 计数器 1通道 8253的内部结构 8253的内部结构如图 840a 所示 主要功能 每个芯片内部有 3个独立的 16位计数器通道。 每个计数器通道都可以单独作为定时或计数使用,且都可以按照二进制或二 —— 十进制计数。 每个计数器的计数速率可高达 2 MHz,最高计数速率为 MHz。 每个计数器通道有 6种工作方式,可由程序设置或改变。 所有输入输出都与 TTL兼容。 这是 8253与 CPU数据总线连接的 8位双向三态缓冲器 这是 8253内部操作的控制部分 在 8253初始化编程时, CPU写入芯片的控制字就存放在控制字寄存器中,该控制字规定了通道的工作方式 这是 3 个完全独立的计数器 /定时器通道,各自可按不同的方式工作 2)读 /写逻辑 3) 控制字寄存器 4)计数器 0~ 2 数据总线缓冲器 1) D7~ D0 :三态数据线 CLK0~ CLK2:计数器 0~ 2的时钟输入端 GATE0~ GATE2:计数器 0~ 2的门控输入,当 GATE引脚为低电平时,禁止计数器工作,只有 GATE引脚为高电平时,才允许计数器工作 OUT0~ OUT2:计数器 0~ 2的输出,其输出波形取决于工作方式 8253引脚功能 8253引脚定义如图 840b所示。 ● 8253是一个双列直插式 24脚芯片,每个引脚的意义如下: 每个引脚的意义 A1A0:来用对 3 个计数器通道和控制寄存器进行寻址的引脚,由 A1和 A0的四种编码来选择四个端口之一。 RD:读信号,低电平有效。 该信号有效时,表示 CPU正在对8253的一个计数器进行读计数当前值的操作。 WR:写信号,低电平有效。 该信号有效时,表示 CPU正在向8253的控制寄存器写入控制字或者向一个计数器写入计数初值。 CS:片选信号,低电平有效。 该信号有效说明系统选中该芯片,此时, CPU可以对本片 8253进行读 /写操作。 表 810 CS RD WR A1 A0 操作 0 1 0 00 对计数器 0设置计数初值 0 1 0 01 1 0 1 0 10 2 0 1 0 11 设置控制字或者给一个命令 0 0 1 00 从计数器 0中读出当前计数值 0 0 1 01 1 0 0 1 10 2 A0、 A RD、 WR和CS各种组合对 8253的操作表 8253初始化编程和工作方式 (1) 8253初始化编程 编程时必须遵守以下两条原则: 其二,初始值设置时,要符合控制字中的格式规定。 是只写低字节,还是只写高字节,或者是先写低字节,后写高字节。 编程命令可以分为两类:。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。