基于stc89c51单片机温控系统设计与制作.docx
《基于stc89c51单片机温控系统设计与制作.docx》由会员分享,可在线阅读,更多相关《基于stc89c51单片机温控系统设计与制作.docx(32页珍藏版)》请在冰豆网上搜索。
![基于stc89c51单片机温控系统设计与制作.docx](https://file1.bdocx.com/fileroot1/2022-10/11/64262f7e-6956-4d86-94ef-927aa9e6ddd7/64262f7e-6956-4d86-94ef-927aa9e6ddd71.gif)
基于stc89c51单片机温控系统设计与制作
commonlyusedcircuit,makesthewholedesignismorecomplete,moreflexible.
Keywords:
DS18B20;STC89C51;MCU;control;simulation
1.绪论
1.1温度控制系统设计的背景及意义
随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。
特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。
针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。
温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。
在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。
比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。
因此,各行各业对温度控制的要求都越来越高。
可见,温度的测量和控制是非常重要的。
单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。
随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生。
1.2饮水机温度控制系统的目的
饮水机的温度控制系统,能有效的利用水资源和电源。
过低的温度或者过高的温度都会使水资源造成浪费,在全球水资源缺乏的今日,我们更应该掌握好水温的控制。
本设计为一个单片机的饮水机的温度控制系统,此系统可以实时检测饮水的水温,并且可以通过液晶管显示饮水机的温度,可以通过键盘对饮水机的水进行加热,当低于设定的温度下限时进行加热,本设计是对温度进行实时监测与控制,设计的系统主要实现了以下功能:
1.在液晶显示当前温度的大小,精度为四分之一度,并显示温度控制的上限值和下限值。
2.单位转换,把显示温度的单位从摄氏温标与华氏温标进行互换。
3.温度控制,当温度超出上限值就关闭继电器,当温度低于下限值就启动继电器。
4.温度控制的上限和下限的设置,通过矩阵键盘的输入修改上限值和下限值。
5.蜂鸣器报警,当温度超出上限值蜂鸣器进行报警。
1.3系统总体设计思想
方案一:
使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
方案二:
使用温度传感器,结合单片机电路设计,采用一只DS18B20温度传感器,温度传感器中DS18B20因为体积小、抗干扰能力强和精度高等特点,更适合要求,电路也不复杂,容易读取温度,进行转换。
比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,而且优越性更高,使用更方便。
故实际设计中拟采用方案二。
2.系统的硬件组成
2.1系统的电路设计方框图
本系统的电路总体设计框图如图2-1所示,它由三部分组成:
①控制部分主芯片采用单片机STC89C51;②显示部分采用LCD1602实现温度显示;③温度采集部分采用DS18B20温度传感器。
继电器
图2-1总体设计框图
2.2控制部分
一、主要功能特性
单片机STC89C51,它是一个低功耗,高性能CMOS8位单片机,片内2个16位定时器/计数器、8KBROM/EPROM、256BRAM、6个中断源等,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的STC89C51可为许多嵌入式控制应用系统供给高性价比的解决方案。
二、STC89C51具有如下特点:
(1)、兼容MCS51指令系统
(2)8k可反复擦写(大于1000次)FlashROM;
(3)32个双向I/O口;
(4)256x8bit内部RAM;
(5)2个16位可编程定时/计数器中断;
(6)时钟频率0-24MHz;
(7)2个串行中断,可编程UART串行通道;
(8)2个外部中断源,共8个中断源;
(9)2个读写中断口线,3级加密位;
(10)低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;
(11)有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求引脚功能及管脚电压。
三、STC89C51为8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:
XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。
RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。
VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。
P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,单片机电路用的是单片机最小系统,单片机的P3.7接DS18B20的2号引脚,P1口接矩阵键盘,P2.0控制加热器继电器,P2.7,P2.6,P2.5和P0接LCD显示。
图2-2STC89C51引脚图
2.3显示部分
显示用1602液晶显示器,如图2-3所示。
优点是显示质量高、数字式接口、体积小、重量轻、功耗低。
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,使其根据输入信号显示相应的内容。
图2-31602液晶显示器
一、管脚说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,如图2-5所示,各引脚接口说明如表2-4所示。
表2-4引脚接口说明表
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
图2-51602管脚
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
二、指令说明及时序
1602液晶模块内部的控制器共有11条控制指令,如表2-6所示。
表2-6控制命令表
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
2.4温度采集部分
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温。
这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。
数字温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的P1.0口,单片机接受温度并存储。
一、DS18B20的性能特点如下:
(1)适应电压范围更宽,电压范围:
3.0~5.5V,在寄生电源方式下可由数据线供电。
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。
(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。
(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。
(9