- 8
- 0
- 约2.39万字
- 约 43页
- 2018-08-09 发布于贵州
- 举报
毕业论文基于STC单片机恒温控制系统的设计及C语言程序
本恒温控制系统设计采用现在流行的51系列单片机,配以DS18B20数字温度传感器,能够较精确的控制温度,并显示设定温度与当前温度。单片机将实时检测到的温度与设定的温度进行比较,根据两者差值决定是否让加热电阻加热以及加热多长时间。
实现了基本的温度控制功能:?当温度低于设定温度1℃时,单片机输出高电平,控制大功率三极管导通,进而使得加热电阻通电,加热电阻加热,温度快速上升,同时红灯亮。?当温度上升到与设定温度差值小于1℃时,单片机输出高低电平的时间不相等,也就是加热电阻的通断时间不等,使得温度缓慢上升,同时红、绿灯都亮。
数码管实时显示温度,精确到小数点后一位,同时可以通过2个按键调节设定温度。温度测量模块采用美国DALLAS半导体公司的DS18B20温度传感器。该传感器与传统的热敏电阻等测温元件相比,它能直接读出被测温度。这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。数字温度传感器DS18B20把采集到的温度通过数据引脚P1.3传到单片机,单片机接受温度并存储。温度控制模块采用FAIRYCHILD的8N60C开关管、10W10Ω的水泥电阻。由单片机根据设定温度与测量温度之差决定输出高低电平,控制8N60C开关管的通断,近而控制水泥电阻加热。
其中,指示灯绿色用于指示加热温度过高、红色用于指示加热中,当两个LED均亮起时,表示当前温度接近设定温度,也可理解成保温状态。
、按键
10V直流电控制信号8N60C开关管10W1Ω的水泥电阻被 控 制对 象STC 89C52单
10V直流电
控制信号
8N60C开关管
10W1Ω的水泥电阻
被 控 制
对 象
STC 89C52
单
片
机
DS18B20温度传感器
其中,采用8段共阴数码管,P0、P2口输出段码、位码,P1.4和P1.6为段锁存,P1.5和P1.7为位锁存。数码管上面四位显示用户测量温度,下面四位显示用户设定温度。
PAGE
PAGE 25
、LED指示灯:
其中,上面的按键表示温度上升1℃、下面的按键表示温度下降1
3.3?测温模块:
测温模块采用美国DALLAS半导体公司的DS18B20温度传感器。其输出与P1.3相连。
3.4?温度控制模块:
8N60C是仙童公司出品的一款N沟道的MOSFET,最小开启电压为4V,最大关断电压为2V,故可以直接接在单片机IO口,由高低电平控制通断。
8N60C的栅极(G)与P1.2相连,源级(S)接地(注意与单片机控制端共地,否则将导致无法关断),漏极(D)接水泥电阻,水泥电阻另一端接10V直流电。
水泥电阻是将电阻线绕在无碱性耐热瓷件上,外面加上耐热、耐湿及耐腐蚀材料,并把绕线电阻体放入方形瓷器框内,用特殊不燃性耐热水泥充填密封而成。水泥电阻的外侧主要是陶瓷材质。
3.5?总电路图:
开始
开始
按键输入端口置高,定时器初始化
按键输入端口置高,定时器初始化
调用读温度子程序
调用读温度子程序
显示被测温度和用户设定温度
显示被测温度和用户设定温度
Y是否按下加温度设定键?
Y
是否按下加温度设定键?
设定温度加1
设定温度加1
N
N
Y是否按下减温度设定键?
Y
是否按下减温度设定键?
设定温度减1
设定温度减1
N
N
初始设定温度为20
初始设定温度为20
当前温度设定温度
当前温度设定温度—1
YP1.2置高电平,加热电阻加热,红灯亮
Y
P1.2置高电平,加热电阻加热,红灯亮
N
N
Y当前温度=设定温度?
Y
当前温度=设定温度?
P1.2置低电平,加热电阻停止加热,绿灯亮
P1.2置低电平,加热电阻停止加热,绿灯亮
N
N
调节P1.2的高低电平时间长短的比例,红绿灯同时亮
调节P1.2的高低电平时间长短的比例,红绿灯同时亮
系统是否断电?
系统是否断电?
N
N
Y
Y
结束
结束
、定时器T0中断程序
定时器T0中断
定时器T0中断
定时器初始化
定时器初始化
调用数码管显示子程序
调用数码管显示子程序
N计数300?
N
计数300?
Y
Y
读温度标志置1
读温度标志置1
中断返回
中断返回
4.2?详细程序:
(1)、主程序
/*
名称:恒温控制系统采用DS18b20并用数码管显示当前测的温度
和用户设定的温度,用户可用按键增加或减小温度。
编写:班小组
日期:2013.10
内容:精确到小数点后一位,显示格式 符号 xxx.x C
*/
#includereg52.h //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#
原创力文档

文档评论(0)