单片机实验(简单的串口通信)

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

单片机技术与应用

实验报告

实验名称:单片机串行口与PC机通讯实验班级:11062811

学号:11061118

姓名:吕琳涛

指导老师:谷雨

2013年5月27日

1.实验要求

利用8031单片机串行口,实现与PC机通讯。

本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC机显示器上,将PC机键盘输入的字符0-F(必须为大写字母)显示到实验机的数码管上。

2. 实验目的

1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。

2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。

3.了解PC机通讯的基本要求。

3.程序说明:

在本次实验中,我们可以SCON = 0x50;对应的解释为我们在初始化串口接口控制寄存器SCON用于确定串口通道工作方式的选择、接收和发送控制及其串口的状态标志。TMOD = 0x20;表示我们在程序中用于设定定时和计数器的工作方式。TH1 = 0xfd;TL1 = 0xfd;用于对低八位和高八位进行初始化,也就是进行赋值。TR1 = 1;表明我们设定的计数器开始进行计数。ES = 1;是对串行接口中断的中断控制进行设定。EA = 1;是51单片机中断系统的总允许控制端。

s = SBUF;s = s+1;SBUF = s;这三个语句是对我们实验要求的主体部分的代码编写。也就是获取数据,对数据进行自加1然后通过串口返回到我们pc机上。我们知道接受RI = 1单片机没有自动复位的功能,也就是我们需要人为地进行赋值。T1也是这样的。

至此,程序编写完成,放入软件中进行编译和下载。

2.上机调试说明

将程序编写成功后,我们就上机进行调试。

下载成功后,通过键盘我们将我们想要的数据输入pc机里,等待pc 与单片机进行串口通信,单片机进行加一处理之后然后传到pc机里,显示到电脑屏幕上。

至此实验仿真过程结束。

3.写出源程序清单及执行结果。

源程序:

#include

unsigned char s;

void main()

{

SCON = 0x50;

TMOD = 0x20;

TH1 = 0xfd;

TL1 = 0xfd;

TR1 = 1;

ES = 1;

EA = 1;

while(1)

{

}

}

void serial_isr() interrupt 4

{

if(RI == 1)

{

s = SBUF;

s = s+1;

SBUF = s;

RI = 0;

}

else if(TI == 1)

{

TI = 0;

}

}

4.心得体会

本次实验中我们做的是一个单片机串口通信的问题,虽然只是简单的将我们输入的数据进行简单的加一处理,但是我们还是学习了对该流程的大体了解,知道了一些基本的知识。这样我们以后再遇到较难的问题我们就会化繁为简,解决掉了。

相关文档
最新文档