单片机间全双工通信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北民族学院
信息工程学院
课程设计报告
题目: 单片机的全双工通信系统
课程:单片机课程设计
专业:电子信息科学与技术
班
学
学生姓名:
指导教师:
年月日
信息工程学院课程设计任务书
年月日
信息工程学院课程设计成绩评定表
摘要
随着电子技术的不断发展,单片机的应用范围越来越广泛,在工业控制、家电控制、数据采集等多个领域都有着十分重要的作用,由于单片机的使用,越来越多的系统开始向智能化方向发展。而单片机自带的串口功能可以实现其与其他外设MCU或PC机之间的通信,这样就使得控制系统更加的方便实用,利用单片机的串口通信可以实现数据的远程传输、数据分析与系统综合控制功能,尤其是在数据量比较大的场合下,利用一个主机向各个从机发送控制指令是一个很好的解决方案,在这个过程中,串口通信是实现单片机与单片机之间通信的关键。
本文介绍了基于单片机的串口通信设计,通过按键输入数据,单片机通过串口将数据发送给另一个单片机,同时发送的数据均可在2个单片机控制的数码管上显示,以检测串口通信的准确性。本文介绍的方法简单易懂,可广泛应用于各种串口数据通信系统中。
关键词:单片机数据串口通信设计
目录
目录
1 任务提出与方案论证 (7)
1.1 任务提出 (7)
1.2 设计方案 (7)
2 总体设计 (9)
2.1 硬件设计 (9)
2.2 软件设计 (10)
3 详细设计及仿真 (11)
3.1按键控制电路 (11)
3.2单片机控制电路 (11)
3.3 MAX232电平转换电路 (12)
3.4 显示电路 (13)
3.5仿真结果 (14)
4 总结 (15)
参考文献 (16)
附录 (17)
1 任务提出与方案论证
1.1 任务提出
数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式。要在两地之间传输信息必须由传输信道,根据传输媒体的不同,有有线数据通信与无线数据通信之分,但它们都是通过传输信道将数据终端与计算机连接起来,而使不同地点的数据终端实现软、硬件和信息资源的共享。
数据通信的发展主要分为五个阶段。第一阶段:以语言为主,通过人力、马力、烽火等原始手段传递信息;第二阶段:文字、邮政;第三阶段:印刷;第四阶段:电报、电话、广播;第五阶段:信息时代,除语言信息外,还有数据、图像、文本等。
串口通信是按位发送和接收字节,尽管比按字节的并行通信慢,但是串口可以在使用一根线发送数据的同时利用另一根线接收数据,很简单且能实现远距离通信,长度可以达到1200米。
串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。串行通信只使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息。
最被人们熟悉的串行通信技术标准是EIA-232、EIA-422和EIA-485,目前EIA-232是PC机与通信工业中应用最广泛的一种串行接口。EIA-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了一种平衡通信接口,将传输速率提高到了10Mbps,传输距离延长到了1219米,并允许在一条平衡总线上最多连接10个接收器。1983年EIA在EIA-422的基础上制定了EIA-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
1.2 设计方案
在2个相同单片机之间利用串口进行通信,通过按键输入要发送的数据,该数据为数字,并可在数码管上显示出来,设置完后通过串口通信发送给另一个单片机,另一个单片机接收到后在数码管上显示出来,2个单片机可以互相发送数据,通过2个单片机系统的数码管显
示的数字可以判断串口通信发送的数据的正确性。系统设计框图如图3.1所示。本设计主要由按键输入电路、单片机控制电路和数码管显示电路组成,2个单片机的电路图完全相同,实现的功能也相同,所以本文只介绍其中一块单片机电路的设计方法和串口通信的原理。
图1-2系统设计框图
2 总体设计
2.1 硬件设计
系统总体电路图:
图2-1系统总体设计电路
硬件电路包括:按键输入电路,AT89C51控制电路,MAX232电平转换电路,led显示电路,数码管显示电路,LM1602显示电路这几大部分。
Altium designer软件的使用
1、建立数据库。打开Altium designer软件后,在“文件”标题栏里选择“新建”选项,在弹出的对话框里选择Document Folder,然后点击OK即可。
2、打开Documents,选择“文件”标题栏里选择“新建”选项,在弹出的对话框里选择“Schematic Document”选项,建立原理图文件,并给原理图文件命名。
3、设计电路原理图。利用Altium designer里的元器件库完成电路原理图的绘制。
4、检查原理图电性能可靠性。选择工具下面的电气规则检查,在“Rule Matrix”中选择要进行电气检查的项目,设置好各项后,在“Setup Electrical Rlues Check”对话框上
选择“OK”即可运行电气规则检查,检查结果将被显示到界面上。
2.2 软件设计
Keil C51集成开发环境
1、源代码编辑器:uVision4编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。
2、断点:uVision4允许用户在编辑时设置程序断点(甚至在源代码未经编译和汇编之前)。用户启动V4调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。
在属性框中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的部分。
3、调试函数语言:uVision4中,可以编写或使用类似C的数语言进行调试。
<1>、内部函数:如printf, memset, rand及其它功能的函数。
<2>、信号函数:模拟产生CPU的模拟信号和脉冲信号。
<3>、用户函数:扩展指令范围,合并重复动作。
4、变量和存储器:用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整:当前函数的局部变量;用户在两个不同watch窗口页面上的自定义变量;堆栈调用(call stack)页面上的调用记录;不同格式的四个存储区。
C51允许用户使用C语言编写中断服务程序,快速进、出代码和寄存器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1-2字节,因此,指针存取非常迅速。
Keil C51兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构上、可读性、可维护性上有明显的优势,因而易学易用。