11 - 8251A串行通信接口实验

发布时间 : 星期日 文章11 - 8251A串行通信接口实验更新完毕开始阅读

4.5 8251A串行通信接口实验

4.5.1 实验目的

1、了解串行通信的一般原理及RS-232C串行接口标准。 2、了解串行接口芯片8251 A的工作原理和使用方法。 3、掌握串行接口芯片8251A的编程方法。

4.5.2 实验预习要求

1、复习串行通信的有关知识。

2、复习8251A的工作原理、控制端口和数据端口的作用、8251A初始化方法等有关内容。 3、预先编写好实验程序。

4.5.3 实验内容

1、按图4.5-1连接线路。图中8251A插在实验台的通用插座D中。

2、编写程序,接收键盘输入的一个字符,将其ASCII码值加1后通过8251A发送出去,再接收回来在屏幕上显示,实现自发自收。主机传送和接收数据均采用查询方式实现。

25 RxCLK 9 TxCLK D0 U5 8253 OUT0 GATE0 280H? 21 CLK0 CS 10 11 9 D1 D2 D3 D4 D5 +5V D6 D7 2B8H? IOR IOW A0 RESET 27 D0 TxD 28 D1 1 D2 RxD 2 D3 19 3 5 D4 TxRDY 15 6 D5 7 D6 RxRDY 8 D7 8251A CTS 14 17 11 CS 13 RD VCC 26 10 WR 12 C/D GND 21 RESET 20 CLK +5V 4 1MHz 图4.5-1 4.5.4 实验提示

1、本实验中8251A的片选信号CS接至I/O地址2B8H?2BFH插孔,因此,8251A的控制口地址为2B9H,

数据口地址为2B8H。8253的片选信号CS接至I/O地址280H?287H插孔,请参阅“4.1 8253可编程定时器/计数器实验”一节。

2、由8253程控产生输出的方波OUT0用来作为8251A的收/发时钟RXC/TXC。CLK0与实验台提供的

1MHz时钟信号相连。GATE0接+5V。CTS必须接低电平,8251A才能向外发送数据。RXD和TXD连在一起,使8251A工作于自发自收方式。

3、8253计数器的计数初值=时钟频率/(波特率?波特率因子)。本实验中时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。

4、主机发送、接收数据均采用查询方式。查询方式进行串行通信的基本思路是:CPU循环从控制端口读取状态字,根据当前状态字的有关位来判定是否要接收或发送字符。

5、为了使信息被可靠地写入8251A的控制端口或数据端口,在使用OUT指令向8251A写入信息时,要有一定时间的延迟;在对8251A进行初始化编程以前,应首先使8251A复位,具体初始化流程见教材“8.3.4 8251A初始化编程”一节。

6、实验程序流程图如图4.5-2所示。Esc键的ASCII m码值为1BH(27)。

开始 8253初始化 8251A复位 8251A初始化 8251A控制口读状态字 N TxRDY为1吗? Y 从键盘接收一个字符 将接收到的字符显示在屏幕上 Y 是Esc键吗? N 结束 将键入字符的ASCII码值加1 从8251A数据口接收数据 通过8251A数据口发送字符 从8251A控制口读状态字 N DxRDY为1吗? Y 图4.5-2 程序流程图

4.5.5 实验报告要求

1、根据流程图编写实验程序,并说明在实验过程中遇到了哪些问题,是如何处理的。 2、总结8255A工作方式1的特点及使用方法。 3、写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。

联系合同范文客服:xxxxx#qq.com(#替换为@)