单片机双机通信课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书
课程设计名称:单片机课程设计
课程设计题目:单片机与单片机之间的串行通讯学院名称:信息工程学院
专业:电子信息科学与技术班级: 090431班学号: xxx 姓名: xxx 评分:教师: xxx 2012年6月25日
电子信息工程专业课程设计任务书
20 10 -20 11学年第2 学期第17 周-20 周
注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。
2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档
摘要
串行通讯是单片机的一个重要应用。本设计就是利用两块单片机来完成一个系统,实现单片机之间的串行通讯。
随着计算机的不断普及,在我们的周围可能会同时出现多台微型计算机,而且这些计算机的牌号,后型号不同,而且有的格式不兼容。于是利用单片机串行口实现不同计算机之间的相互通信,以达到信息或程序的共享是非常有用的。从智能家用电器到工业上的控制系统都采用了上位机与下位机基于串行通信的主从工作方式,这样就充分利用了微机分析处理能力强、速度快的特点及下位机(单片机)面向控制、使用灵活方便的优势。由于AT09C52系列单片机具有性能稳定、工作可靠、价格低廉等可特点,因此其应用相当广泛。AT09C52单片机中有异步通信串行接口,能方便的构成双机,多机通讯接口。随着测量向自动化,智能化,网络化方向的发展。利用多机通讯构成的分布式系统逐渐普及。本实验就点对点的双机通信进行训练。学习串口的工作方式,初始化编程,和单片机与单片机点对点通信的编程方法以及硬件电路的设计方法。
在此基础上可以进一步提高,实现多机通信以及单片机与PC机的通讯,手机通过蓝牙与单片机通讯,电脑通过蓝牙与单片机通讯等一系列功能扩展。
【关键字】双机串行通讯 AT89C52 异步通讯功能扩展
目录
前言 (1)
第一章、系统功能 (2)
1.1 设计要求和系统的组成及工作原理 (2)
第二章、系统设计方案 (3)
2.1硬件设计 (3)
2.1.1 AT89C52和RS232说明 (3)
2..12 双机通讯的方案选择 (7)
2.1软件设计 (8)
2.2.1 甲机程序的编写说明 (8)
2.2.2 甲机程序的编写说明 (12)
第三章、调试与操作 (19)
3.1 开发板调试 (19)
3.2 测试结果与分析 (20)
第四章、结论 ......................... 错误!未定义书签。附录一、参考文献 (22)
附录二、元器件清单 (23)
附录三、电路总图 (24)
附录四、实物图 (25)
前言
电子科学技术是人类在生产斗争和科学实验中发展起来的。随着科学技术的发展和人类的进步,电子技术已经成了各种工程技术的核心,特别是进入信息时代以来,电子技术更是成了基本技术,其具体应用领域涵盖了通信领域、控制系统、测试系统、计算机等等各行各业。
单片机之间的数据通讯在当今社会应用相当广泛,单片机之间的数据通讯。由于52系列单片机具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛。一个52系列的单片机(如At89c52)内部包含有RAM、FLASH ROM、三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。但即便如此,在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。采用通用的标准器件进行扩充是通常的做法,但将单片机本身作为一个通用的扩充器件来使用,也不失为一个好的方法。在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。52系列的单片机(以下简称单片机)都带有串口,利用串口进行互连通信极为方便,其各种连接方式在许多书籍和资料上都有介绍,在此不再重述。但如果系统要求扩充的资源是对外连接的串口,或对相互之间的数据传送有一定的速度要求,则单片机的串口就不能用作系统内两单片机的通信接口了。所幸的是,单片机的并行端口也能相互连接来进行数据通信。根据单片机端口内部结构的特点,这些端口的端口线可以直接相连,从而使两单片机之间并行通信接口的实现不用另外的硬件电路设备。
本文就是关于用单片机与单片机之间的串行通讯的过程及基本原理。
第一章系统功能
1.1设计要求和系统的组成及工作原理
一.设计要求
1.用RS232串行芯片实现双向通讯。
2.传送的数据在显示器上(数码管和发光二极管)显示。
二.系统组成
图1 总体框图
三.工作原理
双机通信系统通过甲乙单片机的串行口来实现数据的收发。
甲单片机通过开关电路来启动发送程序,甲机当开关按下时向乙机发送一个数据,乙机上蜂咛器发出声音提示有数据发送过来,乙机通过接收中断来接收和开关判断是否接收甲机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示主机发送过来的数据。
乙单片机通过开关电路来启动发送程序,乙机给甲机发送一数据,甲机上蜂咛器发出声音提示有数据发送过来,甲机通过接收中断来接收和开关判断是否接收乙机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示乙机发送过来的数据。
第二章系统设计方案
2.1 硬件设计
2.1.1 AT89C52和RS23说明
一. At89c52单片机内部有1个功能很强大的全双工串行口,可以同时发送和接收数据。串行口的内部有数据接收缓冲器和数据发送缓冲器,数据接收缓冲器只能读出不能写入,数据发送缓冲器只能写入不能读出,这两个数据缓冲器都是用SBUF 来表示,地址都是99H,CPU对特殊功能寄存器SBUF执行写操作就将数据写入发送缓冲器,对SBUF执行度操作就是读出接收缓冲器中的内容。特殊功能寄存器SCON参访串行口的控制状态信号,串行口用T1或者T2作为波特率发生器(发送和接收时钟),特殊功能寄存器PCON的最高位SMOD为串行口波特率的倍率控制位。
SM0、SM1:串行口工作方式选择位
SM2:多机通信控制位
REN:允许/禁止串行口接收的控制位
TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。
RB8:在方式2和方式3中,是被接收的第9位数据(来自第TB8位);在方式中,RB8收到的是停止位,在方式0中不用。
TI——串行口发送中断请求标志位: 当发送完一帧串行数据后,由硬件置1;在转向中断服务程序后,用软件清0。
RI——串行口接收中断请求标志位: 当接收完一帧串行数据后,由硬件置1;在转向中断服务程序后,用软件清0。
SM0、SM1:串行口工作方式选择位,其组合含义如下所示: