基于单片机的智能温控系统的设计与实现Word下载.doc
- 文档编号:14178892
- 上传时间:2022-10-19
- 格式:DOC
- 页数:15
- 大小:159KB
基于单片机的智能温控系统的设计与实现Word下载.doc
《基于单片机的智能温控系统的设计与实现Word下载.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能温控系统的设计与实现Word下载.doc(15页珍藏版)》请在冰豆网上搜索。
=T<
=35。
如果被测温度在25度到35度之间,则既不加热,又不报警;
如果被测温度小于25度,则既加热,又报警;
如果被测温度大于35度,则报警,不加热。
数码管显示温度,温度精确到整数。
二、方案设计
采用单片机+单总线DS18B20的方案,其中单片机采用51兼容系列
三、详细硬件设计及原件介绍
3.1单片机最小系统
在基于单片机的应用系统中,其核心是单片机的最小系统,而单片机又是最小系统的核心,为了方便起见,采用的单片机型号是:
STC89C52RC,内部资源有:
8KBFLASH,512BSRAM,4个8位I/O,2个TC,1个UART,带ISP和IAP功能。
是近年来流行的低端51单片机。
时钟电路采用12.0M晶体,复位电路采用简单的RC复位电路。
R=10K,C=10uF,详细电路见总体原理图
3.2DS18B20简介
DS18B20是采用“1-wire”一线总线传输数据的集成温度传感器,信息经过单线接口送入DS18B20或从DS18B20送出,因此从中央处理器到DS18B20仅需连接一条线。
可采用外部电源供电,也可采用总线供电方式,此时,把VDD连接在一起作为数字电源。
因为每一个DS18B20有唯一的系列号(siliconserialnumber),因此多个DS18B20可以存在于同一条单线总线上,这允许在许多地方放置温度灵敏器件。
此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测。
3.2DS18B20与单片机接口
四、总体原理图见附录1
五、程序设计
1、主程序流程图
六、项目总结
通过对该项目的设计制作,我对简单的单片机控制系统的开发过程有了比较全面的理解,在这次实习中,我的体会有:
1.细心,制作硬件和编写程序,调试程序,都需要细心,否则很容易失败。
2.基础,单片机不是万能的,它需要外部硬件电路的配合,这些电路不复杂,但是要弄明白它的原理,还是要下一番功夫的。
像基础的电子焊接,测量,元件的识别等都是。
3.团队合作,由于时间的关系,每个项目由几个人合作,这时就特别需要团队合作意识。
4.撰写设计文档,对写设计文档总感到是一种累赘——反正实物已经出来了,有没有文档关系不大。
现在需要在设计过程中随时记录一些东西,最后整理成设计文档。
5.将一个大的问题分割成几个相对独立的部分,更容易解决。
附录1:
电路原理图
附录2:
代码:
(1)名称:
温控系统
#include<
reg52.h>
//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
//#include<
INTRINS.H>
#defineucharunsignedchar
#defineuintunsignedint
/******************************************************************/
/*定义端口*/
sbitDQ=P2^7;
//ds18b20端口
sbitledj=P1^1;
//加热
sbitledb=P1^7;
//报警
sbitkeyup=P3^0;
//温度加
sbitkeydn=P3^1;
//温度减
/*全局变量*/
uinttmax=30;
uinttmin=26;
uinttemp;
ucharshi,ge,temph,i,j,x;
ucharcodetab[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//7段数码管段码表共阳
/*函数声明*/
unsignedintReadWD(void);
voidcsh(void);
unsignedcharReadOneChar(void);
voidWriteOneChar(uchardat);
voiddelay(uinti);
voidxs(ucharshi,ucharge);
voidsjcl();
/*主函数*/
voidmain()
{
//unsignedchartemph;
while
(1)
{
if(keyup==0)
for(j=0;
j<
20;
j++)
{
for(i=0;
i<
i++)
shi=tmax/10;
ge=tmax%10;
xs(shi,ge);
}
delay(5000);
shi=10;
ge=10;
if(keyup==0)
tmax++;
while(keyup==0);
if(keydn==0)
tmax--;
while(keydn==0);
}
elseif(keydn==0)
shi=tmin/10;
ge=tmin%10;
tmin++;
tmin--;
else
if(x==0)
temp=ReadWD();
//定时读取当前温度
temph=temp>
>
4;
shi=temph/10;
//十位温度
ge=temph%10;
//个位温度
xs(shi,ge);
//显示温度
sjcl();
//数据处理
}
/*显示函数*/
voidxs(ucharshi,ucharge)
P2=2;
P0=tab[shi];
delay(500);
P2=3;
P0=tab[ge];
P2=4;
P0=0xc6;
/*数据处理函数*/
voidsjcl()
{
if(temph>
tmax)
ledj=1;
ledb=0;
elseif(temph>
=tmin&
&
temph<
=tmax)
ledb=1;
}
else
ledj=0;
/*延时函数*/
voiddelay(unsignedinti)//延时函数
while(i--);
/****************************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 温控 系统 设计 实现