51单片机多机通信课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《单片机应用与仿真训练》设计报告

单片机多机通信

姓名:

学号:

专业班级:

指导老师:

所在学院:

2011年7月5 日

摘要

本设计是基于AT89S52单片机温度检测传输的三机通信系统,有三个单片机组成,其中一个作为主机(上位机),控制并负责接收来自从机1号和从机2号采集的数据信息,并显示在数码管上。由主机发送控制信息(通过按键控制),确定是接收来自想要得到各从机数据。从机1号和2号是数据采集模块,用来采集室内或室外温度信息,并通过通信协议传送给主机。为保证三机通信可靠性,通信口要有识别功能,51单片机串行口控制寄存器SCON中SM2位正是满足这一要求而设置的。当串行口以工作方式三工作时,接收和发送的信息都是11位数据,既包含SBUF寄存器传送的8位数据,还包括SCON中可编程第9位数据即TB8或RB8,主机可通过设定TB8是0或1,来区别发送的是地址还是数据。从机都先将SCON中的SM2设置为1,待主机发送地址信息,与本身的地址对照,如果是,则令从机SM2为0,准备接收主机信息并发送温度信息,如果不是,则继续等待。主机通过中断口接收数据,处理后显示在数码管上。此次设计由于只有一个18b20温度传感器,这里用三个任意的数据代替从机2采集温度数据,由于传输距离较短,这里不用MAX232,直接将主机的发送端接从机接收端,主机接收端连接从机发射端,仿真结果正常显示,实验结果正常。

目录

1概述 (1)

1.1设计概述 (1)

1.2多机通信基本原理 (1)

1.3 通信协议 (2)

2系统总体方案及硬件设计 (3)

2.1总体设计方案 (3)

2.2硬件电路设计 (3)

3软件设计 (7)

3.1控制流程图 (7)

3.2串行口采集步骤 (7)

3.3软件流程图 (8)

PROTEUS仿真 (9)

课程设计体会 (11)

参考文献: (12)

附件1:主机A源程序代码 (13)

附件2:原理图 (24)

1概述

1.1设计概述

目前在通信领域里,单片机一对一通信已经不能满足人们设计的需要,多机通信已经成为主要通信方式。单片机多机通信是指两台以上的单片机组成的网络结构,可以通过串行通信方式共同实现对某一过程的控制。目前单片机多机通信形式较多,常见的有星形、环形,串行总线型通信和主从式多机型四种。本设计采用的是主从式多机型,它是一种分散性网络结构,具有接口简单、使用灵活等优点。下图为主从式多机通信示意图:

多机通信示意图

1.2多机通信基本原理

51用于多机通信时必须工作在方式2或方式3。以方式3为例,每发送一帧数据为11位:1位起始位(0),8位数据位和1位停止位(1),附加的第9位数据在非多机系统中为奇偶校验位,在发送端有SCON的TB8产生,在接收端传送到开关电源模块SCON的RB8。它还可设定为“0”或“1”作为在MTD2002多机通信中区分数据帧(0标志)还是地址帧(1标志)的标志。在MCS-51多机系统中有以下协议:所有的各从机均处于听命状态,即SM2=1,以便接收主机发来的地址,当接收到一帧信息的RB8为“1”时,表示主机发送来的是地址信息,所有的从机均发生接收中断,否则中断屏蔽。当一从机进入相应的中断服务程序,把接收到的地址和本机的地址比较,如果相符合就令其SM2=0,并向主机发回本机地址以作应答,该从机就与主机联通,准备接收主机发来的命令或数

据信息,而其他的未被寻址从机保持SM2=1并退出各自的中断服务程序。这样,只有SM2=0的从机才能接收到主机发送来的数据信息,顺利实现地址帧和数据帧的分离。被寻址从机在通信完成后重新使SM2=1,并退出中断服务程序,等待下次通信。

1.3 通信协议

要实现单片机和PC机的正常通信,必须正确设定它们两者之间的通信方式,保证双方都用相同的波特率、起始位、停止位、奇偶校验位,并且要建立双方通信的应答信号。

单片机既可工作在同步移位寄存器方式下也可工作在UART(通用异步收发器)下。串行口的通信方式是由特殊功能寄存器SCON来控制的。其各控制定义如下:

SM0,SM1:工作模式设定位;SM2:允许使用方法2、3多机通信控制位;RB8:接收数据第9位;TB8:发送数据第9位;TI:发送中断标志;RI:接收中断标志。本文中工作方式为3,即9位UART定时器T1作为波特率发生器。

1)串行通信波特率为9600bps;

2)帧格式为8位数据位,一位起始位,一位可编程的第9位(即发送和接收的地址/数据位的标志位),一位停止位;

3)主机和从机遵循主从原则,主机用呼叫方式选择从机,数据在主机和从机之间双向传递,各从机之间的相互通信需通过主机作为中介;

4)主从机之间还应传送一些供它们识别的命令和状态字,如以‘c’表示主机发送从机接收命令,以‘d’表示从机发送主机接收命令等。

2系统总体方案及硬件设计

2.1总体设计方案

多机通信模块共有四个基本模块组成,一是主单片机,主要功能是控制发送命令和接受从机发送的数据;二是从单片机1,负责采集温度数据,并发送到主机;三是从机2,功能作用同上,但也可以是其他数据,比如空气空气湿度、水分、相关气体含量等;四是显示模块,本设计采用数码管显示,数码管便宜简单、编程容易、易控制,同时硬件电路比较好设计等。下图为总体设计框图:

总体设计方案框图

2.2硬件电路设计

单片机最小系统有时钟电路、复位电路、电源电路组成,如下图

(1)时钟电路:

单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。—个机器周期包括12个时钟周期。如果一个单片机选择了12MHz晶振,它的时钟周期是1/12us,它的一个机器周期是12×(1/12)us,也就是1us。没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,单片机就无法工作。旁边的两个电容叫负载电容。一般单片机的晶振工作于并联谐振状态,它是根据晶振厂家提供的晶振要求负载电容选值的。晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差。两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。

(2)复位电路:

相关文档
最新文档