时钟无线智能温度控制系统doc.docx

上传人:b****6 文档编号:7215677 上传时间:2023-01-21 格式:DOCX 页数:52 大小:844.06KB
下载 相关 举报
时钟无线智能温度控制系统doc.docx_第1页
第1页 / 共52页
时钟无线智能温度控制系统doc.docx_第2页
第2页 / 共52页
时钟无线智能温度控制系统doc.docx_第3页
第3页 / 共52页
时钟无线智能温度控制系统doc.docx_第4页
第4页 / 共52页
时钟无线智能温度控制系统doc.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

时钟无线智能温度控制系统doc.docx

《时钟无线智能温度控制系统doc.docx》由会员分享,可在线阅读,更多相关《时钟无线智能温度控制系统doc.docx(52页珍藏版)》请在冰豆网上搜索。

时钟无线智能温度控制系统doc.docx

时钟无线智能温度控制系统doc

2011第七届“博创杯”全国大学生嵌入式设计大赛

作品设计报告

 

具有定时功能的无线温度控制系统

Thetemperaturecontrolsystemwiththetimingofthewireless

 

 

参赛学校:

沈阳建筑大学

作者:

崔泽众宋云龙刘阳

指导教师:

张万江王长涛

摘要

数字温控系统是由中央处理器、温度检测器、时钟系统、开关调节系统、存储器、显示器、降温模块等部分组成。

处理器采用单片机AT89C51,温度检测部分采用DS18B20温度传感器,时钟系统用时钟芯片DS1302。

单片机通过时钟芯片DS1302获取时间数据,对数据处理后显示时间;温度传感器DS18B20采集温度信号送该给单片机处理,单片机再把时间数据和温度数据送四位LED数码显示管显示;当温度过高和过低,采用声、光共同报警;开关调节系统可以对时间进行人工调整,以达到准确显示。

[关键字]:

AT89C51;DS18B20;DS1320;步进电机

Abstract

Digitalthermometeriscomposedbyacentralprocessor,thetemperaturedetector,clocksystem,switchcontrolsystem,memory,monitors,coolingmodulesandothercomponents.STC89C51istheprocessormicrocontroller,temperaturedetectionpartisDS18B20temperaturesensor,clocksystemiswiththeclockchipDS1302.TheprocessormicrocontrollergetsthedataoftimethroughDS1302clockchip,andafterprocessingthedataitwilldisplaythetime;TemperaturesensorDS18B20willcollecttemperaturesignalandsendtothemicrocontrollerforprocessingdata.ThensendthedataoftimeandtemperaturedatatofourLEDdigitaldisplaytubetodisplay;Whenthetemperatureistoohighortoolow,itwillalarmwithsoundandlight;Thetimecanbemanuallyadjustedbyswitchingtimecontrolsystem.

[Keywords]:

AT89C51;DS18B20;DS1320;Steppermotor

目录

第1章绪论……………………………………………………………………5

第2章系统方案…………………………………………………………………6

2.1时钟方案选择……………………………………………………………6

2.2测温元件方案选择………………………………………………………6

2.3发射接收模块的法案选择………………………………………………8

第3章功能与指标………………………………………………………………8

3.1主机部分…………………………………………………………………8

3.2从机部分…………………………………………………………………8

第4章实现原理…………………………………………………………………9

4.1时间显示与调时…………………………………………………………9

4.1.1DS1302简介……………………………………………………………9

4.1.2显示部分………………………………………………………………12

4.1.3调时部分………………………………………………………………13

4.2温度显示…………………………………………………………………13

4.2.1DS18B20简介…………………………………………………………13

4.2.2显示部分………………………………………………………………18

第5章硬件框图…………………………………………………………………20

5.1系统总框图………………………………………………………………20

5.2各单元电路电路图………………………………………………………21

5.2.1温度模块设计…………………………………………………………21

5.2.2显示模块电路图………………………………………………………21

5.2.3时钟模块设计…………………………………………………………22

5.2.4无线发送模块设计……………………………………………………22

第6章软件设计…………………………………………………………………23

6.1系统主程序设计…………………………………………………………23

6.2读取温度程序设计…………………………………………………………24

6.3软件仿真…………………………………………………………………25

第7章系统测试方案……………………………………………………………26

第8章测试设备…………………………………………………………………27

第9章测试数据…………………………………………………………………27

第10章结果分析………………………………………………………………27

第11章实现功能………………………………………………………………28

