单片机课程设计多机温度检测Word下载.docx

上传人:b****8 文档编号:22893122 上传时间:2023-02-05 格式:DOCX 页数:30 大小:309.74KB
下载 相关 举报
单片机课程设计多机温度检测Word下载.docx_第1页
第1页 / 共30页
单片机课程设计多机温度检测Word下载.docx_第2页
第2页 / 共30页
单片机课程设计多机温度检测Word下载.docx_第3页
第3页 / 共30页
单片机课程设计多机温度检测Word下载.docx_第4页
第4页 / 共30页
单片机课程设计多机温度检测Word下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

单片机课程设计多机温度检测Word下载.docx

《单片机课程设计多机温度检测Word下载.docx》由会员分享,可在线阅读,更多相关《单片机课程设计多机温度检测Word下载.docx(30页珍藏版)》请在冰豆网上搜索。

单片机课程设计多机温度检测Word下载.docx

采集数据

Abstract

Thispaper,whichisadesignandresearchofmulti-machinecommunicationamongsingleshipmicrocomputers,isbasedonSerialCommunicationsofthesingleshipmicrocomputeranddesigned.IntroducingindetailthemethodofcommunicationamongtheSCMswhichcallAT89C52whichhasthespecialfunction:

multi-machinecommunication,thissystemconsistsofthreepiecesofAT89C52,amongwhomoneisthehostmachineandbothanothertwoareinferiormachines.Ofcourse,thesystemcanbecalleddistributedcontrolsystemwhichmeansthehostmachinecansendorderstotheinferiormachinesandthelatercanalsosendmessagestheycollectformthecircumstancestotheformer.Usingthefeedback,thehostmachinecandocorrespondingactions.inthedesignthesystemconsistsofthebuttonswedesignbyourselvesandthedialswitches,actingastheinputdevices,andlight-emittingdiodesweoftencallledandLiquidcrystaldisplay,actingastheoutputdevices.WeareconvenienttoknowtheresultswhicharecollectedandsentbytheinferiormachinethroughthetechniquesofSerialCommunications.Multi-machinecommunication,coupledwiththeinterruptsystemintheSCM,isusedinthedesign,andwewillintroduceitindetail.

InthissystemthehostmachinesendsmassagesbysettingthebitofSM2asoneandit’sthebitofTB8aszero.However,theinferiormachinesareonthecontrary.Receivingthedataformthehostmachine,theinferiormachinescomparethedatawiththeirownaddresses.IftheninthbitofSCONisone,theinferiorwillsendasignbittoinformthehostmachinethatthecommunicationbetweenthemissuccessful.ThentheinferiorbeginstosendthedataitcollectsfromthedeviceofDS18B20,atthesametime,thedatawillbetransformedtothehostmachine.Ifanyerrorhappens,theactionwillbeinterruptedorended.Wechosetwomachinesfromthreethroughdialingswitches,settingthedataoccupyingthedatabusandalarmingwhennecessity.

Keywords:

multi-machinecommunication:

SerialCommunications;

theinterruptsystem:

dataacquisition.

目录

1概括4

1.1多机通讯研究的背景与意义4

1.2多机通讯采取的研究方法和可行性论证4

1.3多机通讯的研究内容5

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

2.1系统的总体方案5

2.2多机通信接口设计6

2.3系统板设计6

3软件设计8

3.1多机通信原理8

3.2单片机串口工作寄存器8

3.3通信协议的设计10

3.4数据的显示10

3.5主机程序设计10

4Proteus软件仿真12

5课程设计体会12

6参考文献14

附1:

源程序代码15

附2:

系统原理图26

附3:

实物图28

1概括

1.1多机通讯研究的背景与意义

目前单片机渗透到我们生活的各个领域,几乎每个行业都可以看见单片机的踪影。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械。

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域随着计算机技术的发展及工业自动化水平的提高,在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形式,而多机控制主要通过多个单片机之间的串行通信实现。

串行通信作为单片机之间常用的通信方法之一,由于其通信编程灵活、硬件简洁并遵循统一的标准,因此其在工业控制领域得到了广泛的应用。

较大规模的检测、控制系统,经常要采用多个单片机,组成可以通信的多机系统。

MCS-51系列单片机为实现多机通信联网设计了方便的串行通信接口功能。

将多个MCS-51单片机组成串行总线形式的相互通道,多机通讯工作已是单片机发展的一个重要趋势,单片机多机通信的主要方式仍然是主从式多机通信系统。

单片机多机通信的方式有很多种,应用前景广阔,非常具有研究意义!

