基于51单片机的数字温度报警器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:随着传感器在生产生活中更加广泛的应用,一种新型的数字式温度传感器实现对温度的测试与控制得到了更快的开发。本文设计了一种基于单片机AT89C52的温度检测及报警系统。该系统将温度传感器DS18B20接到单片机的一个端口上,单片机对温度传感器进行循环采集。将采集到的温度值与设定的上下限进行比较,当超出设定范围的上下限时,通过单片机控制的报警电路就会发出报警信号,从而实现了本次课程设计的要求。该系统设计和布线简单、结构紧凑、体积小、重量轻、抗干扰能力较强、性价比高、扩展方便,在工农业等领域的温度检测中有广阔的应用前景。本次课程设计的测量范围为0℃--99℃,测量误差为±2℃。

关键字:温度传感器、单片机、报警、数码管显示

一、概述

本次设计可以应用到许多我们用过的软件设计,将前面所学的知识融汇在一起实现温度监测及其报警的功能,来提醒农民当前大棚内温度是否适合农作物的生长。

电子技术是在十九世纪末、二十世纪初开始发展起来的新兴技术,在二十世纪发展最迅速,应用最广泛,成为近代科学技术发展的一个重要标志。

随着电子技术的飞速发展,电子技术在日常生活中得到了广泛的应用,各类转换电路的不断推出以及电子产品的快速更新,电子技术已成为世界发展和人们生活中必不可少的工具。

本次课设应用Protues软件设计一个温度检测报警系统,用温度传感器DS18B20采集大棚内的温度,当大棚内的温度高于30℃。或低于15℃。时,电路发出报警信号并显示当前温度,达到提醒农民的效果。

本次课设要求设计一个温度监测报警显示电路,要求温度范围:0℃--99℃;测量误差为±2℃;报警下限温度为:15℃;报警上限温度为:30℃。

二、方案论证

设计一个用于温室大棚温度监测系统。大棚农作物生长时,其温度不能太低,也不能太高,太低或太高均不适合农作物生长。该系统可实时测量、显示大棚的温度,当大棚温度超过农作物生长的温度范围时,报警提醒农民。

方案一:

方案一原理框图如图1所示。

图1 大棚温度检测系统的原理框图

方案二:

方案二原理框图如图2所示。

图2 方案二原理框图

本设计采用方案二,设计电路较为简单不复杂且硬件实现及调试比方案一理想,比较容易实现,性价比较高。

三、电路设计

1.单片机最小系统的设计

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM 、只读存储器ROM 、多种I/O 口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。本次课程设计中选用AT89C52式单片机,其最小系统主要由电复位、振荡电路组成。单片机的最小系统如图3所示。

单片机的复位电路原理是在单片机的复位引脚RST 上电阻和电容,实现上电复位。当

复位电平持续两个时钟周期以上时复位有效。复位电路由按键复位和上电复位两部分组成,上电复位是在复位引脚上连接一个电容到VCC ,再连接一个电阻到GND ;按键复位是在复位电容上并联一个开关,当开关按下时电容被放电、RST 也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。

AT89C51单片机使用12MHZ 的晶振最为振荡源,由于单片机内部有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容一般在15pF 至50pF 之间。外部晶振结合单片机内部电路产生单片机所需的时钟频率。

图3 单片机最小系统

2.温度采集电路的设计

温度采集电路部分,采用数字温度传感器DS18B20进行温度采集。DS18B20是DALLAS 公司生产的一线式数字温度传感器,具有3个引脚;温度侧量范围为-55℃—+125℃,测量精度为0.5℃;被测温度用符号扩展的16位数字量方式串行输出;CPU只需用一个端口线就可以与DS18B20通信。温度采集电路如图4所示。

图4 温度采集电路

3.LED显示报警电路的设计

LED数码管与单片机的P0口相连,单片机将采集到的温度值转化为与数码管对应的数据,通过P0口输出显示。即信号通过译码管的端口a、b、c、d、e、f、g 、dp 端来控制每段译码管的亮灭与否,同时通过端口1、2、3、4 四个端口来控制四个译码管。在本次设计中,用集成芯片74HC245驱动数码管。同时当采集到的温度值超过所设置的范围时,单片机会输出一信号,通过三极管放大后驱动蜂鸣器发出报警信号。LED数码管报警电路如图5所示。

图5 LED显示报警电路

四、程序流程

1.主程序流程图

主程序中对单片机做了初始化的设计,包含温度的读取、数码管显示、报警三个子系统,运行时由主程序先调用DS18B20读取温度的子函数进行温度采集,再将数据送入数码管显示。同时判断所采集的数据是否超出所设置的温度范围。如果超出,调用报警子系统;

未超出,程序自动返回。主程序流程图如图6所示。

图6 主程序流程图

2.DS18B20读取温度流程图

根据DS18B200的通讯协议,单片机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作(复位要求主CPU将数据线下拉500微秒然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功)。DS18B20读取温度时先读取温度低字节,在读取温度高字节。程序中命令0xCC:跳过读序号列号的操作;命令0x44:启动温度转换;命令0xBE:读取温度寄存器等,前两个字节就是温度。后面的寄存器省略不读。DS18B20读取温度流程图如图7所示。

图7 DS18B20读取温度流程图

3.译码显示流程图。

译码显示程序中,要先将初始标识清除。将温度的个位送至低位数码管显示,清除标志再将温度值的高位送到高位数码管显示。之后延时,清除标志返回继续显示下一数据。译码显示流程图如图8所示。

相关文档
最新文档