历史上的今天
返回首页

历史上的今天

今天是:2024年10月14日(星期一)

正在发生

2021年10月14日 | 基于51单片机的温湿度控制系统

2021-10-14 来源:eefocus

一.硬件方案

本设计采用51单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。当温度或湿度值超过上限值时,报警信号点亮相应报警灯。该报警信号可以通过三极管驱动继电器,以控制外部风机或加热器。


主要由51单片机+最小系统+LCD1602液晶显示模块+温湿度采集模块+继电器驱动模块+风扇模块+LED指示灯模块+按键模块+AT24C02存储模块+蜂鸣器报警模块;如图:

二.设计功能

(1)AT24c02芯片掉电存储设置的上下限。

(2)四个按键为设置、加、减、确定,实现了阀值的调节。

(3)LCD1602液晶显示,上面行显示当前的温度和湿度,下面行显示相应的冷、热、干、湿。

(4)配用全数字型温湿度传感器DHT11,温度测量范围0℃–50℃,湿度测量范围20%RH—90%RH,可以满足一般需要。

(5)当超过阀值的时候,有蜂鸣器闪烁报警提示。并有开关可以关闭或打开报警。

(6)当温度或湿度超限后,报警信号灯点亮同时相应的继电器吸合。继电器可以驱动打开或切断通风机、抽湿机、加热器、制冷器、加湿器、报警器等外部设备;


三.设计原理图

(1)原理图主要采用AD软件进行设计,如图:

(2)Protues仿真图如下:

(3)PCB图如下:

四.软件设计

(1)程序流程图

(2)主程序源码


//数据初始化

void Data_Init()

{

   Led_qushi = 1;

   Led_jiashi=1;

   Led_jiangwen = 1;

   Led_shengwen = 1;

}


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

* 名称 : Main()

* 功能 : 主函数

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

void main()

