单片机串口实验
更新时间:2023-10-23 10:55:01 阅读量: 综合文库 文档下载
单片机课程设计报告
实验一 串口通信实验 系 别 年 级 专 业
班 级 班 学 号 学生姓名
指导教师 设计时间
常熟理工学院课程设计报告
目录
1.题目...................................2
2.实验要求...............................2
2.1实验目的............................2
2.2实验内容............................2
3.总体设计 .............................. 4
2.1硬件设计 ........................... 4
2.2软件设计 ........................... 8
4. 运行结果 ............................ 12
5.结论 ................................. 12
6.心得体会 ............................. 13
7.参考文献 ............ 错误!未定义书签。3
1
常熟理工学院课程设计报告
1.题目
串口通信实验
2. 实验要求
2.1:实验目的
1、 掌握8051单片机串行口工作原理; 2、掌握串口编程与调试方法;
3、了解Modbus协议及其应用;
4、了解数据传输的可靠性措施与CRC校验实现方法; 5、掌握8051单片机的Modbus编程;
2.2:实验内容
1、 串口功能验证:PC机与8051单片机通信实验:若PC机发送数据a,则单片机接收到a后向
PC机发送a+1;用串口工具软件(sscom32)观察通信结果。
设计思路: PC机采用主动方式,单片机为被动方式,因单片机端不知道PC何时发数据,若单片机采用查询方式接收,会产生接收不到PC数据而“死等”的现象。因此为了不影响单片机端的主程序运行,单片机应采用中断方式接收;
参考源码: //中断服务程序
unsigned char Rxd_Data;//串口接收数据
unsigned char Rxd_Over;//串口接收完成标志 //串口初始化函数9600bps void Sbuf_Init(void) {
SCON=0x50; //10位方式 //波特率设置
PCON=0x00; //波特率不倍增
TMOD=(TMOD&0x0f)|0x20;//T1方式2 TH1=0xfd; //T1计数初值 TL1=0xfd;
ES=1;EA=1; //串口中断使能 TR1=1; //启动定时器 }
void UART_ISR(void) interrupt 4 {
if(RI)//接收产生的中断 { RI=0;//清接收标志 Rxd_Data=SBUF; //接收数据 Rxd_Over=1; //置Rxd_Over标志 }
2
常熟理工学院课程设计报告
}
void main(void) {
Sbuf_Init(); //串口初始化 while(1) { if(Rxd_Over) //若接收完成 { //串口数据发送 SBUF=a+1; //串口发送 while(TI==0); //等待发送完成 TI=0;//清发送标志 Rxd_Over=0; //清Rxd_Over标志 } } }
利用此程序可以判断串口通信是否正常。串口通信失败的原因有如下几种情况:
(1) 串口线未连接,用一根导线将串口线2,3脚短接,scomm32工具发送数据,根据能否接收数
据判断串口线连接是否正常;
(2) 最小系统板硬件故障:借助示波器观察单片机的串口接收与发送CMOS电平与RS232电平可排
查硬件故障;
(3) 软件问题。
2、 类Modbus协议实现 (1)上位机发送: 字节1 字节2 0x01 0x03 字节3 0x02 字节4 a 字节5 数据2 字节6 数据3 字节7 CRC16_L 字节8 CRC16_H 上位机按如上8字节定长方式发送数据a,采用CRC16检验,CRC16检验可采用查表法或即时计算法(已在CRC16.c与CRC16.h中提供,可直接调用),其中上位机的CRC16可采用提供的ModBus CRC校验码计算程序工具先计算得到。 (2)下位机接收后回送
下位机中断方式接收到8字节数据后进行CRC计算并与接收的CRC16数据进行比较,若一致则回应: 字节1 字节2 0x01 0x03 字节3 0x02 字节3 0x02 字节4 a+1 字节4 * 字节5 数据2 字节5 数据2 字节6 字节7 字节8 CRC16_H 字节8 CRC16_H 0(成功) CRC16_L 字节6 0xff(失败) 字节7 CRC16_L 若接收数据错误则回应 字节1 字节2 0x01 0x03
校验可采用查表法或即时计算法得到。
unsigned short int CRC16_S(unsigned char *buf,unsigned char length) //查表法
unsigned short int CRC16_C(unsigned char *buf,unsigned char length) //即时计算法
3
常熟理工学院课程设计报告
3.总体设计
3.1硬件设计
1.串口结构
4
正在阅读:
单片机串口实验10-23
药品质量报告途径与流程10-17
难忘的陌生人作文400字06-24
乡镇年度工作总结及工作计划08-17
洪浩森林公园地产品牌发布会庆典公关方案_景德镇活动策划公司09-03
西游记读后感550字04-17
注浆堵水技术经济规律04-19
(2018)最新部编人教版小学三年级数学应用题500题11-14
自然风发生电路电机调速设计04-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 串口
- 单片机
- 实验
- 中国古代史下册复习导学案 -
- 岩爆防范措施
- 方案封面范本
- 扬州市2012-2013学年第一学期期末高一数学试题
- 威海市 文登市第一中学2016届高三12月份阶段性检测考题(语文) - 图文
- 研究性学习报告:云南地名研究
- 电商单选
- 2016尔雅《大学生恋爱与性健康》期末测试
- 最终说明修改版
- 教育法三套模拟试题及答案
- 销售与收款循环审计实验答疑
- 2016年浙江省高职单招单考《财会类》模拟卷
- 学生用--2012中考真题 - 动词被动语态
- 关于宁波市发展服务贸易的思考讲解
- 大学生辩论赛策划书
- 高等代数(张禾瑞版)教案-第3章行列式
- 浅析防伪技术在标签印刷行业的应用
- 管理会计学 模拟试题及答案(二套)
- 锅炉除尘脱硫脱销设备
- 家校携手 让桃李芬芳