基于51单片机的智能照明控制系统

2024-03-11 06:30

本文主要是介绍基于51单片机的智能照明控制系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**功能:**基于51单片机的智能照明控制系统,以51系列单片机为核心,使用光敏传感模块(采用ADC0832对光敏电路进行AD转换)、红外传感模块与声敏传感模块组成检测装置,并采用PWM对照明灯的光强度进行控制。
1.本设计分为手动模式和自动模式,可通过模式切换键切换模式;自动模式下绿灯亮,手动模式下,绿灯灭;
2.在自动模式下,照明灯根据环境光照强度和是否区域内检测到人体、声音来智能开启和关闭照明器,并根据不同环境光照强度,自动调节灯泡的照明亮度。
3.当检测到光照强度大于300LX(人眼对可见光感觉最舒适的照明强度)或未检测到人体、声音时,照明器自动关闭。
4.只有在满足光亮强度低于300LX和红外检测区域被有人员活动或声敏模块检测有声音这两个条件时才自动开启照明器。
Protues仿真:
在这里插入图片描述
程序:

/*********************************************************/
// 主函数
/*********************************************************/
void main()
{uchar ret;TimerInit(); 					// 定时器初始化LED=0;								// 指示灯点亮(自动模式指示灯)ret=Get_ADC0832();		// 获取AD采集结果(环境光照强度)AutoControl(ret);			// 上电先进行一次自动亮度控制	AutoControl(ret+7);while(1){/* 模式切换控制 */if(Key1==0)					// 如果按键1被按下去{LED=~LED;					// 切换LED灯状态DelayMs(10);			// 延时消除按键按下的抖动while(!Key1);			// 等待按键释放DelayMs(10);			// 延时消除按键松开的抖动}/* 亮度控制 */if(LED==1)							// 如果LED是灭的{ManualControl();			// 则进行手动控制}else										// 如果LED是亮的{if(gTime<60000){ret=Get_ADC0832();		// 获取AD采集结果(环境光照强度)AutoControl(ret);			// 进行自动控制	DelayMs(200);}}/*检测是否有人*/if(Module==1||Sound==1){gTime=0;										// 检测到有人,则把60秒计时清零}if(gTime>60000)								// 如果gTime的值超过了60000{gTime=60000;								// 则把gTime的值重新赋值为60000,避免过大溢出gIndex=0;										// 如果1分钟检测不到有人,则把台灯熄灭}}
}/*********************************************************/
// 定时器0服务程序,1毫秒
/*********************************************************/
void Timer0(void) interrupt 1
{TH0  = 252;						// 给定时器0的TH0装初值TL0  = 24;						// 给定时器0的TL0装初值	gTime++;							// 每1毫秒,gTime变量加1gCount++;							// 每1毫秒,gCount变量加1if(gCount==10)				// 如果gCount加到10了{gCount=0;						// 则将gCount清零,进入新一轮的计数if(gIndex!=0)				// 如果说台灯不是最暗的(熄灭){Lamp=0;						// 则把台灯点亮}}if(gCount==gIndex)		// 如果gCount计数到和gIndex一样了{if(gIndex!=9)				// 如果说台灯不是最亮的{Lamp=1;						// 则把台灯熄灭}}
}

关注公众号-电子应用学习馆,首页回复智能照明获取。

这篇关于基于51单片机的智能照明控制系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/796940

相关文章

51单片机学习记录———定时器

文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 定时器作用: 1.用于计数系统,可

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

基于 Java 实现的智能客服聊天工具模拟场景

服务端代码 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;public class Serv

江西电信联合实在智能举办RPA数字员工培训班,培养“人工智能+”电信人才

近日,江西电信与实在智能合作的2024年数字员工开发应用培训班圆满闭幕。包括省公司及11个分公司的核心业务部门,超过40名学员积极报名参与此次培训,江西电信企业信息化部门总监徐建军出席活动并致辞,风控支撑室主任黄剑主持此次培训活动。 在培训会开幕仪式上,徐建军强调,科创是电信企业发展的核心动力,学习RPA技术是实现数字化转型的关键,他阐述了RPA在提高效率、降低成本和优化资源方面的价值,并鼓励学

深度神经网络:解锁智能的密钥

深度神经网络:解锁智能的密钥 在人工智能的浩瀚星空中,深度神经网络(Deep Neural Networks, DNNs)无疑是最耀眼的那颗星。它以其强大的学习能力、高度的适应性和广泛的应用场景,成为了我们解锁智能世界的一把密钥。本文将带你走进深度神经网络的神秘世界,探讨其原理、应用以及实用操作技巧。 一、深度神经网络概述 深度神经网络,顾名思义,是一种具有多个隐藏层的神经网络。与传统的神经

STM32单片机PWR电源控制详解

文章目录 1. PWR概述 2. 电源结构框图 3. 上电复位和掉电复位 4. 可编程电压监测器 5. 低功耗模式 6. 模式选择 6.1 睡眠模式 6.2 停止模式 6.3 待机模式 7. 代码示例 1. PWR概述 PWR(Power Control)电源控制,负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能。 可编程电压监测器

【单片机毕业设计选题24024】-房间自动除湿控制系统

系统功能: 系统分为手动和自动模式,上电默认为自动模式。自动模式下如果获取到湿度 值大于设定的湿度值则自动打开风扇,手动模式下手动开关风扇。 系统上电后显示“欢迎使用除湿控制系统请稍后”,两秒钟后进入主页面显示。 第一行显示系统模式,手动或自动模式 第二行显示获取到的温湿度 第三行显示设置的湿度阈值 第四行显示风扇状态和系统报警状态,风扇状态有开关状态,系统状态和OK和 NG状态。

【智能优化算法改进策略之局部搜索算子(五)—自适应Rosenbrock坐标轮换法】

1、原理介绍 作为一种有效的直接搜索技术,Rosenbrock坐标轮换法[1,2]是根据Rosenbrock著名的“香蕉函数”的特点量身定制的,该函数的最小值位于曲线狭窄的山谷中。此外,该方法是一种典型的基于自适应搜索方向集的无导数局部搜索技术。此法于1960年由Rosenbrock提出,它与Hooke-Jeeves模式搜索法有些类似,但比模式搜索更为有效。每次迭代运算分为两部分[3]: 1)

基于51单片机抽奖系统

基于51单片机抽奖系统 (仿真+程序) 功能介绍 具体功能: 1.利用5片74HC495对单片机的IO进行串并转换,进而控制5个1位数码管; 2.采用一个独立按键用于抽奖系统的启停控制; 3.8位拨码开关是用于设定随机数发生器的“种子值”(初始值); ​演示视频: 基于51单片机抽奖系统  添加图片注释,不超过 140 字(可选) 程序 #inclu