APP下载

基于AT89S52单片机的数字温度报警器实现

2017-01-05魏光杏

关键词:数码管滁州报警器

李 华,魏光杏

(滁州职业技术学院 信息工程系,安徽 滁州 239000)

基于AT89S52单片机的数字温度报警器实现

李 华,魏光杏

(滁州职业技术学院 信息工程系,安徽 滁州 239000)

设计了一种基于AT89S52单片机和DS18B20温度传感器的数字温度报警器,该报警器可以对温度进行采集和显示,并可以设定上下限报警温度.该数字报警器具有精确度高、测量广、灵敏度高、体积小、功耗低等特点.经实验结果表明,对温度的采集和显示效果较好,对高低温的报警较灵敏,在工农业生产中具有一定的应用前景.

温度显示;温度传感器;AT89S52单片机

在日常生活、工业生产中,关注温度的变化显得尤其重要.不同的温度条件下电子器件和机械部件的特征是不同的,需要时刻关注着这些温度,以及了解电子器件和机械部件的实时状态.如今人们生活水平一日高于一日,人们对数字温度报警器的要求也愈来愈高,经常处于测量采集温度信息、处理温度信息、发出相关信息去控制其他功能模块,这就需要数字化控制、智能化控制.本文所实现的数字温度报警器,能够准确测温,方便读数,测量温度范围值较大,并且数字化显示所输出的温度,应用前景广阔.

1 系统设计要求及硬件平台

1.1 系统设计要求

图1 数字报警器硬件框图

数字温度报警器采用AT89S52型单片机作为主控制器件,选用DS18B20作为测温传感器器件,通过3个共阳极数码管实现显示被检测温度值,直接通过DS18B20测温传感器元件获取所测温度,从而进行数据转换,能通过按键设定来控制温度报警的上下限值,环境温度超出设定范围时,驱动蜂鸣器发出提示音,发光二极管红色闪烁.系统结构图如图1所示,硬件原理图如图2所示.

1.2 AT89S52单片机

AT89S52单片机是由ATMEL公司的高密度非易失性存储器技术制造,完全兼容80C51单片机指令集.AT89S52微控制器的Flash存储器容量达到8 KB,具有高性能、低功耗特点.在单芯片上,拥有的处理器和可编程的8 KB存储器,被大量的嵌入式控制应用系统所使用,有效的解决控制系统应用方案.另外AT89S52还具有32位的输入输出口线,看门狗定时器,2个数据指针,3个16位定时器/计数器等标准功能.

图2 硬件设计图

1.3 DS18B20测温传感器

DS18B20是常用的温度传感器,抗干扰能力强,提供方便的接口,体积较小,获得温度精确度高.主要特点有:

(1)适合3.0~5.5 V范围的电压,使用更经济;

(2)可直接利用串口或其他输入输出接口与外界设备相连;

(3)芯片内部高度集成了数模转换电路以及温度传感器元器件;

(4)对测出温度的范围较大,最高与最低温度差可达到180 ℃.

(5)温度值的数模转换速度快,可达到90 ms内转换成功;

2 系统软件实现

2.1 主程序流程框图

主程序流程主要包括:设定初始值、读取温度值、数码管显示温度值、判断温度限值以及报警等几个分支,主程序流程框架图如图3所示.

图3 主程序流程框图

2.2 读ds18b20的温度值函数readtmpds18B20()

/***************************************

*入口:温度数组te[2],te[1]为温度的小数部分,te[0]为温度的整数部分

***************************************/

void readtmpds18B20()

{

uchar temL,temH,tmp;

initds18B20();

writebyteds18B20(0xCC);

writebyteds18B20(0x44);

delay(300);

initds18B20();

writebyteds18B20(0xCC);

writebyteds18B20(0xBE);

temL=readbyteds18B20(); ∥温度低八位

temH=readbyte18B20();∥温度高八位

if((temH&0xf8)!=0x00)

{

temL=~temL;

temH=~temH;

tmp=temL+1;

temL=tmp;

if(tmp>255)

temH++;

}

EA=1;∥开总中断,开显示,防止读写18b20后关闭显示,导致数码管不能显示

te =(((temL>>4)|(( temH<<4) & 0x70))*10)+df_Table[temL & 0x0F];∥整数部分*10+小数部分得到温度值的10倍

}