第12章系统特色………………………………………………………………28

第13章系统应用扩展…………………………………………………………28

结论……………………………………………………………………………28

附录A………………………………………………………………………………29

参考文献………………………………………………………………………29

附录B………………………………………………………………………………31

程序……………………………………………………………………………31

第1章绪论

目前,单片机的发展非常迅速,应用也极为广泛,由于体积小、功能强、性能稳定、价格低廉等优点,使其不仅在工业控制系统诸多领域得到了极为广泛的应用,而且在人们的日常生活中也常常需要用到。

本文介绍了以AT89C51单片机为控制核心的饮水机温度控制系统,该系统可以实现时间调节与显示、温度采集、显示、示警并且可以通过无线传输调节温度等功能。

这是一个模拟的温控调节系统,该系统的可靠性高。

实验结果表明,该系统能够实时显示温度值,温度检测范围为0—95℃,精度为±1℃,在温度过高或过低时会输出报警信号同时利用PT2262编码发射和PT2272译码接收,实现无线远距离传输。

检测到信号后通过另一块单片机控制步进电机进行对温度控制,共设有3个档位,在超过设定温度较低时用最低的转速,再高一些用第二个档位的转速,再高的时候用最高的档位。

温度低时发送启动加热装置的命令。

这只是模拟系统,应用到实际当中可以把步进电机改为空调或者风扇,通过继电器控制。

 

第2章系统方案与比较

按照系统的设计功能要求,本时钟温度系统的设计采用单片机软件系统实现,来控制时钟、温度的检测存储和及显示。

确定设计系统由单片机主控模块、时钟模块、测温模块、控制模块、显示模块、光报警等共六个模块组成,电路系统框图如图1所示。

2.1时钟方案选择:

我们所设计的为温度控制系统,要掌握时时的温度信息,所以在系统中需要加一个时钟模块,可以随时了解温度和时间。

方案一:

用软件实现,直接用单片机的定时器编程以实现时钟。

硬件不需要,只需软件编程,但是编程程序比较复杂,占用单片机的空间大。

方案二:

是用专门的时钟芯片实现时钟的计时,再把时间数据送入单片机,由单片机控制显示。

硬件简单,编程也比方案一的编程容易。

比较两种方案,用软件实现时钟固然可以,但是程序运行的每一步都需要时间,多一步或少一步程序都会影响计时的准确度,用专用时钟芯片DS1302则可以实现准确记时。

所以选二方案。

2.2测温元件方案选择

方案一:

由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感

温效应,再将随着被测温度变化的电压或电流采集过来,进行A/D转换后,用

单片机进行数据的处理,就可以将所测温度显示出来。

这种设计需要用到A/D转

换电路,测温电路比较复杂。

方案二:

温度传感器DS18B20是美国DALLAS半导体公司最新推出的一种

改进型智能温度传感器,它能直接读出被测温度,并且可根据实际要求通过简单

的编程实现9—12位的数字值读数方式,它内部有一个结构为8字节的高速暂存RAM存储器。

热敏电阻价格高,不是线性,需要复杂的恒流源伺服电路。

数据处理复杂。

热电偶要加上补偿电路且材料价高。

以上两种方案还都须要A/D转换器。

DS18B20只需三根导线和一个电阻。

不需要其他任何外围电路即可测得温度数据。

故电路非常简单。

采用热敏电阻,可以满足40°C至90°C测量范围,但是热敏电阻可靠性差,测量温度准确率低,对于小于1°C的温度信号时不适用的,热电偶要加上补偿电路且材料高,还得经过专门的接口电路转换成数字信号,才能有微处理器进行处理。

DS18B20单线数字温度传感器,即“一线器件”其具有独特的优点:

(1)采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,适用放不安等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

(2)测量温度范围宽,测量精度高。

DS18B20的测量范围为-55°C至+125°C;在-10°C至+85°C范围内,精度为±0.5°C。

(3)在使用中不需要任何外围元器件即可实现测温。

(4)多点组成网络功能,多个DS18B20可以并联在惟一的输出线上,实现多点测量。

(5)供电方式灵活。

DS18B20可以通过内部寄生电路从数据线上获取电源。

因此,当数据线上的时序满足一定得要求时,可以不接外电源,从而使系统结构更简单,可靠性更高。

(6)测量参数可配置。

DS18B20的测量分辨率可通过程序设定9至12位。

(7)负压特性。

电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。

(8)掉电保护功能。