1.2多机通讯采取的研究方法和可行性论证

由于MCS-51系列单片机(以下简称单片机)具有性能稳定、工作可靠、价格低廉等特点,因此其应用相当广泛,本课题就是采用单片机。

一个单片机(如Atmel89c**)内部包含有RAM、ROM、两个或者三个16位的定时器/计数器、一个通用异步串行通信控制器(UART)等多种资源。

但即便如此,在一些相对复杂的单片机应用系统中,仅仅一个单片机资源还是不够的,因此而常常需要扩充I/O接口、定时器/计数器、串行通信接口、RAM、ROM等。

采用通用的标准器件进行扩充是通常的做法,但将单片机本身作为一个通用的扩充器件来使用,也不失为一个好的方法。

在这种情况下,一个系统中就使用了两个或两个以上的单片机,而单片机之间就要通过互连来进行数据通信。

单片机都带有串口,利用串口进行互连通信极为方便。

点对点通信双方基本等同,只是人为规定一个为发送,一个为接收。

要求两机串行口的波特率相同,因而发送和接收方串行口的初始化相同。

可编制含有初始化函数、发送函数、接收函数的程序,在主函数中根据程序的发送、接收设置TR,采用条件判别决定使用发送函数还是接收函数。

1.3多机通讯的研究内容

本文在研究单片机系统的基础上,设计了一种基于单片机AT89S52的多机通信系统。

初始时,1号单片机为主机,2、3号单片机为从机。

主机通过串口向从单片机发送指定格式的数据,从单片机收数据并作出响应,主机通过液晶屏显示通信信息,从机通过LED显示通信状态。

握手成功从机开始向主机发送数据,主机并在液晶上显示,通过自锁开关S1与S2实现单片机对不同从机的切换。

在此多机通信系统中,各个从机具有平等的机会握手。

只要主机单片机发送的地址也从机的地址相同时从机才能跟主机进行握手否者就处于监听状态,此通信系统就为主从式多机通信系统。

任何时刻,只要主机发送的地址信息可以与指定从机握手成功,其他各从机都是处于监听状态,主机与指定从机进行通讯。

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

2.1系统的总体方案

1602液晶显示

18B20温度示数

图2—1系统总体方案

简单介绍该系统的功能:

1、当主机A,开关选择键1#,主机与从机B通信,接下来从机采集18B20的数据发送给主机A,由1602液晶显示从机采集的数据。

同理,当主机A,开关选择键2#,主机与从机C通信,接下来从机采集18B20的数据发送给主机A,由1602液晶显示从机采集的数据。

2、主机通过键盘的信息采集,对从机发送来的数据设定上下线。

四个按键,分别是调节上线的大小,下线的大小。

并且通过液晶显示出来设定的界限。

3、系统设置有报警,当从机发送过来的数据大于设定的最高值的界限时,启动报警蜂鸣器发出报警,并在液晶上显示温度超过设定值。

同理在温度低于最低设定值时也会有报警。

2.2多机通信接口设计

在实际应用系统中,经常需要多个微处理机协调工作。

由于AT89系列的单片机具有多机通信功能,因而可利用它构成各种分布式系统,其系统结构如图所示。

图2.2多机通讯接口图

系统采用一台主机和多台从机,主机的RXD端与所有从机的TXD端连接,TXD端与所有从机的RXD端相连,主机发送的信息可被各从机接收,而各从机发送的信息只能由主机接收,各从机之间交换信息需通过主机。

如果传送距离增大时,也可以添加模块如RS-232、RS-485等等。

2.3系统板设计

最小系统板一般都包括时钟电路、复位电路、下载电路、报警电路等基本电路。

这些简单的电路就不在仔细介绍。

我们在这里主要介绍1602液晶的电路、18B20的电路、按键的电路。

1602液晶的电路:

字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的。

字符型LCD通常有16条引脚线的LCD,2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示:

图2-31602液晶的控制端口

18B20的电路图:

TO-92封装的18B20,就是和插件三极管一样的。

有字一面对着自己,左边开始为1.2.3脚,1脚接地,2脚为信号输入/输出,3脚为5+。

与单片机连接时在2管脚上加上一个10k的上拉电阻。

图2-418B20连线图

按键电路:

在本系统中,主机的数据和控制信号通过串口或键盘输入,为节省单片机I/O口,简化硬件线路,采用4个单独按键,其中包括数字键。

如图所示,由AT89C51的P1。

按键设置数据的上下线。

按键通过上拉电阻接到+5V上。

平时无按键动作时,列线处于高电平状态,而当有键按下时,才能确定闭合键的位置。

