【Proteus仿真】【51单片机】声光控节能灯设计

这篇具有很好参考价值的文章主要介绍了【Proteus仿真】【51单片机】声光控节能灯设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使用人体红外传感器、声音传感器、光线传感器模块,PCF8591 ADC模块、LED灯等。

系统运行后,声/光/红外同时控制灯亮灭,
光敏控制灯在白天不亮,只在晚上
声控检测到声音或红外检测到人
靠近时灯亮,声音消失或人离开后
延时5秒灯熄灭。


二、软件设计

/*
作者:嗨小易(QQ:3443792007)
*/

//系统参数初始化
void sys_parm_init(void)
{
	sys_ctrl.light=0;
	sys_ctrl.flag=0;
	sys_ctrl.sec=0;
	sys_ctrl.led_flag=0;
	LED=1;IREN=1;SOUND=1;
}

//系统数据获取
void sys_data_get(void)
{
	while(1)
	{
		//读取光线值
		sys_ctrl.light=pcf8591_read_adcvalue(0);
		sys_ctrl.light=cal_map(sys_ctrl.light,0,255,0,100);

		break;
	}
}

//系统功能控制
void sys_fun_ctrl(void)
{
	static u8 sta=0;

	//如果是白天,无论有人与否,LED关闭
	if(sys_ctrl.light>=70)
	{
		LED=1;
		sys_ctrl.flag=1;//标记白天
		TR1=0;//关闭定时器
		sys_ctrl.sec=0;
	}
	else
	{
		sys_ctrl.flag=0;//标记晚上	
	}
	//只有晚上时,灯才受光线、声音、人体红外控制
	if(sys_ctrl.flag==0)
	{
		//如果有人或者有声音,灯亮
		if(IREN==0 || SOUND==0)
		{
			LED=0;
			TR1=0;//关闭定时器
			sys_ctrl.sec=0;
			sys_ctrl.led_flag=1;
		}
		//如果没有人并且没有声音,灯亮一段时间熄灭
		if(IREN==1 && SOUND==1 && sys_ctrl.led_flag==1)
		{
			TR1=1;//打开定时器	
		}
	}	
} 

//应用控制系统
void appdemo_show(void)
{
	sys_parm_init();//系统参数初始化
	time1_init();//定时器1初始化,10ms

	while(1)
	{
		sys_data_get();//系统数据获取
		sys_fun_ctrl();//系统功能控制		
	}
}

//定时器1中断函数
void time1() interrupt 3
{	
	static u8 i=0;
	
	TH1=0xDC;
	TL1=0x00; 
	i++;
	if(i>=100)//1S到
	{
		i=0;
		sys_ctrl.sec++;
		if(sys_ctrl.sec>=LED_COLSE_TIME)//时间到达,自动关闭LED
		{
			LED=1;
			TR1=0;//关闭定时器
			sys_ctrl.sec=0;
			sys_ctrl.led_flag=0;
		}
	}
}


三、实验现象

演示视频:https://space.bilibili.com/444388619

声控灯proteus,【Proteus仿真】【51单片机】趣味项目设计,proteus,51单片机,单片机
声控灯proteus,【Proteus仿真】【51单片机】趣味项目设计,proteus,51单片机,单片机
声控灯proteus,【Proteus仿真】【51单片机】趣味项目设计,proteus,51单片机,单片机


联系作者

专注于51单片机、STM32、国产32、DSP、Proteus、ardunio、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。文章来源地址https://www.toymoban.com/news/detail-770995.html