DS18B20内部有EEPROM,在系统掉电以后,它仍可保存分辨率及报警温度的设定值。

DS18B20具有体积小,适用电压更宽,更经济,可选更小的封装方式,更宽的电压适用范围,适合构建自己的经济的测温系统,因此也就设计者们所青睐。

所以我们通过比较选择方案二。

2.3发射接收模块的法案选择

方案一:

用红外发射管发射红外线,在主机发送命令时,使红外发射管发射红外线,接收端用光敏二极管接收红外线,传输距离很短,并且为直线传输两个管之间不能有障碍物误差比较大。

有局限性。

方案二:

用PT2262进行编码,通过无线发射装置进行发射。

接收端用无线接收装置接收,PT2272进行解码。

PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17号脚串行输出,可用于无线遥控发射电路。

接收与发射很稳定且传输距离很远,所以我们通过比较选择方案二。

第3章功能与指标

3.1主机部分

主要实现时间显示与设定、温度显示、温度报警、无线发射等。

用一个拨动开关控制温度和时间显示,显示时间为小时和分钟,通过两个开关实现对时间的调节,一个开关用来移位,另一个开关用来加。

简单方便的进行调时,在小时的高位为2时,低位只能调为0、1、2、3,为1时,低位可以为0至9。

分钟的高位自能为0至5,低位为0至9。

温度显示为两位。

在温度低于设定温度时黄灯亮并且伴随报警,高于设定值时红灯亮并伴随报警,正常值时绿灯亮。

在温度不在正常值时通过PT2262编码发送命令到从机,通过从机再执行动作。

无线发射装置保守的可以传输10米以上。

3.2从机部分

主要实现单片机检测信号,在主机发送命令后,通过无线接收装置接收信后再经过PT2272进行译码传送给单片机,再由单片机执行命令,传送过来不同的命令执行不同,主要是控制步进电机的转速。

高温设为3个档位,第档一、第档二、第档三。

在温度超过第档一时主机向从机发送命令一,从机接收后使步进电机以低转速运行,同时从机绿灯亮。

温度超过第档二时主机向从机发送命令二,从机接收后使步进电机以中转速运行,同时从机黄灯亮。

温度超过第档三时主机向从机发送命令三,从机接收后使步进电机以高速运行,同时从机红灯亮。

第4章实现原理

4.1时间显示与调时

这部分是以DS1302时钟芯片为核心,把时间数据传给单片机再显示出去,还兼有调时的功能。

4.1.1DS1302简介

DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。

实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。

工作电压宽达2.5~5.5V。

采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行很小电流充电的能力。

DS1302的外部引脚分配如图4.1.1所示及内部结构如图4.1.2所示。

DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与出现该数据的时间同时记录,因此广泛应用于测量系统中。

图4.1.1

图4.1.2

各引脚的功能为:

Vcc1:

主电源;Vcc2:

备份电源。

当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2

SCLK:

串行时钟,输入,控制数据的输入与输出;

I/O:

三线接口时的双向数据线;

CE:

输入信号,在读、写数据期间,必须为高。

该引脚有两个功能:

第一,CE开始控制字访问移位寄存器的控制逻辑;其次,CE提供结束单字节或多字节数据传输的方法。

DS1302有下列几组寄存器:

DS1302①有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h~8Dh,写时80h~8Ch),存放的数据格式为BCD码形式,如图4.1.3所示。

图4.1.3DS1302有关日历、时间的寄存器

DS1302的控制字:

控制字的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。

位6:

如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;

位5至位1(A4~A0):

指示操作单元的地址;

位0(最低有效位):

如为0,表示要进行写操作,为1表示进行读操作。

控制字总是从最低位开始输出。

在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。

同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。

图4.1.4数据读写时序

4.1.2显示部分

单片机采集DS1302的数据后经过74LS48后送到4位数码管上

74LS48是常用的七段数码管译码器驱动器。

74LS48引脚图

引出端符号A-D

译码􀨄􀨔输入端BI/RBO消隐输入(低电平有效)/脉冲消隐输出(低电平有效)

LT灯测试输入端(低电平有效)

RBI脉冲消隐输入端(低电平有效)

Ya-Yg段输出

功能表如图4.1.5

:

图4.1.5

4.1.3调时部分

通过2个开关进行对时间的调节,一个开关控制移位,另一个开关控制加时间,简单方便。

4.2温度显示

通过DS18B20采集温度,传送给单片机,再由单片机送到显示部分。

