双机之间的串行通信设计(2)解读
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012~2013学年第一学期
《单片机原理与应用》
课程设计报告
题目:双机之间的串行通信设计专业:通信工程
班级:10通信2
姓名:余诗长、杨号、苏李闯
舒怀、汪才锐、潘升旗
指导教师:周珍艮、崔雪英
电气工程系
2012年10月27日
《单片机原理与应用》任务书
串行通信时单片机的一个重要运用,本次课程设计就是要利用单片机来完成一个系统摘要,实现双片单片机串行通信。通信的结果使用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用RS232进行双机通信。在通信过程中使用通信协议进行通信。
两片单片机之间进行串行通信,发送端将0~f循环发送到接收端,并在收端显示。本次设计,对于两片89c51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。
接收方接收后,在数码管上显示接受的信息。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。
软件部分,通过通信协议进行发送接受,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB(16)中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机:否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。
关键字51单片机串行通信接口
《单片机原理与应用》 (1)
课程设计报告 (1)
《单片机原理与应用》任务书 ............................................................................................... I 摘要 ......................................................................................................................................... II 目录 ...................................................................................................................................... I II 第1章双机之间的串行通信设计原理. (1)
第2章双机之间的串行通信设计 (2)
2.1硬件设计 (2)
2.2主机模块设计 (2)
2.3从机模块设计 (4)
2.4 键盘扫面子程序设计 (4)
第3章仿真 (6)
3.1仿真软件的了解 (6)
3.2仿真过程操作 (6)
3.3运行测试 (6)
总结 (7)
参考文献 (8)
附录 (9)
答辩记录及评分表 (14)
第1章双机之间的串行通信设计原理
两个单片机之间进行通讯波特率的设定,最终归结到对定时计数器T1计数初值TH1、TL1进行设定。故本题目本质上是通过键盘扫描得到设定的波特率,从而载入相应的T1计数初值TH1、TL1实现的。示例程序中将0xaa从主机传输到从机,并显示在从机的数码管上实现串口通讯的验证。
如串口通讯线路过长,可考虑采用MAX232进行电平转换,以延长传输距离。值得注意的是,为了减少计算载入初值时的误差,本项目最好采取11.0592MHz的晶振。
我们设计以AT89C51单片机为核心,利用其内部的串行口,通过硬件与软件相结合的方式,实现双机的全双工的串行通信。硬件电路包括键盘电路,显示电路,单片机主控电路,串行通信线和电源电路。软件包括键盘扫描程序,显示程序,发送程序和接受程序。发送和接收都采用中断方式。由于两个单片机应用系统相距很近,近程通信时,可以不使用调制解调器,将它们的串行口直接相连就可以实现全双工的串行通信。电路设计如图1所示。
图1 系统整体电路图
第2章双机之间的串行通信设计
本系统利用单片机的串行口,由软件和硬件两部分协调实现两单片机的串行数据传输。硬件电路以AT89C51单片机为核心,外围电路包括键盘电路(数据的输入),显示电路(数据的输出)。工作在硬件电路基础上的软件主要完成数据的输入,存储,显示,发送和接收。由于两单片机相距很近,可以直接将其串行口相连。系统整体电路图如图2所示。
图2 系统整体电路框图
2.1 硬件设计
系统组成下面就以主号机为例,介绍硬件。硬件电路包括AT89C51单片机,共阳性LED数码管以及传输线。AT89C51是一个低电压,低功耗,高性能CMOS 8位单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外设中断口,2个16位可编程定时计数器,2个全双工串行通信口。AT89C51可以按照常规的方法进行编程,也可以在线编程。片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统。
2.2 主机模块设计
此系统欲实现双机的全双工的串行通信。甲乙两机的内部软件是完全相同的,主机和从机都能发送和接收数据信息,能同时进行数据交换。假设主机为发
送方,从机为接收方。当按下发送按键时,主机开始发送数据,存储在R7中并通过显示器显示。按下从机的接收按键,从机开始接收数据,每接收一个数值就直接送到显示器显示。本设计通过键盘输入数据。利用软件控制键盘进行加1或者减1操作,可以使其输入0~F之间的任意一个数。主机主程序如图3所示。
图3 主机主程序流程图