串口通信实验报告

串口通信实验报告

ID:20156650

大小:238.00 KB

页数:11页

时间:2018-10-10

串口通信实验报告_第1页
串口通信实验报告_第2页
串口通信实验报告_第3页
串口通信实验报告_第4页
串口通信实验报告_第5页
资源描述:

《串口通信实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、常熟理工学院课程设计报告单片机实验报告课程名称单片机技术与应用实验名称串口通信实验专业光电信息工程班级光电121班学号050312113姓名蒯玄实验地点躬行楼528实验日期2015.5.28常熟理工学院课程设计报告一、实验目的1、掌握8051单片机串行口工作原理;2、掌握串口编程与调试方法;3、了解Modbus协议及其应用;4、了解数据传输的可靠性措施与CRC校验实现方法;5、掌握8051单片机的Modbus编程;二、实验仪器编号仪器设备数量单位1WD990微机电源1个28051最小系统板1套3键盘显示接口板1块4万用表1套5示波器1台三、实验内容串口功能验证:PC机与8051单片机通信实

2、验:若PC机发送数据a,则单片机接收a后向PC机发送a+1;用串口工具软件(sscom32)观察通信结果。设计思路:PC机采用主动方式,单片机为被动方式,因单片机端不知道PC何时发数据,若单片机采用查询方式接收,会产生接收不到PC数据而“死等”的现象。因此为了不影响单片机端的主程序运行,单片机应采用中断方式接收;参考源码://中断服务程序unsignedcharRxd_Data;//串口接收数据unsignedcharRxd_Over;//串口接收完成标志//串口初始化函数9600bpsvoidSbuf_Init(void){SCON=0x50;//10位方式//波特率设置10常熟理工学院

3、课程设计报告PCON=0x00;//波特率不倍增TMOD=(TMOD&0x0f)

4、0x20;//T1方式2TH1=0xfd;//T1计数初值TL1=0xfd;ES=1;EA=1;//串口中断使能TR1=1;//启动定时器}voidUART_ISR(void)interrupt4{if(RI)//接收产生的中断{RI=0;//清接收标志Rxd_Data=SBUF;//接收数据Rxd_Over=1;//置Rxd_Over标志}}voidmain(void){Sbuf_Init();//串口初始化while(1){if(Rxd_Over)//若接收完成{//串口数据发送SBUF=a+1;//串口

5、发送while(TI==0);//等待发送完成TI=0;//清发送标志Rxd_Over=0;//清Rxd_Over标志}}}利用此程序可以判断串口通信是否正常。串口通信失败的原因有如下几种情况:(1)串口线未连接,用一根导线将串口线2,3脚短接,scomm32工具发送数据,根据能否接收数据判断串口线连接是否正常;(2)最小系统板硬件故障:借助示波器观察单片机的串口接收与发送CMOS电平与RS232电平可排查硬件故障;(3)软件问题。四、预习要求10常熟理工学院课程设计报告完成实验源码的预编写。五、实验步骤使用串口前,应对它进行初始化。设置串行口工作方式控制(SCON);设置串口通信波特率:

6、T1(TMOD、TH1、TL1、ET1、EA、TR1、PCON);串口中断使能(ES、EA)。具体步骤如下:(1)设置串行口工作方式控制(SCON)如11位波特率可变的异步通信方式:SCONSM0SM1SM2RENTB8RB8TIRISCON=0xd0;(11010000)(2)借助T1初使化通信波特率(TMOD)PCONSMOD-------87HTMODGATEC/T#M1M0GATEC/T#M1M089HBaud=2^SMOD×(T1溢出率/32)令SMOD=0,则9600=1/(n*12/fosc*32),若fosc=11.0592则n=3T1:采用方式2(8位自动载入)即:PCO

7、N=0x00;TMOD=(TMOD&0x0f)

8、0x20;TH1=0xfd;TL1=0xfd;TR1=1;六、实验过程程序部分:10常熟理工学院课程设计报告#include"reg51.h"#include"crc16.h"#defineMODBUS_ADDR0x01#defineMODBUS_RD0x03#defineMODBUS_WDATA10x02unsignedcharRxD_buf[8],TxD_buf[8];unsignedcharRX_OVER;//全局变量:1:串口接收完成标志/////////////////////////////////////////////////

9、///////////中断服务程序/////////////////////////////////////////////////////////////////////////////////////////voidUART_ISR(void)interrupt4{staticunsignedcharcount=0;staticunsignedcharpre_data=0;staticunsignedcharmid_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。