51单片机的pwm控制的智能台灯设计【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能

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

可实现基本功能:

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

2、DS1302采集时间数据;

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

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

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

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

7、具备PWM调节灯光亮度功能,亮度一共分为9档。

本项目包含仿真、代码(538行代码)、原理图、课设报告(5547字)、流程图、器件清单、常见问题汇总、proteus运行视频等内容

2、仿真

protues 仿真使用的是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; 		//输出键值1
		}	
	}
	if(KEY3 == 0)			//如果按键3按下
	{
		delay(10);	//延时10ms,去除按键抖动
		if(KEY3 == 0)		//再判断一次按键按下
		{		
			return 3; 		//输出键值1
		}	
	}
	
	return 0;				//如果没有按键按下,则输出0
}

4、原理图

原理图采用AD21绘制(不是嘉立创哦。

5、报告

5.5k,24页,纯手打,有详细的电路分析和代码解析

6、常见问题汇总

里面包含了我对各个模块的详细解析,可以结合代码一起理解。如果正巧老师问题多,这个可以帮到你哦。(不定时更新,讲解模块也会越来越多)

7、演示视频

48s的演示视频,将该项目的功能都展示了一遍,如果还有不清楚的地方,欢迎后台私聊!(等我努努力出个完整的讲解视频!

8、资源获取

本项目包含的所有文件都可以在某号:今天也不想打工 ,回复 "51智能台灯 " get!

项目纯手打,不是免费的哦,一杯奶茶的💴~

希望可以帮到你哈!

相关推荐
LN花开富贵1 小时前
stm32g431rbt6芯片中VREF+是什么?在电路中怎么设计?
笔记·stm32·单片机·嵌入式硬件·学习
qq21084629531 小时前
【stm32笔记】使用rtt-studio与stm32CubeMx联合创建项目
笔记·stm32·嵌入式硬件
CV金科2 小时前
蓝桥杯—STM32G431RBT6按键的多方式使用(包含软件消抖方法精讲)从原理层面到实际应用(一)
stm32·单片机·嵌入式硬件·蓝桥杯
2021.092 小时前
五、CAN总线
嵌入式硬件
luckyluckypolar2 小时前
STM32——输入捕获
stm32·单片机·嵌入式硬件·物联网
hong1616882 小时前
嵌入式硬件基础知识
嵌入式硬件
hai405872 小时前
单片机(Microcontroller)原理及应用
单片机·嵌入式硬件
jun7788953 小时前
嵌入式硬件基础知识
嵌入式硬件
CDialog4 小时前
arduino ide开发esp32-wroom-32E
单片机·嵌入式硬件
我相遇拾年4 小时前
硬件基础知识
嵌入式硬件·arm·硬件工程