单片机串口通信实验报告 下载本文

信息工程学院实验报告

课程名称:单片机原理及接口

成 绩: 实验项目名称:串口通信实验 实验时间:2017.5 一、实 验 目 的:

1.了解什么是串口,串口的作用等。 2、了解串口通信的相关概念

3、利用keil软件,熟悉并掌握中串口通信的使用

4、通过实验,熟悉串口通信程序的格式,串口通信的应用等

二、实 验 原 理 1、串口通信概念:

单片机应用与数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,以降低通信成本,提高通信可靠性。如下图所示。

指导老师(签名):

2、串口数据通信方式及特点

★ 数据通信方式有两种:并行通信与串行通信 ★并行通信: 所传送数据的各位同时发送或接收,

数据有多少位就需要多少根数据线。

特点: 速度快,成本高,适合近距离传输 如计算机并口,打印机,8255 。 ★串行通信:所传送数据的各位按顺序一位一位 地发送或接收。

只需一根数据,一根地线,共2 根

特点:成本低,硬件方便,适合远距离通信, 传输速度低。 串行通信与并行通信示意图如下:

第 1 页 共 7 页

3、串行通信基本格式

①单工通信:数据只能单向传送。

②半双工通信:通信是双向的,但每一时刻,数据流通的方向是单向的。

③全双工通信:允许数据同时在两个方向流动,即通信双方的数据发送和接收是同时进行的。

4、异步串行通信/同步串行通信 ①异步串行通信:

异步串行通信采用如下的帧结构:

起始位 + 8位数据位 + 停止位 或 起始位 + 9位数据位 + 停止位 其中:起始位为低电平,停止位为高电平。 优点:硬件结构简单 缺点:传输速度慢 ②同步串行通信:

在同步通信中,发送方在数据或字符开始处就用同步字符(常约定1~2个字节)指示一帧的开始 ,由时钟来实现发送端和接收端同步,接收方一旦检测到与规定的同步字符符合,下面 就连续按顺序传送若干个数据 ,最后发校验字节。见下图:

5、串行通信过程与UART

基本的计算机异步串行通信系统中,两台计算机之间通过三根信号线TxD、RxD和GND连接起来,TxD与GND构成发送线路,RxD与GND构成接收线路。一台计算机的TxD、RxD线分别与另一台计算机的RxD、TxD线相连。

由于在串行通信过程中的并串转换、串并转换、线路检测、采样判决、组帧、

第 2 页 共 7 页

拆帧、发送和接收等操作需消耗CPU大量时间,以至CPU无法处理其它工作,因而开发出专用于处理异步串行通信发送和接收工作的芯片UART(通用异步串行通信接收发送器)。

CPU只需将要发送的一个字节数据交给UART,其它发送工作由UART自动完成,当UART将一帧数据发送完毕,会通知CPU 已发送完,可提交下一个字节 。

UART自动监测线路状态并完成数据接收工作,当接收到一个字节数据后,UART会通知CPU来读取。采用UART后,CPU的负担大大减轻了。

6、MCS—51的串行通信接口

MCS-51单片机内部集成有一个UART,用于全双工方式的串行通信,可以同时发送、接收数据。它有两个互相独立的接收、发送缓冲器,这两个缓冲器同名SBUF,共用一个地址号(99H)。

发送SBUF:只能写,不能读; SBUF = a; 接收SBUF:只能读,不能写。 a = SBUF;

串行接口有四种工作方式,有的工作方式时其波特率是可变的。用户可以用软件编程的方法在串行控制寄存器SCON中写入相应的控制字就可改变串行口的工作方式。 串行口结构图如下:

串行通信的传送过程说明:

甲方发送时,CPU执行指令 SBUF =A 启动了发送过程,数据并行送入SBUF ,在发送时钟 shift的控制下由低位到高位一位一位发送,乙方在接收时钟 shift 的控制下由低位到高位 顺序进入移位寄存器SBUF ,甲方一帧数据发送完毕,置位发送中断标志TI,该位可作为查询标志(或引起中断),CPU可再发送下一帧数据 。乙方一帧数据到齐即接收缓冲器满,置位接收中断标志RI,该位可作为查询标志(或引起接收中断),通过A=SBUF CPU将这帧数据并行读入。

由上述可知:

1. 甲、乙方的移位时钟频率应相同,即应具有相同的波特率,否则会造成数据丢失。

第 3 页 共 7 页