基于单片机的温度控制系统的设计与实现Word文档格式.docx
- 文档编号:18865477
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:23
- 大小:249.54KB
基于单片机的温度控制系统的设计与实现Word文档格式.docx
《基于单片机的温度控制系统的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制系统的设计与实现Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
二、设计方案
2.1、设计题目;
大棚温度测量及控制系统设计
2.2、设计内容及要求;
设计一个以单片机为核心的温度控制系统。
通过温度传感器DS18B20对大棚内的温度进行测量,然后与设定的农作物所需的温度进行比较,然后再进行调节。
测温范围:
-55℃~+125℃。
2.3、设计原理;
利用单片机STC89C52单片机作为本系统的中控模块。
单片机可把由DS18B20读来的数据利用软件来进行处理,从而把数据传输到LED数码管显示模块中,实现温度的显示。
然后再与设定的温度进行比较,当所设定的温度值比采集的温度大时,通过加热器加热,以达到设定值;
反之,开启降温风扇,以快速达到降温效果。
2.4、设计步骤
a、方案拟定;
b、任务分配;
C、系统硬件电路的设计;
D、系统软件的设计。
三、系统硬件电路的设计
3.1系统硬件电路整体框架图
3-1系统硬件电路整体框架图
3.2单片机控制模块
单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算机。
它把中央处理器、存储器、输入/输出接口电路以及定时器叶数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。
正是由于这一原因,国际上逐渐采用微控制器(MCU)代替单片微型计算机(SCM)这一名称。
“微控制器”更能反映单片机的本质,但是由于单片机这个名称已经为国内大多数人所接受,所以仍沿用“单片机”这一名称。
1、单片机的主要特点有:
(1)具有优异的性能价格比。
(2)集成度高、体积小、可靠性高。
(3)控制功能强。
(4)低电压,低功耗。
因此,在本课题设计的温湿度测控系统中,采用单片机来实现。
在单片机选用方面,由于STC89系列单片机与MCS-51系列单片机兼容,所以,本系统中选用STC89C52单片机。
图3-2STC89C52单片机引脚图
STC89C52简介
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K
在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的
改进使得芯片具有传统51单片机不具备的功能。
STC89C52主要性能
8K字节程序存储空间;
512字节数据存储空间;
内带2K字节EEPROM存储空间;
可直接使用串口下载;
STC89C52单片机最小系统
图3-3晶振电路
图3-4复位电路
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.晶振电路是给单片机提供时钟信号,复位电路的作用是使单片机的程序计数器清零(在单片机出现程序死机时很有用)。
3.3温度数据采集模块
1、DS18B20简介
图3-5DS18B20实物图
DS18B20数字温度传感器采用DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样等优点,适用于各种狭小空间设备数字测温和控制领域。
2、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).负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
3.DS18B20的管脚排列
(一)DS18B20的外形及管脚排列如下图:
图3-6DS18B20的外形及管脚排列
DS18B20引脚定义:
(1)I/O为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
(二).DS18B20的内部结构图:
图3-7DS18B20的内部结构图
3.4温度显示模块
LCM1602是2行×
16个字符的字符型LCD显示器,它由32个字符点阵块组成,每个字符点阵块由5×
7或5×
10个点阵组成,可以显示ASCII码表中的所有可视的字符。
它内置了字符产生器ROM(CharacterGeneratorROM,CGROM)、字符产生器RAM(CharacterGeneratorRAM,CGRAM)和显示数据RAM(DataDisplayRAM,DDRAM)。
CGROM中内置了192个常用字符的字模,CGRAM包含8个字节的RAM,可存放用户自定义的字符,DDRAM就是用来寄存待显示的字符代码。
图3-9LCM1602的显示电路
3.5外部存储模块
外部存储模块采用美国ATMEL公司生产的低功耗CMOS型E2PROM器件AT24C02B,它内含256×
8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
它采用了I2C总线规程,使主/从机双向通信。
主机通过SCL引
脚产生串行时钟信号并发出控制字,控制总线数据传送的开始、方向和停止。
无论是主机还是从机,接收到一个字节后必须发出一个确认信号。
AT24C02B占用很少的资源和I/O线,并且支持在线编程,数据实时存取十分方便。
AT24C02B的读写时序及控制字见参考文献。
3.6温度调节模块设计
1.方案一
图3-10方案一电路图
如图2-9所示,由PWM控制温度调节模块,当PWM端输入高电平时,电流经Q1放大,光耦导通,光耦输出电流经Q2放大后,使双向可控硅导通,M4QA045电机运转,当PWM端输入低电平时,双向可控硅控制端输入电流为0,交流电过零以后,双向可控硅截止,M4QA045电机停止运转[4]。
2.方案二
图3-11方案二电路图
如图2-10所示,由PWM控制温度调节模块,当PWM端输入高电平时,电流经Q4放大,常开端5闭合,M4QA045电机运转,当PWM端输入低电平时,常开端5断开,M4QA045电机停止运转。
3.方案比较
方案一采用光耦隔离强电,方案二采用继电器隔离强电,但方案一没有实现强电与直流源的隔离,且方案一环节复杂,计算难度大,过多的环节延长响应时间,从而影响温度调整模块的性能,所以选择方案二。
图3-12电热器驱动电路
基于以上两个方案的分析,加热器驱动电路也同样选用继电器隔离,当温度低于18℃时,相应引脚输出高电平,电流经过三极管放大,继电器常开端闭合,电热器工作,当温度高于23℃时,相应引脚输出低电平,继电器常开端关闭,电热器不工作。
四、系统软件设计
系统硬件电路设计完成以后,进行系统软件设计。
分析系统对软件的要求,然后进行了软件的总体设计,包括程序总体结构设计和对程序进行模块化设计。
将系统整体功能划分成多个不同的模块,单独设计、编程、调试,然后将各个模块进行装配联调,组成完整的系统软件。
根据系统软件的功能需求,系统应用软件分为主程序、数据采集、数据处理(A/D转换)、数据显示等四大主要程序模块。
4.1主程序模块设计
主程序主要将各子模块组织起来成为一个有机的整体,主程序流程图如图4.1所示,主程序见附录所示
图4-1主程序模块框图
4.2数据采集模块设计
图4-2数据采集程序框图
4.3PWM程序设计
图4-3PWM程序框图
如图4-2所示,进行中断程序初始化,设置定时器T0中断时间为1ms,中断100次,即100ms作为一个脉冲周期,每中断一次,由变量T0_number进行计数,当变量T0_number大于100时,给变量T0_number赋值0,重新开始计数,当变量T0_number小于变量PWM_width_H时,输出高电平,当变量T0_number大于变量PWM_width_H时,输出低电平,以此控制脉宽。
4.4LCD1602显示模块程序设计框图
图4-4显示程序框图
如图4-3,初始化LCD1602显示模块,设置8位格式,2行,5*7矩阵显示,整体显示,关光标,不闪烁设定输入方式,增量不移位,清除屏幕显示,延时等待,将采集到的温湿度数据进行转换,十六进制转换成十进制,然后,判断是否在第一行显示,输入相应的地址数据,延时等待,输入需要显示的数据。
小结
本文详细讲述了系统设计方案,并给出了相关程序流程。
本设计主要应用于大棚温度的监控。
另外,如果把本设计方案扩展为多点温度控制,加上上位机,则可以实现远程温度监控系统,将具有更大的应用价值。
本文的创新点在于详细设计了基于单片机STC89C52的温度监控系统,进行了Proteus仿真,所设计程序已经在硬件平台上成功运行.此系统可广泛用于温度在DS18B20测温范围之内的场合,有良好的应用前景。
以上为本小组所设计的温室大棚控制控制系统,它经过多次修改和整理,可以满足设计的基本要求。
采用STC89C52单片机、DS18B20温度传感器、LCD1602液晶显示模块和M4QA045电机等器件设计温室大棚控制系统,实现大棚内的温度采集、显示;
温度自动调节功能等。
因为本人水平有限,此设计存在一定的问题。
譬如系统抗干扰能力差,且没有实现自动自动复位。
由于使用的是单片机作为核心的控制元件,配合其它器件,使本温度控制系统具有功能强、性能可靠、电路简单、成本低的特点,加上经过优化的程序,使其有很高的智能化水平
。
而在本次论文的写作过程中,让我感受到所学的知识甚少,还有一些知识遗忘的太多了。
所以通过这次的论文让我又对所学的知识从新的整理了一遍,还对以后的学习与不足有了较清晰的认识。
谢辞
经过这段时间的忙碌和工作,本次课程设计已经接近尾声,作为一个学渣团队的课程设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有老师的督促指导,以及同学们的支持和帮助,想要完成这个设计是难以想象的,再次特别谢谢老师和同学给予我的帮助与指导。
在这里首先要感谢我的指导老师李亚飞老师。
李老师平日里工作繁多,但在我们做课程设计的每个阶段,从设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。
他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。
最后感谢母校给与我人生这次的栽培,谢谢你们。
参考文献
[1]孙育才.MCS-51系列单片微型计算机及其应用(第四版)[M].南京:
东南大学出版社,2004
[2]康华光.电子技术基础-模拟部分(第四版)[M].北京:
高等教育出版社,1999
[3]康华光.电子技术基础-数字部分(第四版)[M].北京:
[4]石来德.机械参数电测技术[M].上海:
上海科学技术出版社,1981
[5]ErnestO.Doebelin.MeasurementSystems:
ApplicationandDesign[M].America:
McGraw-HILLBOOKCOMPANY,1976
[6]曹继松.测试电路[M].上海:
上海交通大学出版社,1995
[7]谢自美.电子线路设计实验测试[M].武汉:
华中科技大学出版社,2000
[8]马靖善,秦玉平.C语言程序设计[M].北京:
清华大学出版社,2005
[9]赖麒文.8051单片机C语言开发环境实务与设计[M].北京:
科学出版社,2002
[10]徐爱钧.智能化测量控制仪表原理与设计[M].北京:
北京航空航天大学出版社,2004
附录
主程序程序代码
#include<
reg52.h>
#include<
intrins.h>
#defineLCD_DBP2
sbitDQ=P1^0;
sbitBUZZER=P1^1;
sbitPWM=P1^2;
sbitLCD_RS=P1^4;
sbitLCD_RW=P1^5;
sbitLCD_E=P1^6;
sbitHEAT=P1^7;
voidinitial(void);
voidread_DHT11(void);
voidLCD_write_command(unsignedcharcom);
voidLCD_display_char(unsignedcharx,unsignedchary,unsignedchardat);
unsignedcharread_DHT11_char(void);
voidcontrol_temperature_humidity(void);
voiddelay_xms(unsignedinttime_xms);
voiddelay_x10us(unsignedinttime_x10us);
unsignedcharstop_system=0;
unsignedcharlineOne[]=“TS(0-50):
C”;
unsignedcharlineTwo[]=“HS(20-90):
%RH”;
unsignedintT0_number=0,T1_number,PWM_width_H;
unsignedchartemperature_ten,temperature_one,humidity_ten,humidity_one;
unsignedchartemperature_H,temperature_L,humidity_H,humidity_L,checkData;
voidinitial(void)
{
unsignedchari,j;
TMOD=0x11;
TH1=0xFC;
TH1=0x66;
TH0=0xFC;
TL0=0x66;
EA=1;
ET1=1;
ET0=1;
EX0=1;
IT1=1;
TR0=1;
LCD_write_command(0x38);
//设置8位格式,2行,5x7
LCD_write_command(0x0c);
//设置整体显示,关闭光标,且不闪烁
LCD_write_command(0x06);
//设置输入方式,增量不移位
LCD_write_command(0x01);
//清屏
for(i=0;
i<
16;
i++)
{
LCD_display_char(i,1,lineOne[i]);
}
for(j=0;
j<
j++)
LCD_display_char(j,2,lineTwo[j]);
LCD_display_char(14,1,0xDF);
//显示
}
voidread_DHT11(void)
DQ=0;
delay_xms(18);
DQ=1;
delay_x10us
(2);
if(DQ==0)
while(DQ==0);
while(DQ==1);
humidity_H=read_DHT11_char();
humidity_L=read_DHT11_char();
temperature_H=read_DHT11_char();
temperature_L=read_DHT11_char();
unsignedcharread_DHT11_char(void)
unsignedchari,temp_one,temp_two;
8;
delay_x10us(3);
{
temp_one=0;
}
else
temp_one=1;
temp_two<
<
=1;
temp_two|=temp_one;
while(DQ==1);
returntemp_two;
voidLCD_write_command(unsignedcharcom)
LCD_DB=com;
LCD_RS=0;
LCD_RW=0;
LCD_E=1;
delay_xms
(1);
LCD_E=0;
delay_xms(5);
voidLCD_display_char(unsignedcharx,unsignedchary,unsignedchardat)
{
if(y==1)
LCD_write_command(0x80+x);
LCD_write_command(0xc0+x);
LCD_DB=dat;
LCD_RS=1;
voidLCD_display_DHT11(void)
temperature_ten=temperature_H/10+0x30;
temperature_one=temperature_H%10+0x30;
humidity_ten=humidity_H/10+0x30;
humidity_one=humidity_H%10+0x30;
LCD_display_char(12,1,temperature_ten);
LCD_display_char(13,1,temperature_one);
LCD_display_char(11,2,humidity_ten);
LCD_display_char(12,2,humidity_one);
voidcontrol_temperature_humidity(void)
if(temperature_H>
28)
PWM_width_H=100;
elseif(temperature_H<
18)
PWM_width_H=0;
HEAT=1;
=23)
HEAT=0;
PWM_width_H=(temperature_H-18)*10;
if(humidity_H>
65||humidity_H<
45)
BUZZER=1;
else
BUZZER=0;
voiddelay_xms(unsignedinttime_xms)
T1_number=0;
TR1=1;
while
(1)
if(time_xms==T1_number)
break;
TR1=0;
voiddelay_x10us(unsignedinttime_x10us)
while(time_x10us--)
_nop_();
voidmain(void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 控制系统 设计 实现