到了这里,关于【Proteus仿真】【51单片机】声光控节能灯设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Proteus仿真】【51单片机】智能温控风扇设计

    本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶、按键、蜂鸣器、L298N电机驱动模块、直流电机、DS18B20温度传感器等。 系统运行后,LCD1602显示传感器检测的温度值; 默认以自动模式运行,若按下K4键切换为手动模式,此时可以 通过K1和K2控制风扇加减速,风扇档位共

    2024年02月16日
    浏览(42)
  • 【Proteus仿真】【51单片机】水箱液位监控系统

    本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶、按键、蜂鸣器、液位传感器、PCF8591 ADC转换器、水泵等。 主要功能: 系统运行后,LCD1602显示当前水位、上下限阈值和工作模式,系统默认处于自动模式。若检测水位高于上限,声光报警,开启抽水。若检测水位低于下限

    2024年02月07日
    浏览(34)
  • 【Proteus仿真】【51单片机】电子密码锁设计

    本项目使用Proteus8仿真51单片机控制器,使用LCD1602液晶、矩阵按键、蜂鸣器、EEPROM模块、继电器模块等。 系统运行后,LCD1602显示密码输入提示界面,系统存储在EEPROM的初始密码为123456, 用户可通过矩阵按键S1-S10输入数值0-9,当在密码输入过程中有误,可按S11键回删并重新输

    2024年02月13日
    浏览(29)
  • 二、51单片机 使用Proteus仿真掌握矩阵键盘(仿真及代码)

    学习内容:通过proteus实现对51单片机矩阵的掌握 1 、键盘接口设计。键盘——向单片机输入数据、命令等功能,是人机对话的主要手段。由若干按键按照一定规则组成。每一个按键实质上是一个按键开关,按构造可分为有触点开关按键和无触点按键。有触点开关按键常见的有

    2024年02月11日
    浏览(33)
  • 【Proteus仿真】【51单片机】贪吃蛇游戏-LCD12864

    本项目使用Proteus8仿真51单片机控制器,使LCD12864液晶,按键等。 主要功能: 系统运行后,LCD12864液晶显示游戏界面,可通过K1-K4键控制蛇的运行方向;每当吃到实物得分加1;当蛇撞墙或撞身时,游戏结束,可按下复位键开始。 B站演示视频:https://space.bilibili.com/444388619 视频地

    2024年02月04日
    浏览(33)
  • 【Proteus仿真】【51单片机】PWM电机调速系统设计

    本项目使用Proteus8仿真51单片机控制器,使用L298N电机模块、数码管模块、按键模块、LED指示灯模块等。 系统运行后,数码管显示电机当前运行档位和速度。 可通过按键K4启动与停止,按键K1加速、按键K2减速,按键K3换向; 档位可在1-5挡。 最终可实现: 按键功能:具有加速、

    2023年04月17日
    浏览(37)
  • 【Proteus仿真】【51单片机】温度报警控制系统设计

    本项目使用Proteus8仿真51单片机控制器,使用继电器模块、DS18B20温度传感器模块、LCD1602模块、蜂鸣器、按键模块等。 主要功能: 系统运行后,LCD1602显示DS18B20采集温度值、温度上下限阈值。可通过K1、K2键对温度上限设置,可通过K3、K4键对温度下限设置,若检测温度大于或小

    2024年02月09日
    浏览(36)
  • 208、仿真-51单片机脉搏心率与心电报警Proteus仿真设计(程序+Proteus仿真+配套资料等)

    目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、程序源码 资料包括: 需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于

    2024年02月12日
    浏览(31)
  • Proteus仿真--基于51单片机的走马灯实现(仿真文件+程序)

    本文主要介绍基于51单片机的走马灯仿真(完整仿真源文件及代码见文末链接) 本设计中有16个LED灯用于流水走马演示,一位数码管用于显示当前模式状态,3个按键分别用于选择模式及加减速度控制 仿真图如下 其中 K1:用于模式切换选择,有多种模式可切换 K2:加速流水/走

    2024年02月06日
    浏览(39)
  • 【Proteus仿真】| 51单片机——MAX7219 驱动数码管

    系列文章 todo: 该文章目的:让大家快速上手——知道如何使用MAX7219。故MAX7219就不做详细介绍了(需要了解的话可以看其他博文及数据手册)。 max7219是一个串行输入/输出 共阴极 数码管(点阵)驱动芯片。1个MAX7219最多可以驱动8位数码管。它具有自动扫描(切换位),BCD译码器(即

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包