文章目录
- 0 前言
- 1 主要功能
- 2 硬件设计(原理图)
- 3 核心软件设计
- 4 实现效果
- 5 最后
0 前言
🔥
这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是
🚩 毕业设计 基于单片机的智能窗户系统(源码+硬件+论文)
🥇学长这里给一个题目综合评分(每项满分5分)
🧿 项目分享:
https://gitee.com/sinonfin/sharing
![在这里插入图片描述](https://img-blog.csdnimg.cn/04a61b2867af45e5934545e7b6f8161b.png)
1 主要功能
主要功能:一款基于单片机的智能窗户设计,主要可以实现烟雾、光照、温湿度采集。当烟雾超标、温湿度超标时,会自动打开窗户、风扇通风。当光线过暗(晚上)会自动关闭窗户,光线过亮时(白天)会自动打开窗户。还可以进行手动开关窗户。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8ef97d6691be42b1a738ff6b6d19bc43.png)
2 硬件设计(原理图)
![在这里插入图片描述](https://img-blog.csdnimg.cn/a041b23135624c28ae2ea0ee3a78b031.png)
PCB图
![在这里插入图片描述](https://img-blog.csdnimg.cn/46e8484ba04a4b639ebebf70cec338ed.png)
仿真效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/cccba1ab093a4b86a521f9663469e4d7.png)
3 核心软件设计
控制程序,根据解码得到的结果去执行需要的操作,开窗户、关窗户、停止移动、调节实时时间、调节开窗户时间、调节关窗户时间、时间增加、时间减少、显示电路、实时时间显示。主程序流程如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/6d8e5eea32a94b13bce2c194cdc9d9fe.png)
关键代码
#include <reg52.h>
#include <dht11.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
bit s=1;
sbit rs=P2^0;
sbit rd=P2^1;
sbit lcden=P2^2;
sbit menu=P2^5;
sbit add=P2^4;
sbit dec=P2^3;
sbit open=P2^6;
sbit close=P2^7;
sbit IR=P3^5;
sbit BEEP=P3^1;
sbit pf=P3^0;
#define MOTORSTEP P1
uchar dsflj,kval,lofl,menusw,con,befl,zhenfl,fanfl,brigfl;
uint sudu,dwbrigfl,humfl;
uchar count0,second,zhenzhuan,fanzhuan,timeflg,opensw,closesw,keysw;
uint adc0,adc1;
uint upbrig,dwbrig,kwbrig,uphum,uptemp,upsmo;
uint hour,minit,secon,DSdat,VAldat ,time;
uint ONhour,ONminit,ONsecon;
uint OFhour,OFminit,OFsecon;
uchar U8T_data_H,U8RH_data_H;
#define Imax 14000
#define Imin 8000
#define Inum1 1450
#define Inum2 700
#define Inum3 3000
uchar f=0;
uchar Im[4]={0x00,0x00,0x00,0x00};
uchar show[2]={0,0};
ulong m,Tc;
uchar IrOK;
void delay(uint z);
void write_rvalue();
uchar code logo1[]= "Welcome to use ";
uchar code logo2[]="window system ";
uchar code logo3[]="S=253T=85oCU=85%";
uchar code logo4[]="Br= 12:00:00 ";
uchar code logo5[]="window open ";
uchar code logo6[]="window close ";
uchar code logo7[]="GWbrig= LUX ";
uchar code logo8[]="UP-Hum= % ";
uchar code logo9[]="Please input... ";
uchar code logo10[]="Please wait... ";
uchar code logo11[]="UP-TEM= oC ";
uchar code logo12[]="SEtime 12:00:00";
uchar code logo13[]="ONtime12:00:00";
uchar code logo14[]="OFtime 12:00:00";
uchar code logo15[]="UP-SMO= ";
uchar code logo16[]="KWbrig= LUX ";
void delaymoto()
{
uint y=sudu;
while(y--);
}
uchar code FFW[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
uchar code REV[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};
xdata num1 [4] = {0x00,0x00,0x00,0x00,};
xdata num2 [4] = {0x00,0x00,0x00,0x00,};
xdata num3 [4] = {0x00,0x00,0x00,0x00,};
xdata num4 [4] = {0x00,0x00,0x00,0x00,};
xdata num5 [4] = {0x00,0x00,0x00,0x00,};
void delaylog(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=500;y>0;y--);
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=10;y>0;y--);
}
void SETP_MOTOR_FFW()
{
uint i=0;
for(i=0;i<8;i++)
{
MOTORSTEP=FFW[i];
delaymoto();
}
}
void SETP_MOTOR_REV()
{
uint i=0;
for(i=0;i<8;i++)
{
MOTORSTEP=REV[i];
delaymoto();
}
}
void write_com(uchar com)
{
rs=0;
lcden=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_date(uchar date)
{
rs=1;
lcden=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init1602()
{
uchar num;
rd=0;
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(logo1[num]);
delay(2);
}
write_com(0x80+0x40);
for(num=0;num<16;num++)
{
write_date(logo2[num]);
delay(2);
}
delaylog(200);
write_com(0x80);
for(num=0;num<16;num++)
{
write_date(logo6[num]);
delay(2);
}
write_com(0x80+0x40);
for(num=0;num<16;num++)
{
write_date(logo10[num]);
delay(2);
}
}
void write_sfm()
{
uchar shi ,ge;
shi=DSdat/10;
ge=DSdat%10;
write_date(0x30+shi);
write_date(0x30+ge);
}
4 实现效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/4bdb9273b5a64a9b9654408e1b141c8c.png)
5 最后
包含内容
![在这里插入图片描述](https://img-blog.csdnimg.cn/6fb66f9ec6f44e9abecbf4b53d1fbb6f.png)
🧿 项目分享:
https://gitee.com/sinonfin/sharing
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)