基于单片机的智能温控系统的设计与实现Word下载.doc

上传人:b****2 文档编号:14178892 上传时间:2022-10-19 格式:DOC 页数:15 大小:159KB
下载 相关 举报
基于单片机的智能温控系统的设计与实现Word下载.doc_第1页
第1页 / 共15页
基于单片机的智能温控系统的设计与实现Word下载.doc_第2页
第2页 / 共15页
基于单片机的智能温控系统的设计与实现Word下载.doc_第3页
第3页 / 共15页
基于单片机的智能温控系统的设计与实现Word下载.doc_第4页
第4页 / 共15页
基于单片机的智能温控系统的设计与实现Word下载.doc_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于单片机的智能温控系统的设计与实现Word下载.doc

《基于单片机的智能温控系统的设计与实现Word下载.doc》由会员分享,可在线阅读,更多相关《基于单片机的智能温控系统的设计与实现Word下载.doc(15页珍藏版)》请在冰豆网上搜索。

基于单片机的智能温控系统的设计与实现Word下载.doc

=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--);

/****************************************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1