-
单片机原理及应用
-UART
串口通信
A
实验报告
UART
串口通信
一、实验目的
1
、学习实验系统的基本操作,了解在实验系统中进行程序设计、仿真和调试的操作方
法和步骤;
2
、熟悉
Proteus
的虚拟仪器的使用;
3
、熟悉并灵活运用单片机的
UART
通信功能;
4
、熟悉虚拟串口在仿真中的应用;
5
、实现单片机点对点串口通信,即单片机与单片机间的相互通
信;
6
、实现单片机与计算机串口通信。
二、实验原理
1
、如图(
1
)
,有甲、乙两个单片
机,甲单片机外接一个
3
×
3
矩阵键盘和
8
个
LED
;乙
单片机外接一个独立按键和一个数码管;
< br>甲乙两个单片机通过串口进行通信
(即
TXD
和
RXD
引脚)
。
图(
1
)
单片机点对点串口通信电路仿真图
按
下甲单片机矩阵键盘的任意一个按键,将该键编号(编号自己设定)通过串口发送给
乙单
片机,乙单片机在数码管上显示出对应的按键号;
按下乙单片
机的外接独立按键控制甲单片机的
8
个
LED
(按键之前
8
个
LED
灯均点亮)
,
2
具体关系为:
(
1
)第
1
次按键,乙单片机向甲单
片机通过串口发送命令字符
A
,甲收到该命令,使前
4
个
LED
灯亮,后
p>
4
个不亮;
(<
/p>
2
)第
2
次按键
,乙单片机向甲单片机通过串口发送命令字符
B
,甲收到该命令
,使前
4
个
LED
不亮,后
4
个亮;
(
3
)第
3
次按键,乙单片机向甲单片机通过串口发送命令字符
C
,甲收到该命令,使奇
数个灯亮,偶数个灯不亮;
(
4
)第
4
次按键,乙单片机向甲单片机通过串口发送命令字符
D
,甲收到该命令,使偶
数个灯亮,奇数个灯不亮;
(
5
)第
5
次按键,乙单片机向甲单片机通过串口发送命令字符
E
,甲收到该命令,使所
有灯都不亮。
2
、单片机与计算机串口通信,如图(
2
< br>)
,需要一个单片机和一个
COMPIM
器件,连接电
路时,将单片机的
RXD
和
COMPIM
的
RXD
p>
相连,单片机的
TXD
与
< br>COMPIM
的
TXD
相连,即
同名
引脚相连,其它的引脚悬空。
图(
2
)
单片机与与计算机串口通信电路仿真图
实验内容:设置单片机的串口为工作方式
1
,波特率设置为<
/p>
9600
。计算机通过串口调试
3
助手向单片机依次发送字符
p>
1
、
2
、
3
、
4
,单片机收到每
个字符后向计算机回复相应的内容,
具体要求如表
1
所示:
表
1
单片机与计算机通信内容
计算机发送字符
1
2
3
4
其它字符
单片机返回的内容
5120141519
ZhangKang
SiChuanNanChong
TianChao
Error!
三、实验步骤
1
、硬件仿真。先分析实验所需的硬件条件,然后在
< br>Proteus
上连接好硬件电路,注意
连接好必要的电
阻等。
2
、软件编写。在
Keil
或其它的单片机编程软件上用
C
语言编写出构思好的软件。
3
、将程序编译为
HEX
文件,然后烧录到仿真单片机中
,进行仿真。
4
、分析实验结果,找出问题并解决。
四、实验结果及分析
1
、两个实验都基本实现了要求。
4
图(
3
)
单片机点对点串口通信实验结果
图(
4
)
单片机与计算机通信实验结果
五、体会
程序的调试仍然是最难的了
,可能调试很久都不会有结果。但是,当你休息后再来时也
许就茅塞顿开了。所以,有时
做软件实在做不出来时不妨先去放松一下,然后再来。
六、附件
程序:
单片机点对点串口通信,单片机甲:
/*******************************************
***********************************
*
实验名
:
UART
通信单片机甲
*
功能
:
通过矩阵键盘控制单片机乙的数码管显示
相应数字,同时接受单
片机乙
的信号并让
LED
< br>有不同的显示状态。
***************
*****************************
**********
************************/
#include
sbit P13 = P1^3;
//
键<
/p>
盘
列
扫
描
端
sbit P14 = P1^4;
//<
/p>
键
盘
列
扫
描
端
sbit
P15 = P1^5;
p>
//
键
盘
列
扫
描
端
char SendDate;
/
p>
/
发送的数据
char LED[] =
{0xf0,0x0f,0x55,0x99,0xff,
//LED
显示模式数组
0x89,0x23,0x45,0x78,0x88};
/
*******************************************
***********************************
*
函数名
: UART_Init
*
函数功能
: UART
初始化函数,
设置
UART
通讯
的规则并打开定时器。
*
输入
:
unsigned int baud
5
-
-
-
-
-
-
-
-
-
上一篇:高中派生词汇总
下一篇:GDF柜CCC认证产品描述(1600-3200A)分解