当前位置: 首页 > news >正文

基于51单片机智能窗帘仿真设计

基于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单片机芯片。

img

以下为本设计资料展示图:

2. 讲解视频:

讲解视频包含仿真运行讲解和代码讲解

3. 仿真设计

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后LCD1602显示温湿度和光照强度。

img

开机默认是自动模式,自动模式指示灯点亮。可以通过按键切换自动/手动模式。手动模式下可以通过按键切换开/关窗帘。

imgimg

如果光照强度大于阈值,说明自然光足够亮,不需要开窗帘。当光线强度超过60lux时,窗帘关闭以保持室内适宜亮度;当光线强度低于30(假设单位为lux)时,窗帘自动开启以便充分利用自然光照明。

4. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合视频理解代码含义。

img

温湿度模块代码

#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()//接收
{
unsigned char j,k,m;
unsigned int i;SDA=0;delay1ms(30);//开始信号20msSDA=1;for(i=0;i<1000;i++)//等待响应{if(!SDA)break;}if(i==1000){	SDA=1;return;//如果没有响应,返回}for(i=0;i<1000;i++)//等待响应结束{if(SDA)break;}if(i==1000){SDA=1;return;//如果响应超时,返回}for(i=0;i<1000;i++)//等待开始{if(!SDA)break;}if(i==1000){	SDA=1;return;//如果没有响应,返回}
for(k=0;k<5;k++) //接收5个数据{for(j=0;j<8;j++)//接收8位{ m<<=1;//===========================for(i=0;i<1000;i++)//等待0信号结束{if(SDA)break;}if(i==1000){	SDA=1;return;//如果超时,返回}//===========================for(i=0;i<1000;i++)//等待开始信号{if(!SDA)break;}if(i==1000){SDA=1;return;//如果超时,返回}if(i<5)m++;}dht11_dat[k]=~m;}delay1ms(1);	  	
} 

mian.c代码

