【可答疑】基于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智能台灯"**获取本项目所有文件!

希望可以对你有所帮助~

相关推荐
小美哥13143 小时前
格式工厂转换视频很慢、Pr视频剪辑导出很慢的优化设置(就用显卡的默认设置即可)
音视频·格式工厂
future14125 小时前
单片机学习日记
单片机·嵌入式硬件·学习
宠友信息6 小时前
仿小红书短视频APP源码:Java微服务版支持小程序编译的技术解析
java·微服务·音视频
hazy1k7 小时前
K230基础-获取触摸坐标
图像处理·stm32·单片机·嵌入式硬件·k230
知南x7 小时前
STM32MP157目标检测环境搭建 (3) NCNN环境安装
stm32·嵌入式硬件·目标检测
日更嵌入式的打工仔9 小时前
InitLWIP() 初始化
笔记·嵌入式硬件·学习
bylander9 小时前
【论文阅读】通义实验室,VACE: All-in-One Video Creation and Editing
论文阅读·人工智能·计算机视觉·音视频
Black蜡笔小新9 小时前
破解工地防盗难题:如何利用EasyCVR实现视频监控统一管理?
运维·音视频
eqwaak09 小时前
动态图表导出与视频生成:精通Matplotlib Animation与FFmpeg
开发语言·python·ffmpeg·音视频·matplotlib
学生董格10 小时前
[嵌入式embed]Keil5-STM32F103C8T6(江协科技)+移植RT-Thread v3.15模版
stm32·嵌入式硬件·rt-thread·keil5·江协科技