2.3 数码管显示函数show()

voidshow(uint t)

{

C0=0; ∥ 第一位数码管使能

P0=a[t/100];∥显示温度的十位

delay(2);∥延时

C0=1;

P0=0xff;∥消隐

C1=0;

P0=a[(t/10)%10];∥显示温度值的个位

port=0; ∥显示小数点

delay(2);

C1=1;

port=1;

P0=0xff;

C2=0;

P0=a[t%10]; ∥显示温度值的小数

delay(2);

C2=1;

P0=0xff;

}

3 实验现象及分析

3.1 编译链接预处理

在编写代码的KEIL软件中单击“Project”菜单,在弹出的菜单中选择“Build target”进行源代码编译,在没出现错误并且没出现警告的情况下,生成HEX可执行文件,就完成了使用KEIL软件将C语言程序编译生成单片机可以执行的文件(hex文件)的所有工作.接着把该生成的hex文件导入进来,进行仿真测试.

3.2 仿真测试

(1)在正常温度下,仿真结果如图4所示.

(2)在低温报警下,仿真结果如图5所示.

(3)在高温报警下,仿真结果如图6所示.

图4 正常温度仿真结果图

图5 低温报警仿真结果图

图6 高温报警仿真结果图

4 结语

本文给出了基于AT89S52单片机的数字温度报警器的一种设计方案,该数字报警器使用的是测温传感器DS18B20硬件设备对温度进行采集,处理后通过数码管显示,显示效果及对高低温的报警灵敏度较好,并且可以通过开关设定的温度上下限值来报警.该报警器使用起来具有精确度高、测量广、灵敏度高、体积小、功耗低等特点,可用于日常生活和工农业生产中的温度测量,具有一定的实际意义.

[1] 侯玉宝.基于Proteus的51系列单片机设计与仿真[M].北京:电子工业出版社,2008.

[2] 杨振江,冯军.单片机原理与实践指导[M].西安:西安电子科技大学出版社,2008.

[3] 楼然苗,李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2008.

[4] 于晓东.80C51单片机原理、开发与应用实例[M].北京:中国电力出版社,2008.

[5] 卜锡滨.电路与模拟电子技术[M].北京:人民邮电出版社,2009.

[责任编辑 王新奇]

Realization of Digital Temperature AlarmBased on AT89S52 Single Chip Microcomputer

LI Hua, WEI Guang-xing

(Department of Information Engineering, ChuZhou Vocational and Technology College, ChuZhou 239000, China)

In this paper, a digital temperature alarm based on AT89S52 single chip microcomputer and DS18B20 temperature sensor is designed. It can capture and display the temperature, and may set the upper and lower temperature alarm. The features of the digital temperature alarm are high accuracy, wide measurement, high sensitivity, small size, low power consumption and so on. The experimental results show that the quality of temperature acquisition and display is much better and the high and low temperature alarm is more sensitive. It has certain application prospect in industrial and agricultural production.

temperature display; temperature sensor; AT89S52 single chip microcomputer

1008-5564(2016)06-0030-05

2016-06-25

安徽省质量工程建设项目(20101425);安徽省高校自然科学重点项目(KJ2015A402)

李 华(1973—),女,安徽宿州人,滁州职业技术学院信息工程系讲师,主要从事计算机应用研究.

TP399

A

猜你喜欢

数码管滁州报警器
《滁州西涧》(草书)
微课教学设计之“数码管动态显示”
陆黛灵书法作品
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
自制下雨报警器
防火防盗报警器设计
基于无线通信的入侵报警器设计
录唐·韦应物诗《滁州西涧》(草书)