基于单片机车窗控制(温湿度、烟雾、光照、雨水)系统Proteus仿真(含全部资料)

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

资料下载:↓↓↓

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


目录

资料下载:

Proteus仿真功能

项目文件资料:

一、Proteus仿真源文件

二、AD原理图文件

二、报告说明书

三、系统流程图

四、Keil c语言程序源代码


项目功能:

测量车内温湿度、烟雾浓度、车外光照以及下雨状况,自动调节车窗的开启和关闭。
【具体控制逻辑也可以自行修改】

1、手动模式
直接通过按钮控制窗户开启和关闭

2、自动模式
光线检测:    
晚上,关闭;
白天:有雨,关闭;
无雨:如果烟雾浓度过高(烟雾>15)(抽烟)或者车内湿度太大(湿度>80),开启;否则关闭


项目文件:

一、Proteus仿真源文件

​​

二、AD原理图文件

二、报告说明书

三、系统流程图

​​

四、器件清单

元件型号数量
单片机AT89C511
电容30pf2
电容10uf1
电阻10k2
晶振12MHZ1
数码管8位共阴1
按钮3
译码器74LS1382
排阻1k1
驱动器L298N1
电机直流1
LED绿色1
电阻100欧1
开关2
电位器1k1
光敏电阻10k1
传感器SHT111
模数转换ADC08321

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

#include "reg51.h"
#include <SHT11.h>
#include "ADC0832.h"
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^4;//按钮
sbit k2=P3^5;
sbit s1=P3^6;
sbit in=P1^6;//雨水检测
sbit out1=P3^2;//电机
sbit out2=P3^3;
sbit led=P3^7;//指示灯
//数码管编码
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar yan=0,guang=0;//烟雾,光照
uchar time=0;
uchar flag=0;

//延时
void delay(uint i)
{
	while(i--);
}
//主函数
void main()
{
	uchar k=0;
	out2=0;
	TMOD|=0X01;
	TH0=0X3C;
	TL0=0XB0;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		 if((out1==0)&&(out2==1))//指示灯
		 	led=0;
		else
			led=1;
		 if(!s1)//手动模式
		 {
		 	if(!k1 && (k!=1))//开启
			{
				out1=0;
				out2=1;
				k=1;
			}
			if(!k2 &&(k!=2))//关闭
			{
				out1=1;
				out2=0;
				k=2;
			}
			if(k1 && k2)
				k=0;
		 }
		 else//自动模式
		 {
		 	if(guang<50)//夜晚
			{
				out1=1;//关闭
				out2=0;
			}
			else		//白天
			{
				if(in)//无雨
				{
					if((yan>15)||(sht_humi>80))//抽烟检测+湿度检测
					{
						out1=0;//开启
						out2=1;
					}
					else
					{
						out1=1;//关闭
						out2=0;
					}
				}
				else
				{
					out1=1;//关闭
					out2=0;
				}
			}
		 }
		 //显示
		 P0=0;
		 P2=0;
		 P0=smgduan[sht_temp/10];		 
		 delay(100);

		 P0=0;
		 P2=1;
		 P0=smgduan[sht_temp%10];		 
		 delay(100);

		 P0=0;
		 P2=3;
		 P0=smgduan[sht_humi/10];		 
		 delay(100);

		 P0=0;
		 P2=4;
		 P0=smgduan[sht_humi%10];		 
		 delay(100);

		 P0=0;
		 P2=6;
		 P0=smgduan[yan/10];		 
		 delay(100);

		 P0=0;
		 P2=7;
		 P0=smgduan[yan%10];		 
		 delay(100);
	}
}
//定时器0中断
void Timer0() interrupt 1
{
	uint i;
	if(time<10)//0.5s
		time++;
	else
	{
		time=0;
		if(flag==0)
		{
		yan=ADC(1);//烟雾检测
		i=yan;
		i=i*99/255;
		yan=i;
		}
	}
	TH0=0X3C;
	TL0=0XB0;
}

六、全套资料包含

​​

七:项目资源获取

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

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值