4.2.1DS18B20简介

温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。

超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。

对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的最好选择。

了解其工作原理和应用可以拓宽您对单片机开发的思路。

1)DS18B20的主要特征:

全数字温度转换及输出。

先进的单总线数据通信。

最高12位分辨率,精度可达土0.5摄氏度。

可选择寄生工作方式。

检测温度范围为–55°C~+125°C(–67°F~+257°F)

内置EEPROM,限温报警功能。

64位光刻ROM,内置产品序列号,方便多机挂接。

多样封装形式,适应不同硬件系统。

2)DS18B20引脚功能:

GND电压地·DQ单数据总线·VDD电源电压·NC空引脚

3)DS18B20工作原理及应用:

DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。

其一个工作周期可分为两个部分,即温度检测和数据处理。

在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。

18B20共有三种形态的存储器资源,它们分别是:

ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。

数据在出产时设置不由用户更改。

DS18B20共64位ROM。

RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。

第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。

在上电复位时其值将被刷新。

第5个字节则是用户第3个EEPROM的镜像。

第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。

第9个字节为前8个字节的CRC码。

EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。

我们在每一次读温度之前都必须进行复杂的且精准时序的处理,因为DS18B20的硬件简单结果就会导致软件的巨大开消,也是尽力减少有形资产转化为无形资产的投入,是一种较好的节约之道。

控制器对18B20操作流程:

复位:

首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。

当18B20接到此复位信号后则会在15~60uS后回发一个芯片的存在脉冲。

存在脉冲:

在复位电平结束之后,控制器应该将数据单总线拉高,以便于在15~60uS后接收存在脉冲,存在脉冲为一个60~240uS的低电平信号。

至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。

如果复位时低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。

4)控制器发送ROM指令:

双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。

ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。

其主要目的是为了分辨一条总线上挂接的多个器件并作处理。

诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:

此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。

ROM指令在下文有详细的介绍。

控制器发送存储器操作指令:

在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。

操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。

存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。

执行或数据读写:

一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。

如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。

如执行数据读写指令则需要严格遵循18B20的读写时序来操作。

数据的读写方法将有下文有详细介绍。

若要读出当前的温度数据我们需要执行两次工作周期,第一个周期为复位、跳过ROM指令、执行温度转换存储器操作指令、等待500uS温度转换时间。

紧接着执行第二个周期为复位、跳过ROM指令、执行读RAM的存储器操作指令、读数据(最多为9个字节,中途可停止,只读简单温度值则读前2个字节即可)。

其它的操作流程也大同小异,在此不多介绍。

DS18B20只需要接到控制器(单片机)的一个I/O口上,由于单总线为开漏所以需要外接一个4.7K的上拉电阻。

如要采用寄生工作方式,只要将VDD电源引脚与单总线并联即可。

但在程序设计中,寄生工作方式将会对总线的状态有一些特殊的要求。

DS28B20芯片ROM指令表:

ReadROM(读ROM)[33H](方括号中的为16进制的命令字)

这个命令允许总线控制器读到DS18B20的64位ROM。

只有当总线上只存在一个DS18B20的时候才可以使用此指令,如果挂接不只一个,当通信时将会发生数据冲突。

MatchROM(指定匹配芯片)[55H]

这个指令后面紧跟着由控制器发出了64位序列号,当总线上有多只DS18B20时,只有与控制发出的序列号相同的芯片才可以做出反应,其它芯片将等待下一次复位。

这条指令适应单芯片和多芯片挂接。

SkipROM(跳跃ROM指令)[CCH]

这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。

如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。

SearchROM(搜索芯片)[F0H]

在芯片初始化后,搜索指令允许总线上挂接多芯片时用排除法识别所有器件的64位ROM。

AlarmSearch(报警芯片搜索)[ECH]

在多芯片挂接的情况下,报警芯片搜索指令只对附合温度高于TH或小于TL报警条件的芯片做出反应。

只要芯片不掉电,报警状态将被保持,直到再一次测得温度什达不到报警条件为止。

DS28B20芯片存储器操作指令表:

WriteScratchpad(向RAM中写数据)[4EH]

这是向RAM中写入数据的指令,随后写入的两个字节的数据将会被存到地址2(报警RAM之TH)和地址3(报警RAM之TL)。

写入过程中可以用复位信号中止写入。

ReadScratchpad(从RAM中读数据)[BEH]

此指令将从

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

当前位置:首页 > 高中教育 > 数学

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

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