微机接口实验指导书 启东计算机厂有限公司
实验七 使用8251A的串行接口应用实验(一)
一、实验目的
掌握用8251A接口芯片实现微机间的同步和异步通信。 掌握8251A芯片与微机的接口技术和编程方法。
二、预备知识
8251A是一种可编程的同步/异步串行通信接口芯片, 具有独立的接收器和发送器,能实现单工、 半双工、双工通信。 1、8251A内部结构
8251A内部结构框图如图7-1所示。
图7-1
图中I/O缓冲器是双向三态,通过引脚D0~D7和系统数据总线直接接口, 用于和CPU传递命令、数据、状态信息。读写控制逻辑用来接收CPU的控制信号、 控制数据传送方向。CPU对8251A的读写操作控制表如表7-1所示。
图中收发器功能是从引脚RXD(收)和TXD(发)收发串行数据。接收时按指定的方式装配成并行数据,发送时从CPU接收的并行数据,自动地加上适当的成帧信号转换成串行数据。8251A内部的调制解调器控制器,提供和外接的调制解调器的握手信号。
-33-
RESET CLK C/D RD WR CS DTR DSR RTS CST DB7~0 状态 缓冲器 接受数据 缓冲器 发送数据 命令缓冲器 内部总线 I/O 缓冲 器 TxD TxRDY TxE TxC RxRDY
SYNDET/BD RxC RxD 读/写 控制 逻辑 调制 解调器控制 发送器 发送 控制 接受 控制 接受器 微机接口实验指导书 启东计算机厂有限公司
表7-1
CS C/D RD 任意 任意 1 0 0 0 0 1 0 1 0 1 1 0 0
WR 操作 任意 无操作, D0-D7呈高阻 0 0 1 1 写控制字 写数据 读状态 读数据
2、 8251A的方式控制字和命令控制字
方式控制字确定8251A的通信方式(同步/异步)、校验方式(奇校/偶校/不校)、字符长度及波特率等,格式如下图7-2所示。命令控制字使8251A处于规定的状态以准备收发数据,格式如下图7-3。方式控制字和命令控制字无独立的端口地址,8251A 根据写入的次序来区分。CPU对8251A初始化时先写方式控制字,后写命令控制字。
7 6
异步方式:00=不确定;01=1个停止位 10=3/2个停止位;11=2个停止位 同步方式:X0=内同步;X1=外同步 0X=2个同步字符;1X=单个同步字符 奇偶校验:X0=无校验;01=奇校验;10=偶校验 字符长度:00=5位;01=6位;10=7位;11=8位 波特率系数:00=同步方式;01=异步×1;10=异步×16 11= 异 步×64
5 4 3 2 1
0
图7-2
EH 外部搜索方式,1=启动搜索同步字符 7 -34-
6 内部复位,1=使8251返回方式指令格式 IR
5
RST 请求发送,1=迫使RST输出到0
微机接口实验指导书 启东计算机厂有限公司
图7-3
帧错误:*** 除TXRDY外同管脚定义
1=帧错误,由 奇偶错误:1=出错,由命令中ER复位 命令中 ER复位 溢出错误:1=溢出错,由命令中ER复位
TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件( 数据缓冲器空· /CTS·TXE )成立时才置位。
溢出错误:CPU没读走前一个字符,下一个字符又接收到,称为溢出错误。 帧错误:在字符结尾没检测到停止位,称为帧错误。
TXRDY位:当数据缓冲器空时置位,而TXRDY引脚只有当条件( 数据缓冲器空· /CTS·TXE)成立时才置位。
溢出错误:CPU没读走前一个字符,下一个字符又接收到,称为溢出错误。 帧错误:在字符结尾没检测到停止位,称为帧错误。
DSR SYNDET FE OE PE TXE RXRDY TXRDY
三、实验内容
实验原理图如图7-4所示,8251A的片选地址为050~05F,8251A的C/D接A0, 因此,8251A的数据口地址为050H,命令/状态口地址是051H,8251A的CLK 接系统时钟的2分频输出PCLK(2.385MHZ),图中接收时钟RXC和发送时钟TXC连在一 起接到8253A的OUT1,8253A的OUT1输出频率不小于79.5KHZ。
本实验采用8251A异步方式发送,波特率为9600,因此8251A发送器时钟输入端TXC输入一个153.6KHZ的时钟(9600×16)。这个时钟就有8253A的 OUT1产生。8253A的CLK1接1.8432MHZ,它的12分频正好是153.6KHZ。故8253A计数器1设置为工作方式3 -方波频率发生,其计数初值为000CH。
-35-
微机接口实验指导书 启东计算机厂有限公司
本实验发送字符的总长度为10位(1个起始位(0),8个数据位(D0在前),1个停止位(1),
发送数据为55H,反复发送,以便用示波器观察发送端TXD的波形。用查询8251A状态字的第0位(TXRDY)来判断1 个数据是否发送完毕, 当TXRDY=1时,发送数据缓冲器空。 82518253VCCVCCD0D1D2D3D4D5D6D787654321D0D1D2D3D4D5D6D7OUT0GATE0CLK0GATE2OUT2CLK210119161718T0OUTT0CLKT2OUTT2CLKVCCVCCD0D1D2D3D4D5D6D727281256789252223241618D0D1D2D3D4D5D6D7TxCLKRxCLKDSRRTSDTRSYNDETTxEMPT104220U/10VGNDCLKC/DWRRDCSRESETRxDTxDTxRDYRxRDY2012101311213191514PCLKADD0IOWIORCS4RST1VCCTCLK11415GATE1CLK1574HC041011K60.01974HC041KY311.8432M8GND 图7-4 四、实验程序框图
开始 N 写 8251方式控制字 写 8251命令控制字 读状态字 输出缓冲器空否? Y
发送数据
五、实验程序清单:见随机光盘,文件名为H8251-1.ASM 六、实验步骤
运行实验程序,用示波器探头测8251的发送脚8TXD上的波形,以判断起始位、数据位以及停止位的位置。
实验八 8279A可编程键盘显示接口实验
-36-
17CTSOUT1CSRDWRA0A1132122231920TCOUT1CS3IORIOWADD0ADD18TXD

