news 2026/5/11 7:56:08

基于单片机窗帘控制(温湿度,烟雾,红外,光照)系统Proteus仿真(含全部资料)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于单片机窗帘控制(温湿度,烟雾,红外,光照)系统Proteus仿真(含全部资料)

全套资料包含:Proteus仿真源文件+keil C语言源程序+AD原理图+流程图+元器件清单+说明书等

资料下载:↓↓↓

通过网盘分享的文件:资料分享
链接:百度网盘 请输入提取码提取码: tgnu


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

分别利用温湿度传感器、烟雾传感器、光敏电阻、红外检测控制模块等
将检测温湿度、烟雾浓度、光照强度以及是否有人通过,各种传感器将环境信息传输到单片机
单片机控制步进电机开窗或关窗

烟雾、温度、湿度高于设定值,开窗
否则:如果光照过高或者检测到有人,关窗


项目文件:

一、Proteus仿真源文件

​​

二、AD原理图文件

二、报告说明书

三、系统流程图

​​

四、器件清单

元件型号数量
单片机AT89C511
电容30pf2
电容10uf1
按钮17
开关1
晶振12MH1
电阻10k3
电位器1k1
模数芯片ADC08321
显示器LCD16021
排阻10k1
LED绿色1
光敏电阻10k1
温湿度传感器SHT111
步进电机4相1
电阻100欧1
驱动器LULN20031

五、Keil c语言程序源代码(部分)

#include "reg51.h" #include "ADC0832.h" #include "lcd1602.h" #include "SHT11.h" #define uchar unsigned char #define uint unsigned int sbit AA=P2^4;//电机 sbit BB=P2^5; sbit CC=P2^6; sbit DD=P2^7; sbit led=P2^3;//指示灯 sbit man=P3^6;//人体红外 uchar yan=0,light=0;//烟雾、光照 uchar lim1=50,lim2=50,lim3=25,lim4=70;//阀值 uchar mode=0,time=0; uchar disp1[]="00"; uchar disp2[]="000"; uchar key_scan()//按键检测 { uchar i,j; i=0; j=0; P1=0x0f; if(P1!=0x0f) //检测有无按下 { switch(P1)//检测行 { case 0x0e:i=1;break; case 0x0d:i=5;break; case 0x0b:i=9;break; case 0x07:i=13; } P1=0xf0; switch(P1)//检测列 { case 0xe0:j=0;break; case 0xd0:j=1;break; case 0xb0:j=2;break; case 0x70:j=3; } while(P1!=0xf0);//等待按键松开 } return i+j; } void zheng()//正转 { uchar i=0; for(i=0;i<20;i++) { BB=1;delay_uint(5000); AA=0;delay_uint(5000); CC=1;delay_uint(5000); BB=0;delay_uint(5000); DD=1;delay_uint(5000); CC=0;delay_uint(5000); AA=1;delay_uint(5000); DD=0;delay_uint(5000); } led=0; } void fan() //反转 { uchar i=0; for(i=0;i<20;i++) { DD=1;delay_uint(5000); AA=0;delay_uint(5000); CC=1;delay_uint(5000); AA=1;delay_uint(5000); BB=0;delay_uint(5000); } led=1; } //主函数 void main() { uchar i=0; init_1602(); TMOD|=0X01; TH0=0X3C; TL0=0XB0; ET0=1;//打开定时器0中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 while(1) { i=key_scan();//按键检测 if(i==1)//设置 { mode=1; write_string(1,0," "); write_string(2,0," "); } if(i==2)//OK { mode=0; write_string(1,0," "); write_string(2,0," "); } //判断,窗户控制 if((yan>lim1)||(sht_temp>lim3)||(sht_humi>lim4)) { if(led) zheng();//开窗 } else { if((light>lim2)|| !man) { if(!led) fan();//关窗 } } //按键设置 if(mode==1) { if(i==3)//温度 { if(lim3<99) lim3++; } if(i==4) { if(lim3>0) lim3--; } if(i==5)//烟雾 { if(lim1<99) lim1++; } if(i==6) { if(lim1>0) lim1--; } if(i==7)//湿度 { if(lim4<99) lim4++; } if(i==9)//光照 { if(lim2<255) lim2++; } if(i==10) { if(lim2>0) lim2--; } } } } //定时器0中断 void Timer0() interrupt 1 { uint i; if(time<10)//延时采样 time++; else { time=0; yan=ADC(1);//测量烟雾 light=ADC(2);//测量光照 i=yan; i=i*99/128; yan=i; ReadShtData();//测量温湿度 //显示 if(mode==0) { disp1[0]=yan/10+0x30; disp1[1]=yan%10+0x30; write_string(1,0,"Y:"); write_string(1,2,disp1); disp2[0]=light/100+0x30; disp2[1]=light%100/10+0x30; disp2[2]=light%10+0x30; write_string(1,4,"% G:"); write_string(1,10,disp2); write_string(1,13,"Lx"); disp1[0]=sht_temp/10+0x30; disp1[1]=sht_temp%10+0x30; write_string(2,0,"T:"); write_string(2,2,disp1); disp1[0]=sht_humi/10+0x30; disp1[1]=sht_humi%10+0x30; write_string(2,4,"C S:"); write_string(2,10,disp1); write_string(2,12,"% "); } else { disp1[0]=lim1/10+0x30; disp1[1]=lim1%10+0x30; write_string(1,0,"set:"); write_string(1,4,disp1); disp2[0]=lim2/100+0x30; disp2[1]=lim2%100/10+0x30; disp1[0]=lim3/10+0x30; disp1[1]=lim3%10+0x30; write_string(2,4,disp1); disp1[0]=lim4/10+0x30; disp1[1]=lim4%10+0x30; write_string(2,6,"C "); write_string(2,9,disp1); write_string(2,11,"% "); } } TH0=0X3C; TL0=0XB0; }

