基于单片机温度控制系统

2017-11-15 08:19田挺
东方教育 2017年18期
关键词:温度控制显示器键盘

田挺

摘要:随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。为了更好地推广单片机在实际生活和生产中的应用,本文介绍一种应用AT89C52单片机设计的温度控制系统。

该环境温度系统采用温度传感器DS18B20通过I2C总线通信来获得当前温度,并与从3X4矩阵键盘输入的温度值进行验证,系统自动控制升温或降温的操作,将温度稳定在所设定的温度值。

经实际制作表明该环境温度控制系统具有体积小、操作灵活、可靠性高、实用、成本低等特点,适合住宅和各类温室温度的控制,具有一定的实际意义。

关键词:单片机;键盘;稳定温度;显示器;温度控制

1. 系统功能的确定

一个控制系统是否能被大众所接受,在于该控制系统是否拥有人性化的操作功能。为了使本次设计的环境温度控制系统具有操作简单、灵活及高可靠性等特点,确定了该系统功能:

3x4矩阵键盘输入。

温度采集。

温度显示。

温度控制执行。

温度测量范围为0-99度,温度有效范围为2-98度,允许误差为1度。

2. 人机交互与串口通信

该热炉温度控制系统由温度采集、3x4矩阵键盘输入、温度显示、温度控制执行等四大模块组成。

温度采集:由温度传感器DS18B20完成,并通过串口通信技术与单片机进行数据传输,使用单片机P3.7端口。

3x4矩阵键盘输入:采用外部中断0来判断是否拥有输入请求,并通过键盘扫描技术来获取所输入的温度值和偏差温度值,输入更灵活、更方便,使用单片机P0口和P3.2端口。

温度显示:通过4个7段LED数码显示管显示当前温度值和设定的温度值,及时反应当前温度的变化与设置温度的关系,使用单片机P1.0~P1.5端口。

温度控制执行:系统根据当前温度与设置的温度自动进行相应的升温或降温的操作,在系统自动进行升温或降温处理的同时显示相应的指示灯,让使用者知道系统正在进行的操作,使用单片机P2.2~P2.3端口。

3. 人机交互与串口通信单元设计

在该系统中,人机交互技术主要应用在恒定温度与偏差温度的设置,以及当前温度与设置温度的显示;串口通信技术应用在对温度的采集。

(1)键盘输入电路

在本系统中,采用外部中断0控制键盘输入请求,键盘输入主要采用3x4矩阵键盘扫描技术。当按下“设置/切换”键时,进入恒定温度的设置,可从键盘中自由输入0—9的数字,如果输入错误可按“删除(*)”键进行删除,如果要设置偏差温度,再按一下“设置/切换”键,可进入偏差温度的设置,按“确定(#)”键,保存设置并退出键盘输入,进入温度控制状态。

(2)LED七段数码动态显示电路

在本系统中采用了LED七段数码动态显示电路来显示温度值,显示范围在0-99之间,该电路由显示、片选、译码三部分组成。

显示部分:由两个两位的LED七段共阴数码管构成,分别用来显示当前温度和设置温度。

片选部分:由一片2-4译码器(74LS139)构成,单片机的P1.4和P1.5输出两位片选信号到2-4译码器的A、B端口,进行译码后输出到LED七段数码管的片选端口。

译码部分:该电路由LED七段数码管显示译码器(4511)来完成,单片机将要显示的十进制数据转换成8421BCD编码,对应的译码值再分别送到LED七段数码管显示译码器的A、B、C、D引脚进行译码,最后输出到LED七段数码管的相引脚。

(3)串口通信电路

为了使测得的温度更准确,在本系统中采用了温度传感器DS18B20来获取当前温度,而DS18B20是采用I2C总线进行通信的,单片机使用P3.7端口与DS18B20的数据通讯端口相连接,并通过软件实现P3.7控制DS18B20的读和写。

4. 控制执行单元设计

该电路的主要任务是完成单片机所发出的升温或降温操作,来控制外部的升温或降温设备。电路的GK1和GK2端分别与单片机的P2.2和P2.3端相连接,其工作原理如下:

在通常情况下,GK1和GK2均为低电平,当单片机向温度控制执行电路发送降温命令时,GK1为高电平,GK2为低电平,使三极管Q1饱和导通,此时使继电器RL1闭合控制外部的降温设备进行工作,同时发光二极管D9将被点亮,提醒使用者温度过高正在进行降温操作。

当单片机向温度控制执行电路发送升温命令时,GK1为低电平,GK2为高电平,使三极管Q2饱和导通,此时使继电器RL2闭合控制外部的升温设备进行工作,同时发光二极管D4将被点亮,提醒使用者温度过低正在进行升温操作。

5. 软件设计

(1)设计思路

根据所学知识,实现本系统的软件部分将使用汇编语言,要配合硬件部分实现输入一个需要恒定的温度值和偏差温度,与从温度传感器所获取的当前实际温度相比较,并向温度控制执行电路发出升温或降温的命令,在这一过程中将随时显示当前温度值和设置的温度值。其主要实现的部分包括:键盘输入、温度采集、数据转换、动态显示、温度控制等。

(2)温度采集子程序

温度采集子程序主要负责驱动外部的温度传感器DS18B20进行工作,通过串口通信方式向DS18B20写入ROM命令,并读取当前温度值,将读取的数据存放在26H-2EH存储单元,其中26H单元存放温度值的低位,27H单元存放温度值的高位。

(3)数据转换子程序

数据转换子程序功能是将从温度采集子程序中采集的十六进制温度数据,转换成十进制的数值并存储在指定的存储单元内。由于该恒温系统设计的温度检测有效为0-99,所以数据转换原理为:将获取到的十六进制温度值除以十进制数10,所得到的商为相应十进制数的十位,并存入31H单元,余数则为相应十进制数的个位,并存入30H单元。

(4)动态显示子程序

在该恒温系统中使用了两个两位的LED七段数码管来显示系统所采集的当前温度值和设置的温度值,为了不占用更多的单片机端口,在针对显示电路的设计时采用了动态显示的方案,而动态显示子程序的主要任务就是控制显示电路的扫描规律。

(5)温度控制执行子程序

温度控制执行子程序的任务是检测由温度计测得的当前温度值是否在设置温度值的允许范围内,若当前温度大于设置温度的允许范围,表明当前温度过高,立即向溫度控制电路发出降温命令(P2.2为高电平,P2.3为低电平);若当前温度小于设置温度的允许范围,表明当前温度过低,立及向温度控制电路发出升温命令(P2.2为低电平,P2.3为高电平)。

(6)键盘输入中断服务子程序

在本系统中键盘输入请求使用INT0(外部中断0)来实现,INT0采用电平触发方式,当按下键盘中的“设置/切换”键时,INT0(P3.2)端为低电平时,进入键盘输入中断服务子程序,此时可以设置要恒定温度,“删除(*)”键为删除键,点击一次可删除输入的一位数据,在输入过程中通过P0.7端口判断每次按键后是否释放,当按下“确定(#)”号键时,则保存设置并退出中断服务子程序,返回到主程序程序。endprint

猜你喜欢
温度控制显示器键盘
基于PLC的智能加热座椅系统
键盘裤
电饭锅为什么不会把饭做糊?
ikbc R300机械键盘
IDC发布《2018年PC显示器市场跟踪报告》
背带键盘
脏得吓死人的电脑键盘
谈建筑工程大体积混凝土施工技术及温度控制
你愿意买单吗
显示器的画面不停地抖动等2则