基于单片机的温度报警器设计(方案).doc
《基于单片机的温度报警器设计(方案).doc》由会员分享,可在线阅读,更多相关《基于单片机的温度报警器设计(方案).doc(29页珍藏版)》请在三一办公上搜索。
1、天津滨海职业学院全日制高等职业教育毕业实践环节毕业设计(典型性项目)说明书 基于单片机的温度报警器设计(方案) 作者:李佳璐 院系:天津滨海职业学院机电工程系 专业:电子信息工程技术 年级:2012级 学号:20120012113 指导教师: 时间:2015年4月 主要内容简介在农业生产中,温室的温度很难把握。往往超过或低于允许值,致使大批良种的报废,耽误农时,影响生产。这就需要设计一个温度报警器,在环境温度超过一定范围时报警,来提醒使用者。 基于以上背景设计基于单片机的温度报警器。本设计采用ATMEL公司的ATmega16单片机为硬件核心系统,添加数码管、按键和温度传感器芯片,组成完整的硬件
2、系统。采用C语言为编程语言,进行系统的软件系统开发。通过本系统硬件、软件部分设计完成如下目标:1、完成系统的硬件部分设计,硬件部分包括电源、显示、按键、温度接口、报警触发等部分设计。在此基础上保证软件功能实现。2、温度报警器可以通过按键方便设定报警范围。3、温度报警器通过数码管显示实时显示测量的环境温度。当环境温度温度超出设定范围时,启动报警。本设计硬件制作方便,通过C语言程序实现软件设计,可移植性强,能够精准的对环境进行温度测量并显示,实用性强。关键字:M16;18B20;温度控制;C语言 目录一、绪论4(一)研究背景与现状4(二)设计内容及要求4二、关键技术简介5三、M16单片机概述6(一
3、)ATmega16的主要性能6(二)M16的基本组成及引脚6(三)M16的引脚基本功能6(四)外部晶体振荡器8四、温度传感器18B20介绍8(一)温度传感器18B20的特性8(二)温度传感器18B20的基本组成,见下图4所示。9(三)温度传感器18B20的测温操作10五、硬件设计12(一)硬件电路设计12(二)电源和复位电路设计13(三) 输入、输出部分设计14(四)驱动部分设计15六、软件设计15(一)显示部分设计15(二)按键检测设计21(三)1wire 是一种通讯协议实现23(四)软件总体设计28一、绪论(一)研究背景与现状1在农业生产中,温室的温度很难把握。往往超过或低于允许值,致使大
4、批良种的报废,耽误农时,影响生产。日常生活中,经常要用到高功率电器,但是高功率电器的发热量大,有时候可能引起火灾。等等之类的情况,这就需要一个温度报警器在环境温度超过一定范围时报警,来提醒使用者。经过试用和改进,温度报警器可适用于变压器超温报警、环境温度监测、配电柜温度监测及风扇自动控制、机房、仓库、鱼塘、蔬菜大棚温度监测及报警等等。2温度控制器目前普遍采用的几种方法:方案一:采用单总线的DS1820的温度传感器的控制仪。方案二:采用集温湿度传感器于一体的SHT11芯片为主要芯片的控制仪。虽然SHT11是瑞士Sensiri-on公司生产的具有二线串行接口的单片全校准数字式新型相对湿度和温度传感
5、器,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。但是本设计只对温度控制,设计原理简单,基于经济效益的考虑此次选择传统的模拟式温度度传感器既方案一。(二)设计内容及要求1本温度报警器为超温报警,及高于选定的高温或低于选定的低温均预报警,也就是说温度超过某个选定的温度范围则报警,温度在这个范围内则不报警。外观如图1所示:.图1 设计外观图2使用方法:打开电源开关然后按如下操作:打开电源开关然后按如下操作:(1)下限设置:按下“SET”,进入温度上限设置,数字闪烁,同时左第1位最上面显示一横,表示上限设置,按一次“”温度值加0.1摄氏度,按一次“”
6、,温度值减小0.1摄氏度,设置好上限;这时再按“SET”一次,进入下限温度设置,数字闪烁,同时左第1位最下面显示一横,表示是下限设置,按一次“”温度值加0.1摄氏度,按一次,温度值减小0.1摄氏度,设置好下限,再按一次“SET”,退出上下限设置,并把设置好的上下限参数保存到EEPROM中(2)负载载控制开关控制:有时不需要控制负载,就是待机状态,在工作状态下,按下WAIT,下面的数码管会关显示,什么也不显示,表示不控制负载,这时再按下WAIT,又回到工作状态,设置状态也保存EEPROM中,交替显示所设定的温度上下限值。二、关键技术简介1 单片机的技术的背景状况单片机是靠程序的,并且可以修改。通
7、过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板,但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。2目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,
8、民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。三、M16单片机概述(一)ATmega16的主要性能1、先进的、高性能的的8位CPU内核结构:1)耗先进的RISC(精简指令集计算机)结构;2)高速度,低功耗的新8位中央处理器;2、非易失性程序和数据存储器:3、丰富的核外功能资源电路:完善的串、并、及JTAG(联合测试行动组) 接口。4、电压范围宽、功率消耗低、时钟频率灵活。5、极高的性价比和适于高级语言开发;(二)M16的基本组成及引脚M16的基本组成及引脚配置,见下图2所示。图
9、2 M16的组成结构图(三)M16的引脚基本功能1、VCC:数字电路电源(+5V)2、GND:地(0V)3、端口A(PA7PA0)端口A为8位双向I/O口,也是A/D转换器的模拟输入端。具有可编程的内部上拉电阻。其输出缓冲器可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。4、端口B(PB7.PB0)为8位双向I/O口,具有可编程的内部上拉电阻。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。5、端口C(PC7.PC0)为8位双向I/O口,具有可编程的内部上拉电阻。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在
10、复位过程中,即使系统时钟还未起振,端口C也处于高阻状态6、端口D(PD7.PD0)为8位双向I/O口,具有可编程的内部上拉电阻。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。7、RESET:复位输入引脚。8、XTAL1:反相振荡放大器与片内时钟操作电路的输入端。9、XTAL2:反相振荡放大器的输出端9、XTAL2:反相振荡放大器的输出端。10、AVCC:端口A与A/D转换器的电源。11、AREF:A/D的模拟基准电压输入引脚。(1)ATmega16所有的I/O端口及外围设备都被放置于I/O专用空间。所有的I/O寄存器都可以通过IN与OUT指令来访问,在32个通用工作寄存
11、器和I/O之间传输数据。地址为0x00-0x1F的前32个I/O寄存器还可用SBI和CBI指令直接进行位寻址,而SBIS和SBIC则用来检查某一位的值。(2)M16系统内可编程的Flash程序存储器:ATmega16具有16K字节(8K字0000-1FFF)的在线编程Flash,用于存放程序指令代码。其结构具有两个主要的存储器空间:应用程序存储空间和引导程序存储空间。两个空间通过对应锁定位来选择,引导区程序可用SPM指令再应用修改(四) 外部晶体振荡器外部晶体振荡器接线图,如下图3所示。图3 外部晶体振荡器四、温度传感器18B20介绍(一)温度传感器18B20的特性1.DS18B20可以程序设
12、定912位分辨率可调,适用电压为3V5V,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。TO-92、SOIC及CSP封装可选,经济型版本无EEPROM合自己的经济的测温系统。2.继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和
13、DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。(二)温度传感器18B20的基本组成,见下图4所示。图4 温度传感器DS1820数字温度计以9位数字量的形式反映器件的温度值。DS1820通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。因为每个DS1820都有一个独特的片序列号,所以多只DS1820可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用
14、。1.引脚说明16脚SSOPPR35符号说明82DQ数据输入/输出脚。对单线操作:漏极开路73 VDD可选的VDD引脚。DS1820S(16脚SSOP):所有上表中没提到的脚均接地 DS1820的主要部件模块图5 DS1820的主要部件模块图5的方框图示出了DS1820的主要部件。DS1820有三个主要数字部件:1)64位激光ROM,2)温度传感器,3)非易失性温度报警触发器TH和TL。器件用如下方式从单线通讯线上汲取能量:在信号线处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。DS1820也可用外部5V电源供电。(三)
15、温度传感器18B20的测温操作DS1820通过一种片上温度测量技术来测量温度。图6示出了温度测量电路的方框图。 图6 温度测量电路图DS1820是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55)的值增加,表明所测温度大于-55。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿
16、感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的的值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。DS1820内部对此计算的结果可提供0.5的分辨力。温度以16bit带符号位扩展的二进制补码形式读出,表1给出了温度值和输出数据的关系。数据通过单线接口以串行方式传输。DS1820测温范围-55+125,以0.5递增。如用于华氏温度,必须要用一个转换因子查找表。意DS1820内温度表示值为1/2LSB。最高有效(符号)位被复制充满存储器中两字节温度寄存器的高MSB位,由这种“符号位扩展”产生出了示于表1的1
17、6bit温度读数。可用下述方法获得更高的分辨力。首先,读取温度值,将0.5位(LSB)从读取的值中截去,这个值叫做TEMP_READ。然后读取计数器中剩余的值,这个值是门周期结束后保留下来的值(COUNT_REMAIN)。最后,我们用到在这个温度下每度的计数值(COUNT_PER_C)。用户可以用下面的公式计算实际温度值:TEMPEATURE=TEMP_READ-0.25=(COUNT_PER_C-COUNT_REMAIN)/COUNT_PER_CDS18B20的使用:CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B
18、20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。 DS18B20常用控制命令,如表4-1所示。表1 DS18B20 控制命令表指 令 约定代码 操 作 说 明 温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RA
19、MB8H 把E2RAM中的TH、TL字节写到暂存器TH字节 读电源供电方式B4H 启动DS18B20发送电源供电方式的信号给主CPU 五、硬件设计(一)硬件电路设计系统设计包括硬件系统、软件系统两部分组成,系统硬件电路如图5-1所示。硬件系统设计由电源、复位、按键、传感器接口、报警驱动、显示等部分组成。它们可以分成三类:1)电源、复位:复位、按键部分2)输入输出:按键、显示部分3)驱动:传感器接口、报警驱动部分图7 系统硬件原理图(1)(二)电源和复位电路设计系统采用交流供电,系统经过外接12V交流变压器,将市电变成12V交流电。系统经过全波整流将交流电变成直流电,一部分整流后直流电通过直流稳
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 报警器 设计 方案
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4148681.html