APP下载

基于单片机、温度传感器的温度智能控制系统的设计

2011-04-27西安工程大学电信学院刘晓春

电子世界 2011年9期
关键词:数码管温度传感器键盘

西安工程大学电信学院 刘晓春

引言

水温测量模块用于测量器皿中水的温度。系统需要利用测温传感器检测出水的实时温度,是控制模块做出正确的反应,控制水的温度,对于测温传感器本文选择DS18B20单总线可编程温度传感器,来实现对温度的采集和转换,大大简化了电路的复杂度。控制器部分本文采用51系列的89C51作为系统的控制器。单片机算术运算功能强,软件编程灵活,自由度大,可用软件编程实现各种算法,并且具有功耗低,体积小,技术成熟,成本低廉等有点,使其在各个领域应用广泛。

1.系统的总体结构

系统总体结构分为:DS18B20模块,显示模块,继电器模块,键盘输入模块,DS18B20可以被编程,所以箭头是双向的,89C51首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过89C51来处理数据。数据处理后的结果就显示到数码管上,模块如图1所示。

图1 模块图

图2 系统各模块之间工作顺序

图3 DS18B20管脚图

图4 DS18B20模块的接口

图5 继电器接口模块

图6 总体流程图

本系统的执行方法是循环查询执行的,键盘扫描也是用循环查询的办法,由于本系统对实时性要求不是很高,所以没有用到中断方式来处理,系统模块如图2所示。

2.温度处理模块

2.1 温度传感器DS18B20

DS18B20与单片机的连接电路简单,如图5,与单片机的数据通信采用串行通信已完成其对温度信息的采集与转换。

DSl8B20的外观及引脚如图4,有3个引脚。VDD接电源,电压范围为3.0v~5.5V,它的供电方式有2种,一个是通过数据线供电,一个是加外电源。GND为接地线。DQ为数据线,通过小电阻与单片机连接,进行数据通讯。数据可输入亦可输出。

2.2 温度转换算法及分析

因为DS18B20的温度存储单元中的代码不是实际的摄氏温度值,所以读出的数据要进行转换处理,因为精度是0.0625,所以我们只需要将其转换成十进制再乘0.0625便可得到温度值。由于它可以测负温度,所以再进行换算时首先要判断是正温度还是负温度,存储单元的高五位的值决定了温度的正负,若全为1则是负温度反之则为正温度。低4位存放的是温度的小数部分,本设计采用精度为0.1℃,所以处理时将低四位乘0.0625后进行小数舍入保留一位。中间7位为温度的整数部分。

3.键盘模块

我们采用四个独立键盘,分别是:S1,S2,S3,S4。

4.继电器模块

图5是一个蜂鸣器和一个继电器的图,我们只用到了继电器的图,继电器和单片机的P1.3口进行通讯。继电器用于控制加热器的导通与关闭,其导通与关闭时间由单片机控制,从而维持水温的平衡。如图7所示,继电器与单片机的P3.7口连接,当P3.7口输出一个低电平的时候,继电器上电导通,开关打下,加热器件导通开始加热。

5.显示模块

显示模块采用动态显示数码管,我们用到前面四个数码管,P0口是送字符的,P2口是用来位选数码管的。

6.软件设计说明

本系统采用的是循环查询方式,来显示和控制温度的。总体流程图如6所示。

[1]江力.单片机原理与应用技术[M].清华大学出版社.

[2]王兆月,等编著.微型计算机接口技术[M].机械工业出版社.

[3]江晓安,等编著.数字电子技术[M].西安电子科技大学出版社.

[4]DS18B20官方文档[OL].DS18B20官方英文站点下载.

[5]宋悦孝.电子测量与仪器[M].电子工业出版社.

[6]文代琼.智能水温控制系统设计[J].宜宾学院学报,2007.

猜你喜欢

数码管温度传感器键盘
你知道手机拨号键盘上为什么要有*和#吗?
键盘猫
微课教学设计之“数码管动态显示”
Cлово месяца
ikbc R300机械键盘
Arduino编程
温度传感器DS18B20在温度计设计中的应用
MC9S08FL16单片机数码管静态显示分析
一种高性能CMOS温度传感器
单片机控制的四位数码管动态显示编程