当前位置: 首页 > article >正文

【可答疑】基于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、代码

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

/* 按键扫描 */
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智能台灯"获取本项目所有文件!

希望可以对你有所帮助~


http://www.kler.cn/news/334561.html

相关文章:

  • 用Spring Boot搭建IT交流与学习平台
  • 机器学习系列篇章0 --- 人工智能机器学习相关概念梳理
  • 【复习】CSS中的选择器
  • 定时器TIM输出比较及其应用
  • 幂等性接口实现
  • 前端公共资源CDN存储库大全
  • Pikachu-unsafe upfileupload-getimagesize
  • 【深度学习】— softmax回归、网络架构、softmax 运算、小批量样本的向量化、交叉熵
  • 【C++ STL】手撕vector,深入理解vector的底层
  • 【分布式微服务云原生】掌握分布式缓存:Redis与Memcached的深入解析与实战指南
  • 【RabbitMq源码阅读】分析RabbitMq发送消息源码
  • stm32定时器中断和外部中断
  • 深入探讨指令调优的局限性
  • 删除GitHub仓库的fork依赖 (Delete fork dependency of a GitHub repository)
  • 简单介绍Wiki和历史
  • pytorch和yolo区别
  • Spring Boot新闻推荐系统:性能优化策略
  • 10.2 如何解决从复杂 PDF 文件中提取数据的问题?
  • 吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)2.7-2.8
  • c++之继承(上)