AT89C51单片机驱动的智能空调系统:制冷制热加湿除湿四模式,按键与手机App双控制方式
整套系统的电源设计才是隐藏BOSS,特别是同时驱动半导体制冷片(5V/3A)和雾化模块(24V/1A)时,建议用两路独立DC-DC,否则单片机随时表演原地重启。整个系统最骚的操作是用半导体制冷片搞双功能——既能制冷又能除湿,这比传统方案省了不少成本。这段初始化代码的微妙之处在于延时精度,用软件延时的话必须关中断,不然手机App那边的串口通信会丢数据。说到App控制,蓝牙模块的AT指令配置才是真·魔
at89c51单片机设计的智能空调系统 制冷制热加湿除湿四个工作模式 按键和手机App遥控两种控制方式 半导体制冷片模拟除湿制冷 超声波雾化模块加湿 温湿度传感器检查环境温湿度 LCD液晶屏显示系统工作状态 全套包括实物成品,原理图,程序源码,设计文档。
这个智能空调控制系统有点意思,核心就是AT89C51这颗老当益壮的51单片机。别看它年纪大,跑这种家电控制绰绰有余。整个系统最骚的操作是用半导体制冷片搞双功能——既能制冷又能除湿,这比传统方案省了不少成本。
温湿度采集这块用的DHT11,虽然精度差点意思但胜在便宜。代码里得注意这个传感器的时序要求特别龟毛,我刚开始调试的时候被它的60us响应时间坑过好几次。分享个关键代码段:
void DHT_Read(){
P1 = 0xff;
DHT = 0;
delay_ms(18);
DHT = 1;
delay_us(30);
while(DHT); //等低电平
while(!DHT); //等高电平
while(DHT); //等开始信号结束
//后面开始收40位数据...
}
这段初始化代码的微妙之处在于延时精度,用软件延时的话必须关中断,不然手机App那边的串口通信会丢数据。说到App控制,蓝牙模块的AT指令配置才是真·魔鬼细节,建议直接用现成的手机调试助手生成控制协议。

at89c51单片机设计的智能空调系统 制冷制热加湿除湿四个工作模式 按键和手机App遥控两种控制方式 半导体制冷片模拟除湿制冷 超声波雾化模块加湿 温湿度传感器检查环境温湿度 LCD液晶屏显示系统工作状态 全套包括实物成品,原理图,程序源码,设计文档。
模式切换的逻辑核心在这段状态机:
if(temp_now > set_temp && humidity_now < set_humidity){
mode = COOL_MODE;
P2 |= 0x01; //开制冷片
P2 &= ~0x02; //关加热
} else if(...){
//其他模式判断
}
注意IO口操作要用位操作而不是直接赋值,毕竟其他位可能控制着雾化模块或者LED指示灯。说到雾化,超声波模块的PWM驱动频率要稳在1.7MHz左右,用定时器0的自动重载模式刚刚好:
MOV TMOD,#02H ;定时器0模式2
MOV TH0,#0F3H ;1.7MHz的初值
SETB TR0
LCD显示部分强烈建议封装成独立函数,12864的并口驱动虽然原始但稳定。记得在更新显示内容前先关全局中断,避免显示乱码——这个坑我踩了三天才爬出来。
整套系统的电源设计才是隐藏BOSS,特别是同时驱动半导体制冷片(5V/3A)和雾化模块(24V/1A)时,建议用两路独立DC-DC,否则单片机随时表演原地重启。最后奉劝想复现的朋友:继电器布局要远离模拟电路,不然ADC读数能给你跳成迪斯科。

更多推荐



所有评论(0)