{

    uint i, j, testnum;


    EA = 0;


Timer0_Init();  //定时器0初始化


    Data_Init();

EA = 1;


L1602_init();

//延时

for (i=0;i<1000;i++)

   for (j=0;j<1000;j++)

   {;}

    //清屏

L1602_string(1,1,"                ");

L1602_string(2,1,"                ");

    L1602_string(1,1,"Tem:   C Hum:  %");

L1602_string(2,1,"Smalldi@2017");

    

    /***载入温度上限和湿度上限设定值***/

TH=rdeeprom(0);  

Delay1(20); //加延时可以存取稳定

TL=rdeeprom(1);

Delay1(20);

HH=rdeeprom(2);

Delay1(20);

HL=rdeeprom(3);


while(1)

{

       

if (FlagStartRH == 1) //温湿度转换标志检查

{

     TR0 = 0;

             testnum = RH();

  FlagStartRH = 0;

TR0 = 1;

humidity = U8RH_data_H; //读出温湿度,只取整数部分

temperature = U8T_data_H;


 

if(Mode==0) //温湿度控制

{

if (temperature > TH)

{

Led_jiangwen = 0;

hot=1;

Led_shengwen = 1;

cold=0;

// BJ=1;

}

else if(temperature {

Led_shengwen = 0;

cold=1;

Led_jiangwen = 1;

hot=0;

buzz=0;

// BJ=1;

}       

else

{

Led_jiangwen=1;

Led_shengwen=1;

hot=0;

cold=0;

buzz=1;

}

if (humidity > HH)

{

Led_qushi = 0;

humid=1;

Led_jiashi = 1;

dry=0;

// BJ=1;

}

else if(humidity {

Led_jiashi = 0;

dry=1;

Led_qushi = 1;

humid=0;

// BJ=1;

}

else

{

Led_qushi=1;

Led_jiashi=1;

humid=0;

dry=0;

}

}

else

{

Led_shengwen=1;

Led_jiangwen=1;

Led_jiashi=1;

Led_qushi=1;

hot=0;

cold=0;

humid=0;

dry=0;

BJ=0;

}

}

display();

KEY();

}

}

推荐阅读

史海拾趣

Glow-Lite Corp公司的发展小趣事

对于红外遥控发射电路,网友可能会有多方面的问题。以下是一些可能的问题及其详细回答:

一、红外遥控发射电路的基本工作原理是什么?

回答
红外遥控发射电路的基本工作原理是,当用户按下遥控器上的某个按键时,遥控器内部的微控制器(CPU)会读取与该按键对应的二进制数据,并通过信号调理电路进行处理。随后,这些数据被调制电路转换为适合传输的信号,并经过放大后,由红外线发射二极管以红外光的形式发射出去。接收设备上的红外接收头接收到这些红外光信号后,会将其转换为电信号,并经过进一步的处理还原为原始的控制指令,从而实现遥控功能。

二、红外遥控发射电路常见的故障有哪些?

回答
红外遥控发射电路常见的故障主要包括以下几个方面:

  1. 电池电量不足或接触不良:这是最常见的故障之一,当电池电量不足或电池卡簧接触不良时,会导致遥控器无法正常工作。

  2. 按键故障:按键上的导电橡胶易磨损、老化,或按键电路中的铜箔线条断裂、开焊等,都会导致按键失灵。

  3. 振荡电路故障:振荡电路中的陶瓷谐振器易受到机械冲击而损坏,导致振荡频率偏移或停振,进而影响遥控信号的发射。

  4. 红外发光二极管故障:红外发光二极管可能因引脚开焊、内部开路或失效等原因而无法正常工作。

  5. 驱动电路故障:驱动电路中的晶体三极管、电阻等元件可能因开路、放大系数下降等原因导致故障。

  6. 编码集成电路故障:编码集成电路是整个遥控器的核心部分,其内部集成了多个复杂的电路。如果编码集成电路发生故障,将直接影响遥控信号的生成和发射。

三、如何判断红外遥控发射电路是否故障?

回答
判断红外遥控发射电路是否故障,可以采用以下几种方法:

  1. 观察指示灯:如果遥控器上有指示灯,可以通过观察指示灯是否闪亮来判断遥控器是否有红外信号发射。

  2. 替换法:用一个确认无故障的遥控器去控制同一台设备,如果控制有效,则说明原遥控器可能存在故障。

  3. 万用表检测:使用万用表测量遥控器电池电压、按键电阻、红外发光二极管两端电压等,以判断电路是否正常。

  4. 收音机检测:利用收音机的中频载波与遥控器振荡频率接近的特点,通过收音机接收遥控器发出的信号来判断遥控器是否具有发射能力。

四、如何维修红外遥控发射电路的故障?

回答
维修红外遥控发射电路的故障,需要根据具体的故障原因采取相应的措施。以下是一些常见的维修方法:

  1. 更换电池:如果电池电量不足或接触不良,应更换新电池或清理电池卡簧。

  2. 清洁按键:如果按键故障是由于导电橡胶磨损或灰尘等杂物造成的,可以用软布蘸无水酒精清洗按键表面。

  3. 更换元件:如果振荡电路、红外发光二极管、驱动电路或编码集成电路等元件损坏,应更换相应的元件。

  4. 焊接修复:如果电路中存在开焊、断裂等现象,应使用焊接工具进行修复。

  5. 调整电路:如果故障是由于电路参数设置不当或元件老化等原因造成的,应对电路进行调整或更换老化元件。

通过以上方法,可以有效地解决红外遥控发射电路中的常见故障。

Excel Cell Electronic Co Ltd公司的发展小趣事

品质是ECE公司的生命线。公司始终坚持“品质至上”的原则,从原材料采购到生产流程控制,再到产品检验和售后服务,都严格按照国际标准执行。为了提升品质管理水平,ECE公司引进了先进的品质管理系统,加强了对生产过程的监控和评估。同时,公司还定期对员工进行品质管理培训,提高员工的质量意识和技能水平。这些措施使ECE公司的产品质量得到了显著提升,赢得了客户的广泛赞誉。

Able Systems公司的发展小趣事

Able Systems公司成立于1982年,初创时期面临着资金短缺、市场竞争激烈等诸多挑战。然而,公司凭借对微型打印机技术的深刻理解和独特见解,成功开发出了具有竞争力的产品。通过不懈的努力和持续的技术创新,Able Systems逐渐在市场中站稳了脚跟,并赢得了客户的信任。

Andersen Laboratories Inc公司的发展小趣事

在不断追求技术创新和市场扩张的过程中,AnalogicTech始终坚持多元化发展战略。公司不仅在LED背光液晶电视市场取得了显著成绩,还积极拓展其他领域,如智能手机、平板电脑等消费电子产品市场。通过不断推出创新产品和解决方案,AnalogicTech成功实现了市场的多元化发展,为公司的长期稳定发展奠定了坚实基础。

这五个故事展示了AnalogicTech公司在电子行业中发展起来的关键阶段和重要举措。凭借其卓越的技术创新、全球化的运营策略、高效的物流配送体系以及市场扩张与多元化战略的推进,AnalogicTech成功地在竞争激烈的电子行业中脱颖而出,成为了一家备受瞩目的企业。

Delta Electronics公司的发展小趣事

Delta Electronics在电源管理技术方面一直处于行业领先地位。公司不断投入研发资源,推动电源技术的创新和进步。其中,Delta开发的高效率开关式电源供应器,以其高效、稳定和可靠的性能,赢得了全球客户的广泛认可。此外,公司还积极推广绿色能源和节能技术,为客户提供环保、节能的电源解决方案。

Crouzet公司的发展小趣事

随着市场竞争的加剧,Crouzet开始注重提供定制化的解决方案,以满足客户不断变化的需求。公司凭借强大的研发能力和丰富的行业经验,能够根据客户的具体需求,提供量身定制的产品和服务。这种以客户需求为导向的经营理念,使得Crouzet在市场上赢得了更多的客户和合作伙伴。

问答坊 | AI 解惑

单片机和FPGA通信

本帖最后由 paulhyde 于 2014-9-15 03:33 编辑 我找到的一些单片机和FPGA通信的材料,里面含有两片资料文章 [ 本帖最后由 open82977352 于 2010-2-10 16:46 编辑 ]  …

查看全部问答>

STM32W108问题,还请指教

大家好,我想用STM32W108做一个ZIGBEE的无线通信方案,有两个问题请教。 (1)这款新品有卖了吗?大致多少价格?    或者哪里能申请样片? (2)如果说我采用树型网络,ARM9作为协调器,STM32W108作为路由设备,CC2430作为终端设备。 ...…

查看全部问答>

出口香港食品营养标签将有新规

   香港政府《2008年食物及药物(成分组合及标签)(修订:关于营养标签及营养声称的规定)规例》将于2010年7月1日起实施。届时所有在香港销售的预包装食品(规例规定可豁免的食品除外)须标注营养标签,该营养标签必须标示能量和七种核心 ...…

查看全部问答>

修改config.bib,配置内存分配

大家好: 我在修改config.bib文件,但是修改后,系统不能启动,大家看看是怎么回事.还有修改config.bib还需要修改其他文件吗? config.bib原文件 MEMORY ;#define CHAIN_ADDRESS        81E40000 ;        ...…

查看全部问答>

TBsoft-GUI,能支持真正事件驱动程序设计的嵌入式GUI,自己的作品

笔者第一个用于实际项目,并获得成功的的嵌入式系统小作品问世。 TBsoft-GUI,一个很小的,功能一般的GUI,一个结合了某些现代程序设计要素的GUI。 市面上少见的可以支持真正事件驱动程序设计的嵌入式GUI。使用控件,引发事件,能像VB一样,直接 ...…

查看全部问答>

如何将Windows CE 5.0的模拟器集成到VS2005中?

我现在已经安装了Windows CE 5.0的模拟器,但是它是独立运行的,我想将它集成到VS2005中,具体应该怎么做? 我也试过安装了pocket pc的sdk,但是没有ce 的模拟器,那么具体应该安装哪个sdk哪? …

查看全部问答>

基于AT89S52单片机的nRF2401无线模块全套资料

刚来报到,给大家传份资料,有用到的可以下载看看,今后多多照顾! 有点不会用,上一个附件没传上来   [local]1[/local]…

查看全部问答>

求CC2430实现无线抄表的资料

用CC2430,利用ZigBee无线技术,将水表数据发送到另个CC2430模块,再在液晶屏上显示数据。 请问该怎么做,求有关的资料…

查看全部问答>

E型电感绕制求助

E型电感  留了点气隙 电感值的考虑50UH-100UH 计算公式有个N^2=L/AL 就可得出N 而EI33里给出了AL的参考值 无气隙是  4400 有气隙是 200和400 请问大侠  我有气隙是应该选哪个值呢…

查看全部问答>