本文主要是介绍【Proteus仿真】【STM32单片机】自动除湿器系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、功能简介
- 二、软件设计
- 三、实验现象
- 联系作者
一、功能简介
本项目使用Proteus8仿真STM32单片机控制器,使用按键、LCD1602液晶、DHT11温湿度、继电器除湿模块等。
主要功能:
系统运行后,LCD1602显示DHT11传感器检测的湿度值阈值;可通过K1和K2键调节阈值;当检测湿度高于阈值,打开除湿器,否则关闭。
二、软件设计
/*
作者:嗨小易(QQ技术交流群:570487280)*///系统数据显示
void sys_data_show(void)
{while(1){ //温度显示lcd1602_show_nums(5,0,sys_ctrl.temp,2,0);//湿度显示lcd1602_show_nums(5,1,sys_ctrl.humi,2,0);//湿度阈值显示lcd1602_show_nums(13,1,sys_ctrl.humih,2,0); break; }
}//系统数据设置
void sys_data_set(void)
{u8 key=0;key=key_scan(0);//加if(key==KEY1_PRESS){sys_ctrl.humih++;if(sys_ctrl.humih>99)sys_ctrl.humih=0; }//减if(key==KEY2_PRESS){sys_ctrl.humih--;if(sys_ctrl.humih<0)sys_ctrl.humih=99; }
}//系统功能控制
void sys_fun_ctrl(void)
{//如果湿度高于上限,开启除湿if(sys_ctrl.humi>sys_ctrl.humih)CS_PIN=0;else CS_PIN=1;//关闭除湿
}//应用控制系统
void appdemo_show(void)
{u8 i=10;sys_parm_init();//系统参数初始化lcd1602_init();DHT11_Init();//读取温度数据,等待稳定while(i--){//读取DHT11温湿度值DHT11_Read_Data(&sys_ctrl.temp,&sys_ctrl.humi);delay_ms(100); }sys_open_show();//系统开机界面显示while(1){ sys_data_get();//系统数据获取sys_data_show();//系统数据显示sys_data_set();//系统数据设置sys_fun_ctrl();//系统功能控制}
}
三、实验现象
B站演示视频:https://space.bilibili.com/444388619
联系作者
视频地址:https://space.bilibili.com/444388619/video
专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。
这篇关于【Proteus仿真】【STM32单片机】自动除湿器系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!