【可答疑】基于51单片机的智能台灯(含仿真、代码、报告、演示视频等)

✨哈喽大家好,这里是@每天一杯冰美式oh,985电子本硕,大厂嵌入式在职0.3年,业余时间做做单片机小项目,有需要也可以提供就业指导(免费)~

🐱‍🐉这是51单片机毕业设计100篇系列的第19篇:基于51单片机的智能台灯

💻项目相关说明:

  • 代码量:564行
  • 报告字数:5547字
  • 含代码、仿真、原理图、报告、器件清单、常见问题(实物、lw可另外定制)

🎈项目分享:见文末!


1、主要功能

该系统由AT89C51/STC89C52单片机+LCD1602显示模块+DS1302时间模块+光敏传感器模块+人体红外模块+按键等模块构成。适用于智能台灯、自动调节灯光亮度等相似项目。

可实现功能:

1、LCD1602实时显示北京时间、环境光照强度、手动/自动模式、台灯亮度等信息;

2、DS1302采集时间数据;

3、光敏传感器(电位器模拟)采集光照强度;

4、人体红外传感器(按键模拟)采集人体靠近信息;

5、按键可设置自动/手动模式,手动模式下通过按键可以自动调节台灯亮度,自动模式下如果有人接近,则根据环境亮度,自动打开台灯并调节亮度;

6、具备自动断电功能,人离开1分钟后自动关灯。

2、仿真

proteus仿真使用8.10版本,由于该软件版本迭代原因,不能确保其他版本软件能够正常运行,请安装好对应软件(版本一致或者高于这个版本都可以)

3、代码

部分代码,仅供参考,注释齐全。

objectivec 复制代码
/* 按键扫描 */
unsigned char key_scan(void)
{
	uchar keyval=0;
	if(KEY1 == 0)			//如果按键1按下
	{
		delay(10);	//延时10ms,去除按键抖动
		if(KEY1 == 0)		//再判断一次按键按下
		{	
			return 1; 		//输出键值1
		}	
	}
	if(KEY2 == 0)			//如果按键2按下
	{
		delay(10);	//延时10ms,去除按键抖动
		if(KEY2 == 0)		//再判断一次按键按下
		{		
			return 2; 		//输出键值2
		}	
	}
	if(KEY3 == 0)			//如果按键3按下
	{
		delay(10);	//延时10ms,去除按键抖动
		if(KEY3 == 0)		//再判断一次按键按下
		{		
			return 3; 		//输出键值3
		}	
	}
	
	return 0;				//如果没有按键按下,则输出0
}

4、原理图

使用AD21绘制(不是嘉立创哦

5、参考报告

内含5.5k字,24页相关报告一份,纯手打~

6、演示视频

52s的演示视频,将该项目的功能都展示了一遍,如果还有不清楚的地方,欢迎后台私聊!

7、常见问题

8、资源获取

扫描如下二维码,回复**"51智能台灯"**获取本项目所有文件!

希望可以对你有所帮助~

相关推荐
小智学长 | 嵌入式18 分钟前
单片机-STM32部分:13-1、蜂鸣器
stm32·单片机·嵌入式硬件
#金毛40 分钟前
六、STM32 HAL库回调机制详解:从设计原理到实战应用
stm32·单片机·嵌入式硬件
欢乐熊嵌入式编程2 小时前
智能手表固件升级 OTA 策略文档初稿
嵌入式硬件·学习·智能手表
欢乐熊嵌入式编程3 小时前
智能手表 MCU 任务调度图
单片机·嵌入式硬件·智能手表
【云轩】3 小时前
电机密集型工厂环境下的无线通信技术选型与优化策略
经验分享·嵌入式硬件
Icoolkj3 小时前
可灵 AI:开启 AI 视频创作新时代
人工智能·音视频
sword devil9003 小时前
将arduino开发的Marlin部署到stm32(3D打印机驱动)
stm32·单片机·嵌入式硬件
GodKK老神灭3 小时前
STM32 变量存储
stm32·单片机·嵌入式硬件
木宁kk4 小时前
51单片机引脚功能概述
单片机·嵌入式硬件
JANYI20184 小时前
嵌入式MCU和Linux开发哪个好?
linux·单片机·嵌入式硬件