#include<reg51.h>
#include "DHT11.h"
#include "lcd1602.h"
#include "ADC0832.h"
完整代码见文章后面下载链接
sbit AA=P1^0;//电机
sbit BB=P1^1;
sbit CC=P1^2;
sbit DD=P1^3;
sbit test=P3^6;
sbit k1=P3^0;//切换 
sbit k2=P3^1;//正转
sbit k3=P3^2;//反转
sbit k4=P3^3;//停止
sbit led=P3^7; //手动模式指示灯
sbit led1=P3^6; //自动模式指示灯
uchar time=0;
uchar wen=0,shi=0,guang=0;//温度湿度光照
uchar xian1[]="wen=00C  shi=50%"; //温度湿度显示
uchar xian2[]="light=0000Lux";//光照
uchar mode=0,flag=0;	   
uchar start=1;//开始
uchar endflag=0;//停止  
void delay(uint i)
{while(i--){//	key_scan();}
}
//开窗
void open()
{uchar i;for(i=0;i<10;i++){BB=1;delay(1000);//正转AA=0;delay(10000);CC=1;delay(10000);BB=0;delay(10000);DD=1;delay(10000);CC=0;delay(10000);AA=1;delay(10000);DD=0;delay(10000);if(!k4)break;}flag=1;
}
//关窗
void close()
{uchar i;for(i=0;i<10;i++){DD=1;delay(10000);//反转AA=0;delay(10000);CC=1;delay(10000);DD=0;delay(10000);BB=1;delay(10000);CC=0;delay(10000);AA=1;delay(10000);BB=0;delay(10000);if(!k4)break;}flag=0;
}
//主函数
void main()
{TMOD|=0X01;//定时器设置TH0=0X3C;TL0=0XB0;	ET0=1;EA=1;TR0=1;init_1602();AA=1;BB=0;CC=0;DD=0;if(mode)  //点亮模式指示LED{led=0;}else	{led1=0;}while(1){if(!k1)//模式切换{delay(1000);//防抖if(!k1){mode=!mode;if(mode)  //点亮LED{led=0;led1=1;}else{led=1;led1=0;}start=1;while(!k1);}}if(start)//启动检测{if(mode==0)//自动模式{if(wen<25)//温度小于25{if((guang<30)&&(flag==0)){open();//开窗}if((guang>60)&&(flag==1)){close();//关窗}}else//温度高于25,正转{//正转if(flag==0)open();}}else //手动模式{if(!k3){//反转close();}if(!k2){ //正转open();}		}}}
}
void Timer0() interrupt 1
{	if(time<10)time++;else{time=0;dht11_recive();//读取温湿度.wen=dht11_dat[2];shi=dht11_dat[0];guang=ADC();//读取光照xian1[4]=wen/10+0x30;xian1[5]=wen%10+0x30;xian1[13]=shi/10+0x30;xian1[14]=shi%10+0x30;xian2[7]=guang/100+0x30;xian2[8]=guang%100/10+0x30;xian2[9]=guang%10+0x30;write_string(1,0,xian1);//显示write_string(2,0,xian2);}TH0=0X3C;TL0=0XB0;
}

5. 设计报告

8104字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试等

img

随着现代科技的飞速进步和物联网技术的广泛应用,智能家居已经成为未来生活的重要趋势之一。在这一背景下,智能窗帘作为智能家居系统中的关键一环,不仅极大地提升了家居生活的便捷性和舒适度,而且对于实现节能环保、优化室内环境品质具有不可忽视的意义。智能窗帘可以根据外界环境的变化自动调节开闭状态,有效控制室内光照强度和温度,从而降低空调和照明设备的能耗,营造出更为宜人的居住环境。

本课程设计项目正是针对这一领域的需求,以51系列单片机为核心控制器,借助功能强大的Proteus仿真平台进行设计与模拟实现。我们计划开发一款具备双模式切换功能的智能窗帘控制系统,该系统能够灵活地在自动模式和手动模式之间切换,以适应用户在不同场景下的使用需求。

6. 原理图

AD格式原理图。

img

7. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1、程序

2、proteus仿真

3、功能要求

4、软硬件流程图

5、开题报告

6、设计报告

7、原理图

8、讲解视频

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

资料下载链接:

链接:https://pan.baidu.com/s/1iwRTCoFf0TLfMZRgMbOGmw?pwd=yssk
提取码:yssk 

http://www.mrgr.cn/news/75093.html

相关文章:

  • STM32问题集
  • 显示微服务间feign调用的日志
  • 操作系统——进程调度
  • C# 实现对指定句柄的窗口进行键盘输入的实现
  • 新日撸java三百行` 新手小白java学习记录 `Day1
  • git config 保存密码
  • 解决failed to execute PosixPath(‘dot‘) 或者GraphViz‘s executables not found
  • 【MySQL】约束
  • 三、模板与配置(下)
  • 【MySQL】数据库必备知识:全面整合表的约束与深度解析
  • vue中重置对象的好使方式(封装好的函数,可直接食用)
  • YZ系列工具之YZ10:VBA_梦幻图像
  • Orleans Stream测试
  • 大数据新视界 -- 大数据大厂之 Impala 性能飞跃:动态分区调整的策略与方法(上)(21 / 30)
  • python语言基础-4 常用模块-4.12 namedtuple(名称元组)
  • 第12章 系统部署
  • 一道C语言关于距离的期末题及答案
  • 光伏储能微电网协调控制器
  • 20241114给荣品PRO-RK3566开发板刷Rockchip原厂的Android13下适配RJ45以太网卡
  • STM32学习笔记-----UART的概念
  • 远程开发测试必看:如何在群晖NAS上运行网页版Ubuntu
  • Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
  • 三、模板与配置(上)
  • springboot学科竞赛管理(代码+数据库+LW)
  • P10901 [蓝桥杯 2024 省 C] 封闭图形个数
  • 【话题讨论】AI赋能电商:创新应用与销售效率的双轮驱动