键盘中哪个键按下是逐行扫描低电平后,检查I/O输入状态来确定的。

图2-5按键连线图

3软件设计

3.1多机通信原理

多机通信中,要保证主机与从机间进行可靠的通信,通信接口必须具有从机身份的识别功能。

串行口控制寄存器SCON中的SM2位就是为满足这一要求而设置的多机通信控制位。

串行口以方式2或方式3实现多机通信,发送和接收的每一帧信息都是11位,其中第9数据位是可编程位,通过对SCON的TB8赋值1或0,以区别发送的是地址帧还是数据帧(规定地址帧的第9位为1,数据帧的第9位为0)。

若从机的控制位SM2=1,则接收的是地址帧时,数据装入SBUF,并置RI=1,向CPU发出中断请求;

若接收的是数据帧,则不产生中断标志,信息将抛弃。

若SM2=0,则无论是地址帧还是数据帧都产生RI=1中断标志,数据装入SBUF。

3.2单片机串口工作寄存器

a.SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。

两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。

串行口对外有两条独立的收发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收数据,实现全双工。

b.SCON寄存器用来控制串行口的工作方式和状态,可按位寻址,其字节地址为98H。

它用于定义串行口的工作方式及实施接收和发送控制。

字节地址为98H,其各位定义

D7

D6

D5

D4

D3

D2

D1

D0

SM0

SM1

SM2

REN

TB8

RB8

TI

RI

表3-1SCON寄存器的各位功能定义

SM0、SM1

工作方式

功能描述

波特率

00

方式0

8位移位寄存器

Fosc/12

01

方式1

10位UART

可变

10

方式2

11位UART

Fosc/64或fosc/32

11

方式3

表3-2串行口工作方式选择位定义(其中fosc为晶振频率)

SM2:

多机通讯控制位。

在方式0时,SM2一定要等于0。

在方式1中,当SM2=1时,则只有接收到有效停止位时,RI才置1。

在方式2或方式3下,当SM2=1且接收到的第九位数据RB8=1时,RI才置1。

REN:

接收允许控制位。

由软件置位以允许接收,又由软件清0来禁止接收。

TB8:

是要发送数据的第9位。

在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。

RB8:

接收到的数据的第9位。

在方式0中不使用RB8。

在方式1中,若SM2=0,RB8为接收到的停止位。

在方式2或方式3中,RB8为接收到的第9位数据。

TI:

发送中断标志。

在方式0中,第8位发送结束时,由硬件置位。

在其它方式的发送停止位前,由硬件置位。

TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。

TI必须用软件清0。

RI:

接收中断标志位。

在方式0,当接收完第8位数据后,由硬件置位。

在其它方式中,在接收到停止位的中间时刻由硬件置位。

RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。

RI也必须用软件清0。

c.PCON中的SMOD用来控制波特率加倍。

d.TMOD设置定时器1的工作方式,用来产生波特率

e.如果用到中断,则还需要用到中断相关的寄存器IE,IP等

3.3通信协议的设计

通信协议的设计的设计是本题的重点难点,本题通信协议主要是区别主机和从机。

由于串口的方式2、3发送和接收都是11位其第九为可编程置位可以此作为区分地址帧与数据帧从而实现主机与从机,从机与从机的区别。

通信协议同样要规定相同通信速率,编写如下的通信协议:

1、数据传输的双方均使用9600kb/s的速率传送数据,使用主从式通信,主机发送数据,,双方在发送数据时使用查询方式。

从机接受数据使用中断接收。

2、双机开始数据传输时,主机发送地址帧呼叫从机。

3、各从机开始都处于只收地址帧状态。

接收到地址帧后,将接收到的地址内容和本机地址比较,如果地址相同,则向主机返回本机地址作为确认信息,并开始接收数据;

如果不同,则继续等待。

4、主机在发送地址帧后等待,如果接收到的应答信息中的内容和所发地址帧的内容相同,就开始发送数据,如果不一致,主机将继续发送地址帧。

如多次应答仍无回应则认为出错则主机跳出本次通信。

3.4数据的显示

基本操作时序:

读状态输入:

RS=L,RW=H,E=H输出:

DB0~DB7=状态字

写指令输入:

RS=L,RW=L,E=下降沿脉冲,DB0~DB7=指令码

输出:

无读数据输入:

RS=H,RW=H,E=H输出:

DB0~DB7=数据

写数据输入:

RS=H,RW=L,E=下降沿脉冲,DB0~DB7=数据输出:

3.5主机程序设计