六、全套资料包含

​​

七:项目资源获取

需要完整的资料可以点击下面的名片关注,回复“资料”!

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 7:53:51

Wan2.2-T2V-A14B在AI辅助教学视频个性化生成中的潜力

Wan2.2-T2V-A14B在AI辅助教学视频个性化生成中的潜力从“讲不清”到“看得见”&#xff1a;教育内容的视觉化革命 在中学物理课堂上&#xff0c;老师试图向学生解释“为什么卫星不会掉下来”&#xff0c;一边画着示意图&#xff0c;一边比划着圆周运动和引力平衡。台下学生眼神…

作者头像 李华
网站建设 2026/5/9 5:26:22

解锁Wan2.2-T2V-A14B隐藏功能:高级提示词工程技巧

解锁Wan2.2-T2V-A14B隐藏功能&#xff1a;高级提示词工程技巧 在影视制作仍被高昂成本和漫长周期主导的今天&#xff0c;一个新趋势正悄然改变游戏规则——用一句话生成一段高保真、有情绪、带运镜的720P视频。这不再是科幻情节&#xff0c;而是以 Wan2.2-T2V-A14B 为代表的最新…

作者头像 李华
网站建设 2026/5/7 17:52:41

Wan2.2-T2V-A14B能否生成自然灾害模拟视频?应急管理培训素材制作

Wan2.2-T2V-A14B能否生成自然灾害模拟视频&#xff1f;应急管理培训素材制作 在一场突如其来的山洪暴发中&#xff0c;救援队需要快速判断水流速度、评估房屋结构稳定性&#xff0c;并决定疏散路线。传统上&#xff0c;这类应急演练依赖实地拍摄或昂贵的CG动画&#xff0c;但现…

作者头像 李华
网站建设 2026/5/7 23:14:18

上海人工智能实验室安全团队实习生/全职招聘

大家好&#xff0c;我是刘东瑞(https://shenqildr.github.io/)&#xff0c;目前在上海人工智能实验室担任青年科学家&#xff0c;去年从上海交通大学博士毕业。非常感谢求学与科研道路上给予我指导与陪伴的师长和同伴&#xff0c;让我能坚持在自己热爱的AI安全可信方向上前行。…

作者头像 李华
网站建设 2026/5/8 22:19:18

Kubernetes Pod 垂直扩缩容实战指南:从重启到无重启

Kubernetes Pod 垂直扩缩容实战指南:从重启到无重启 在 Kubernetes 中,Pod 的 CPU 和内存资源(resources.requests 与 resources.limits)通常在创建时就确定,后续调整往往意味着 Pod 重启,这在对高可用、低中断的业务场景中并不理想。 从 Kubernetes 1.27 开始,官方引…

作者头像 李华
网站建设 2026/5/5 20:40:43

Wan2.2-T2V-A14B如何应对‘先因后果’的时间逻辑关系?

Wan2.2-T2V-A14B如何应对“先因后果”的时间逻辑关系&#xff1f; 在AI生成内容迈向影视级叙事的今天&#xff0c;一个看似简单却长期困扰行业的难题浮出水面&#xff1a;为什么AI生成的视频里&#xff0c;“爆炸”总比“点火”来得更快&#xff1f; 这并非玩笑。许多文本到视频…

作者头像 李华