单片机双机之间的串行通信设计
详细介绍51单片机之间的串口通信及软硬件设计
专业方向课程设计报告
题目:单片机双机之间的串行通信设计
详细介绍51单片机之间的串口通信及软硬件设计
单片机双机之间的串行通信设计
一.设计要求:
两片单片机利用串行口进行串行通信:串行通信的波特率可从键盘进行设定,可选的波特率为1200、2400、4800和9600bit/s。
二、方案论证:
方案一:以两片51单片机作为通信部件,以4*4矩阵键盘作为数据输入接口,通过16个不同键值输入不同的信息,按照51单片机的方式3进行串口通信,从机采用中断
详细介绍51单片机之间的串口通信及软硬件设计
方式接收信息并按照通信协议改变波特率或者用I/O口输出、CD4511译码、数码管显示相关数据,整个系统的软件部分采用C语言编写。
方案二:整个系统的硬件设计与方案一样,但是通信方式采用方式一进行通信,主从机之间的访问采用查询方式,数据输出直接由单片机的译码程序输出译码数据,同时软件编写采用汇编语言。
两种方式从设计上来说各有特色,而且两种方式都应该是可行的。方案一中按照方式三通信可以输出九位数据而方式一只能输出八位数据,但就本题的要求来说方式一就可以了。主从机之间的交流采用中断方式是一种高效且保护单片机的选择,但是相比之下本人对查询方式的理解更好一些。数码管的显示若采用CD4511译码则直接输出数据就可以了,但是这样会增加硬件陈本,而且单片机的资源大部分都还闲置着,所以直接编写一段译码程序是比较好的做法。另外在软件编写上,采用C语言在后续设计中对硬件的考虑稍少一些,换言之采用汇编可以使自己对整个通信过程及单片机的部分结构有更清晰地认识所以综合考虑采用方案二。 三、理论设计:
采用AltiumDesigner绘制的原理图(整图)
详细介绍51单片机之间的串口通信及软硬件设计
本系统主要包括五个基本模块:单片机最小系统(包括晶振电路、电源、复位电路及相关设置电路)、4*4矩阵键盘、功能控制电路、数据显示电路、波特率更改指示电路。
本设计的基本思路是通过控制口选择将要实现的功能, 然后矩阵键盘输入数据,单片机对数据进行处理(加校验码、设置功能标志位),然后与从机握手,一切就绪之后后就开始发送数据,然后从机对接收数据校验,回发校验结果,主机根据校验结果进行下一步动作,或者重发,或者进入下一数据的发送过程,然后按照此过程不段循环,直到结束。
单片机最小系统:接上电源和地,晶振电路提供脉冲,加上复位电路,将EA接入高电电平选择片内程序存储器。这是一个单片机能够工作的最低设置。
详细介绍51单片机之间的串口通信及软硬件设计
4*4矩阵键盘:将矩阵键盘接入p1口通过按键扫描程序读写P1口从而判断有无安键按下,通过查键值程序确定其键值从而得到输入数据。这是整个系统的输入接口。
功能控制电路:控制键(图中为K3)被按下时p0.0为低电平,否则为高电平,这样就可以根据读入的p0.0的电平差别控制通信系统的功
能。高电平时让从机显示接收到的数据,低电平从机更改波特率。
数据显示模块:译码程序将获得的数据译成可直接显示的段码输到p2口,用数码管显示。为防止单片机的带负载能力不足,本设计中加了上拉电阻使数码管显示更清晰。
波特率更改指示电路:在从机更改波特率之后同时给P1口写数是相应指示灯亮,指示此时两机之间通信的波特率为多少。
详细介绍51单片机之间的串口通信及软硬件设计
初始化,设置初始波特率及相应寄存器N
初始化,设置初始波特率及相应寄存器
键按下? Y
等待主机握手
调用发送程序准备发送数据
收 OEH? Y
N 回 发 02H
发送呼叫信号 0EH,并等待从机回答 N 01H? Y
回发 01H
等待主机发送数据并校验
无错? P1.0==1? Y 对键值加校验位,发送 N 等待从机回答 对键值 加校验 位, 加标 志位, 等 待发送 N Y 回发 0FH
N 回发 F0H
Acc.5==1? Y 更改波特率,及相关处理 N
0FH? 等待从机回答
N
显示接收数据
Y
0FH? 返回 Y
返回
四、电路仿真及仿真结果分析:
详细介绍51单片机之间的串口通信及软硬件设计
指示灯未亮表明此时从机未设 置波特率,以初始波特率工作 控制键未被按下
控制键未被按 下时, 从机显示接收到到的数据
指示灯亮表明通控制键被按
信系统此时以指控制键被按下 下时, 从机不 显示数据
定波特率工作
两机之间数字 信号的传输
用示波器观察两机 之间的信息交流
详细介绍51单片机之间的串口通信及软硬件设计
下图是系统软件仿真的结果,以下现象表明系统能正常工作并实现预设结果。 五、作品功能和使用说明: 接上电源系统开始工作,功能件控制从机功能,键盘输入数据,主机发送数据,从机接收数据。当控制键未
被按下时,从机显示接收到的数据;控制键被按下时从机不再显示数据,只更改波特率,同时点亮相应的指示灯。指示灯会指示当前工作的波特率,灯不亮时单片机以默认波特率工作。系统断电时结束通信。
详细介绍51单片机之间的串口通信及软硬件设计
六、心得体会:
经过这几天的努力终于将设计完成了。整个过程虽然遇到很多问题,但是确实感觉又学到了了不少东西。
整个系统的设计很快就决定下来了,但是在软件编写完之后进行软件仿真时,一直不能不能成功。然后一步步的查错,从功能流程图开始,一步步检查,理清系统的时序逻辑关系。确保逻辑功能没问题后,对软件进行调试,逐步调试、设置相关寄存器、查看相应的io口,然后发现这里也没什么问题。于是直接在程序中设置标志位,观察程序的运行情况。后来发现问题主要出现在两个地方:一是软件不能自动返回,重复执行,于是在程序中增加了循环语句和返回语句;二是没有正确保存数据和取数据,主要体现在查键值后没有保护数据及进行校验后没有进行重取原数据,这是两个非常易错的问题。另外功能上单片机之间的“握手”和等待通讯过程也是非常重要的。
另外在硬件制作时也遇到了一些问题,主要是在制作PCB板时由于腐蚀过度导致出现了很多断路,以至调试时得检查电路,同时对整个系统的美观造成很大影响。
不过,这次设计确实让我对通信过程有更深的理解。 七、参考文献
[1]李建忠.单片机原理及应用(第二版.西安电子科技大学出版社 ) [2]何小艇.电子系统设计(第四版.浙江大学出版社)
详细介绍51单片机之间的串口通信及软硬件设计
系统程序:
/************************************************************************* * 约定:主机发送呼叫信号"0EH",咨询从机是否可以接受数据 * * 从机发送"01H"表示可以接受,否则发送"02H"表示暂时不能接受数据 * * 主机只有收到了应答信号"01H"才向从机发送数据,否则继续呼叫 * * 主机收到"0FH"表示发送正确,收到"F0H"表示发送错误 * * 设置:串口工作于方式1 ,定时器做波特率发 …… 此处隐藏:5349字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