依据试验要求及相应的通信协议现绘制如下的主机程序流程图:

图3-1主程序流程图

4Proteus软件仿真

图4-1仿真图

5课程设计体会

单片机课程设计马上就结束了,在这段时间里我们学到了很多很多。

我们在课堂上掌握的仅仅是书面的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去呢?

我想做此类的课程设计就为我们提供了良好的实践平台。

在做本次课程设计的过程中,我感触最深的当属查阅大量的资料,无论是课本上的还是网上的我们都学习了不少,从中也借鉴了别人的思想,开阔了自己的思路。

做单片机课程设计,对设计者对软硬件的理解和掌握的要求比较高。

在设计程序之前,设计者必学对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;

要有一个清晰的思路和一个完整的的软件流程图;

在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;

要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;

在设计课程过程中遇到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。

我们在实验中就遇到了一系列问题,比如刚刚开始时硬件电路的连接,从机与主机握手的过程等等,在大家仔细的思考和老师同学的帮助下顺利解决。

此次课程设计,大家学会了一个重要的设计技巧,就是一步一个脚印,踏踏实实的编程,每编写好一个模块的程序后应及时检测是否正确。

若是“一步登天”,一次性将所有程序编写好再进行测试,这样如若出现问题,但无法知道问题出在何处,这样会带来更大的麻烦,修改就无从下手。

总而言之,此次的单片机课程设计让我们“吃尽了苦头”,花费了不少脑细胞,无论是软件的使用还是对单片机内部资源硬件的了解,我们的认识都大大加深了。

同时感谢老师及同学们,感谢你们给予我们小组的指导和帮助,谢谢你们!

6参考文献

[1]吕汉兴,祁志勇.MCS—51系列单片机多机通信的实现[J].仪表技术,1999.3

[2]费强,徐高晓.MCS—51系列单片机多机通信功能扩充[J].基础自动化,1995.6

[3]叶佩.MCS_51单片机的多机通信方式研究[J].计算技术与信息发展,2009.12.

[4]禹言春.单片机的多机通信[J].安徽农学通报,2007.13.

[5]陈寿元.单片机多机串行通信的改进方案[J].经验交流,2004.5.

[6]陈晓英,任国臣.单片机多机通信系统稳定性的研究[J].单片机与嵌入式系统应用,2001.8.

[7]李文明,张涛,郑丽娜.基于主从多机通信控制器的设计与实现[J].计算机测量与控制,2008.16(5)

[8]朱建清,张敏.单片机的多机控制在装置艺术中的应用[J].沈阳航空工业学院学报,2009.4

[9]杨玉军.单片机多机通信系统可靠性的研究[J].河南科学,2002.6.

[10]林雪每,彭佳红,姚志成.单片机多机通信协议的设计[J].单片机开发与应用,2006.2.

[11]单魏.基于AT89S52的输液监控系统的设计与实现[D].合肥工业大学,2009.12.

[12]季海军.带语音提示医用体温检测系统[D].吉林大学硕士学位论文,2007.5.

[13]邹轶.近距离高精度超声波测距系统的设计[D].大连理工大学硕士学位论文,2009.12

[14]孙鹏宇.家用多功能健康状态检测仪的研制[D].大连理工大学硕士学位论文,2009.12

[15]李超.多功能低温测定器的多路温度控制系统设计[D].大连理工大学硕士学位论文,2009.12

[16]戴仙金.51单片机及其C语言程序开发实例[M].北京:

清华大学出版社.2008.

[17]王庆利,刘奎,袁建敏.单片机设计标准教程[M].北京:

北京邮电大学出版社.2008

源程序代码

主机程序A:

#include<

reg52.h>

1602.h>

#defineuintunsignedint

#defineucharunsignedchar

ucharaddr=0x00,dat1,dat3,temp,x=0;

uchardat2=40,dat4=25;

sbitk1=P1^0;

sbitk2=P1^1;

sbitk3=P1^2;

sbitk4=P1^3;

sbitk5=P1^4;

sbitk6=P1^5;

sbitbeep=P2^1;

ucharstr[16]="

th:

00.0tl:

00.0"

;

ucharstr1[16]="

#."

ucharstr2[16]="

lower"

ucharstr3[16]="

higher"

voidinit()

{

SCON=0xd8;

//主机的方式与SM2的设置和TB8的设置

TMOD=0x20;

//定时器1工作方式2

TH1=0xfd;

TL1=0xfd;

PCON=0x00;

//波特率的设置

TR1=1;

//启动定时器1

EX0=1;

//开外部中断

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1