8251A串行通信接口实验

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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发送出去,再接收回来在屏幕上显示,实现自发自收。主机传送和接收数据均采用查询方式实现。

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

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

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

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

3、8253计数器的计数初值=时钟频率/(波特率⨯波特率因子)。本实验中时钟频率接1MHz,波特率若

选1200,波特率因子若选16,则计数器初值为52。

图4.5-1

11

21

10

1MHz

+5V

OUT0

GATE0

CLK0

CS

U5 8253

280H~

D0 TxD

D1

D2 RxD

D3

D4 TxRDY

D5

D6 RxRDY

D7

8251A CTS

CS

RD VCC

WR

C/D GND

RESET

CLK

T

x

C

L

K

R

x

C

L

K

27

D0

28

D1

1

D2

2

D3

5

D4

6

D5

7

D6

8

D7

11

2B8H~

13

IOR

10

IOW

12

A0

21

RESET

20

19

3

15

14

17

4

26

+5V

9

2

5

9

4、主机发送、接收数据均采用查询方式。查询方式进行串行通信的基本思路是:CPU循环从控制端口

读取状态字,根据当前状态字的有关位来判定是否要接收或发送字符。

5、为了使信息被可靠地写入8251A的控制端口或数据端口,在使用OUT指令向8251A写入信息时,

要有一定时间的延迟;在对8251A进行初始化编程以前,应首先使8251A复位,具体初始化流程见教材“8.3.4 8251A初始化编程”一节。

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

4.5.5 实验报告要求

1、根据流程图编写实验程序,并说明在实验过程中遇到了哪些问题,是如何处理的。

2、总结8255A工作方式1的特点及使用方法。

3、写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。

图4.5-2 程序流程图

开始

结束

8253初始化

TxRDY为1吗?

Y

N

8251A复位

8251A初始化

8251A控制口读状态字

从键盘接收一个字符

将键入字符的ASCII码值加1

是Esc键吗?

通过8251A数据口发送字符

从8251A控制口读状态字

DxRDY为1吗?

将接收到的字符显示在屏幕上

从8251A数据口接收数据

Y

N

N

Y

相关文档
最新文档