基于单片机的温度采集报警系统的设计摘要:设计了一种基于单片机at89s51和ds18b20温度传感器的温度采集报警系统。
该系统性能可靠,结构简单,能实现安全温度内正常显示温度值,超出设定的温度上限则进行声光报警。
关键词:单片机;温度检测;报警
中图分类号:tp311.52文献标识码:a文章编号:1007-9599 (2011) 23-0000-03
temperature acquisition alarm system design based mcu wang rongrong,liu haixia
(inner mongolia technical college of mechanics and electrics,huhhot010070,china)
abstract:it designs a microcontroller based on at89s51 and ds18b20 temperature sensor temperature collection and alarm system.the system has reliable performance,simple structure,can achieve safe temperature within a normal display temperature exceeds the set temperature,upper limit,sound and light alarm.
keywords:mcu;temperature detection;alarm
一、系统设计
基本工作原理
如图1所示为温度采集报警系统框图。
该设计将以单片机控制的温度采集系统为主,利用单片机完成对温度的检测,实现安全温
度内正常显示温度值,超出设定的温度上限则进行声光报警。
系统在温度采集时主要应用了ds18b20芯片,该器件经过初始化后单片机首先进行rom匹配,当受到测温器件发回的信号时证明该器件正常工作,接着单片机发送温度转换命令进行温度采集,测温的精确度很高,可以精确到小数点后四位。
设计中还应用了
hd7279芯片进行数码管显示的驱动,一共应用了6位数码管。
图1 温度采集报警系统框图
二、硬件设计
(一)测温和控制电路
1.测温
测温使用的ds18b20是典型的应用单总线技术的器件。
顾名思义,单总线只有一根数据线。
设备(主机或从机)通过一个漏极开路或三态端口,连接至该数据线,这样允许设备在不发送数据时释放数据总线,以便总线被其它设备所使用。
ds18b20温度传感器是美国dallas半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
ds18b20采用3脚pr-35封装或8脚soic封装,其内部结构框图如图2所示。
图2 ds18b20内部结构框图
ds18b20的测温原理是这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数
器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。
器件中还有一个计数门,当计数门打开时,ds18b20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。
其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。
单总线要求外接一个约5k的上拉电阻;这样,单总线的闲置状态为高电平。
不管什么原因,如果传输过程需要暂时挂起,且要求传输过程还能够继续的话,则总线必须处于空闲状态。
位传输之间的恢复时间没有限制,只要总线在恢复期间处于空闲状态(高电平)。
如果总线保持低电平超过480μs,总线上的所有器件将复位。
另外,在寄生方式供电时,为了保证单总线器件在某些工作状态下(如温度转换期间、eeprom写入等)具有足够的电源电流,必须在总线上提供强上拉[1]。
主机控制ds18b02完成温度转换必须经过三个步骤:初始化、rom操作指令、存储器操作指令。
必须先启动ds18b02开始转换,再读出温度转换值。
本系统仅挂接一个芯片,在软件设计中使用默认的12位转换精度,外接供电电源,读取的温度值高位字节送单元,低位字节送wdlsb单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。
2.控制
at89s51是美国atmel公司生产的低电压、高性能cmos8位单片机;片内含有4k字节的可反复擦写的只读程序存储器(eprom)和128字节的随机存取数据存储器(ram);器件采用amtel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统;片内置通用2位中央处理器(cpu)和flash存储单元,功能强大的
at89s51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图3 测温和控制电路
(二)显示控制电路
hd7279a是一片具有串行接口的,可同时驱动8位共阴式数码管(或64个led点阵)的智能显示驱动芯片,该芯片同时还可连接多达64键的键盘矩阵。
该芯片内部含有译码器,可直接接受16进制码,hd7279a还同时具有2种译码方式,hd7279(a)还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。
hd7279与单片机仅需4条接口线,其中cs为片选信号。
当mcu访问hd7279时,应将
片选端置为低电平。
data为串行数据/输出端,当向hd7279发送数据时,data为输入端;当hd7279a输出键盘代码时,data为输出端。
其特点为:
-串行接口,无需外围元件可直接驱动led
-各位独立控制译码/不译码及消隐和闪烁属性
-(循环)左移/(循环)右移指令
-具有段寻址指令,方便控制独立led
-64键键盘控制器,内含去抖动电路
-有dip和soic两种封装形式供选择
显示控制电路如图4所示:
图4显示控制电路
(三)声光报警电路
1.发光二极管报警电路的设计
由4个发光二极管接上电阻后连上单片的rxd的引脚,外接vcc,当单片机的rxd引脚被置低电平后,发光二极管被点亮,起到报警作用。
图5所示为发光二极管报警电路。
图5 发光二极管报警电路图
2.声音报警电路的设计
如下图所示,用一个speaker和三极管、电阻接到单片机的txd 引脚上,构成声音报警电路,如图6示为声音报警电路。
图6 声音报警电路图
三、软件设计
该设计中主要利用了ds18b20芯片进行测温,该芯片是单总线器件,顾名思义单总线只有一根数据线,因此在通信时时序就显得十分重要,我们在编程时也要十分注意这一点。
在程序中测温时首先要对ds18b20进行初始化,初始化过程由单片机发出的复位脉冲和芯片响应的应答脉冲组成,应答脉冲使主机知道,总线上有从机设备,且准备就绪。
由于总线上只挂接了一片测温芯片,因此可直接跳过rom匹配发出测温命令。
该设计可实时显示温度值,便于连续观测。
软件流程图如下所示:
图7 软件流程图
四、总结
本设计研究了一种基于单片机技术的温度采集报警系统。
该系统通过以at89s51单片机为工作处理器核心,利用了ds18b20芯片进行测温,当温度超出设定范围时,单片机输出控制信号,驱动声光报警电路开始报警。
该系统操作简单、易懂、智能性高、误报率低,设计后的系统具有操作方便,控制灵活等优点。
参考文献:
[1]吴政江.单片机控制红外线防盗报警器[j].锦州师范学院学报,2001
[2]宋文绪.传感器与检测技术[m].北京:高等教育出版社,2004
[3]余锡存.单片机原理及接口技术[m].西安:西安电子科技大学出版社,2000
[4]唐桃波,陈玉林.基于at89c51的智能无线安防报警器[j].电
子设计应用,2003,5(6):49-51
[5]李全利.单片机原理及接口技术[m].北京:北京航空航天大
学出版社,2004
[6]薛均义,张彦斌.mcs-51系列单片微型计算机及其应用[m].
西安:西安交通大学出版社,2005
[7]徐爱钧,彭秀华.单片机高级语言c51应用程序设计[m].北京:北京航空航天大学出版社,2006
[8]康华光.电子技术基础(模拟部分)[m].北京:高等教育出版社,2004
[9]李朝青.单片机原理及接口技术(简明修订版)[m].杭州:北京航空航天大学出版社,1998
[10]李广弟.单片机基础[m].北京:北京航空航天大学出版
社,1994
[11]阎石.数字电子技术基础(第三版)[m].北京:高等教育出版社,1989
[12]廖常初.现场总线概述[j].电工技术,1999
[作者简介]王熔熔,副教授,内蒙古机电职业技术学院信息与管理工程系副主任,宣传部副部长;刘海霞(1965.3-),女,内蒙古呼和浩特市人.内蒙古机电职业技术学院副教授,硕士研究生,研究方向:控制理论与控制工程。