单片机串口通信实验Word文件下载.docx

上传人:b****3 文档编号:13805594 上传时间:2022-10-13 格式:DOCX 页数:7 大小:488.04KB
下载 相关 举报
单片机串口通信实验Word文件下载.docx_第1页
第1页 / 共7页
单片机串口通信实验Word文件下载.docx_第2页
第2页 / 共7页
单片机串口通信实验Word文件下载.docx_第3页
第3页 / 共7页
单片机串口通信实验Word文件下载.docx_第4页
第4页 / 共7页
单片机串口通信实验Word文件下载.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

单片机串口通信实验Word文件下载.docx

《单片机串口通信实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机串口通信实验Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。

单片机串口通信实验Word文件下载.docx

串行通信是指数据逐位顺序串行传送的通信方式。

串行通信只需一对传输线,并且可以利用电话线等现有通信信道作为传输介质,因而可以大大降低传输线路的成本。

关键字:

51单片机,串口通信,全双工

正文:

MCS一51系列单片机内部有一个可编程的全双工串行通信口,可作为通用异步接收和发送器,也可作为同步移位寄存器用。

该串行口有4种工作模式。

片内的定时器/计数器可用作波特率发生器。

接收、发送均可工作在查询方式或中断方式。

MCS一51系列单片机内部的串行通信口,有二个物理上相互独立的接收、发送缓冲器SBUF,对外也有两条独立的收、发信号线RxD(P3.0)和TxD(P3.1)。

可以同时发送、接收数据,实现全双工传送。

发送缓冲器和接收缓冲器不能互换,发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。

两个缓冲器占用同一个端口地址(99H)。

具体对哪一个缓冲器进行操作,取决于所用的指令是发送还是接收。

1、实验

1、实验目的

掌握单片机串行口工作原理,单片机串行口与PC机的通信工作原理及编程方法。

2、实验器材

微机、串口通讯软件、程序烧录软件、面包板一块、芯片一块、电焊等

3、实验内容

实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。

本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。

4、实验原理

51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。

进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的串口是TTL电平(大于+2.4V为1,小于-0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。

为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows的超级终端。

单片机串行接口有两个控制寄存器:

SCON和PCON。

串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。

在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。

由软件置位串行控制寄存器(SCON)的REN位后才能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。

待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。

单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。

在DOS操作环境下,要实现单片机与微机的通信,只要直接对微机接口的通信芯片8250进行口地址操作即可。

WINDOWS的环境下,由于系统硬件的无关性,不再允许用户直接操作串口地址。

如果用户要进行串行通信,可以调用WINDOWS的API应用程序接口函数,但其使用较为复杂,可以使用KEILC的通信控件解决这一问题。

实验原理图

5、焊接图

焊接参考图

实物图

二、程序

#include<

reg51.h>

string.h>

voidinit_serialcomm(void)

{

SCON=0x50;

//SCON:

串口工作方式1,允许接收

TMOD|=0x20;

//TMOD:

定时器1的工作方式2

PCON|=0x80;

//SMOD=1;

TH1=0xF4;

//Baud:

4800fosc=11.0592MHz

IE|=0x90;

//开总中断,开串口中断

TR1=1;

//开启定时器1

}

//向串口发送一个字符

voidsend_char_com(unsignedchar*ch)

{

unsignedinti=0;

while(ch[i]!

='

\0'

{

SBUF=ch[i];

while(TI==0);

TI=0;

i++;

}

}

//串口接收中断函数

voidserial()interrupt4

if(RI)

{//清除接收中断标志位

raid[count]=SBUF;

RI=0;

//读出接收到的数据

count++;

}

if(raid[count-1]=='

\r'

{

raid[count-1]='

;

send_char_com(raid);

//串口输出

count=0;

//接收中断并且单片机向arm传14byte字符串是否完毕*/

main()

init_serialcomm();

//初始化串口

while

(1)

{//等待串口接收中断

}

3、调试

打开VSPD,界面如下图所示:

左边栏最上面的是电脑自带的物理串口。

点右边的addpair,可以添加成对的串口。

一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。

接下来的一步很关键。

把KEIL和虚拟出来的串口绑定。

现在把COM3和KEIL绑定。

在KEIL中进入DEBUG模式。

在最下面的COMMAND命令行,输入

modecom39600,0,8,1 %分别设置com3的波特率、奇偶校验位、数据位、停止位

assigncom3<

sin>

sout %把单片机的串口和COM3绑定到一起。

因为所用的单片机是

 %AT89C51,只有一个串口,所以用SIN,SOUT,如果单片机有

%几个串口,可以选择S0OIN,S0OUT,S1IN,S1OUT。

打开串口调试助手

第一步:

把串口线或者USB转串口线插到计算机上。

第二步:

打开串口调试助手接着选择串口,串口线和USB转串口的端口号查看路径:

可以到桌面上鼠标放在我的电脑上--右键--属性--硬件--设备管理器-(COM和LPT),点开端口前面的+号查看即可。

4、结论

我们认真学习和熟练掌握了电子器件的理论知识和使用方法,特别留意焊接过程中的焊锡使用的技术要点,以及对电路的正确验证(以防短路,烧毁器件)。

焊接完毕之后,进行程序测试硬件。

通过对单片机实验开发板的硬件认识和对开发板完整测试,实验的测试现象达到预期要求。

最终达到了此次实验的成功。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1