基于51单片机智能窗帘仿真设计( proteus仿真+程序+设计报告+讲解视频)
1. 主要功能:
基于51单片机的智能窗帘控制器proteus仿真
1、系统分为自动模式和手动模式,通过按键切换模式;
2、自动模式下检测光照和温度,如果温度高于25则打开窗帘通风;
3、电机顺时针转动是正转开窗帘,逆时针转动是反转关窗帘;
4、温度低于25则根据光线判断,如果光线强度低于30打开窗帘,光线强度高于60关闭窗帘;
5、手动模式下通过2个按键控制窗帘开启和关闭;
6、设置一个停止键,用于停止窗帘动作;
需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
以下为本设计资料展示图:
2. 讲解视频:
讲解视频包含仿真运行讲解和代码讲解
3. 仿真设计
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后LCD1602显示温湿度和光照强度。
开机默认是自动模式,自动模式指示灯点亮。可以通过按键切换自动/手动模式。手动模式下可以通过按键切换开/关窗帘。
如果光照强度大于阈值,说明自然光足够亮,不需要开窗帘。当光线强度超过60lux时,窗帘关闭以保持室内适宜亮度;当光线强度低于30(假设单位为lux)时,窗帘自动开启以便充分利用自然光照明。
4. 程序代码
使用keil4或者keil5编译,代码有注释,可以结合视频理解代码含义。
温湿度模块代码
#include "DHT11.h"
unsigned char dht11_dat[5];//湿度高低+温度高低+和校验
void delay1ms(unsigned int i) //延时函数
{
unsigned char j;
while(i--)
{
for(j=0;j<110;j++);
}
}
void dht11_recive()<