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

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

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

💻项目相关说明:

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

🎈项目分享:见文末!


1、主要功能

该系统由AT89C51/STC89C52单片机+LCD1602显示模块+光照传感器+时钟模块+温湿度传感器+继电器+按键、LED等模块构成。适用于智能衣柜、智能衣橱、紫外线定时消毒等相似项目。

可实现功能:

1、LCD1602实时显示北京时间、温湿度和开关门状态

2、时钟模块DS1302采集时间

3、光照传感器采集光照强度信息,如果打开衣柜的时候光照强度较低,则自动打开柜内照明灯

4、温湿度传感器DHT11采集柜内温湿度信息,如果湿度过高,则自动闭合除湿继电器,开始除湿

5、按键可设置消毒时间

6、按键开关衣柜门

2、仿真

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

消毒时间可设置:

3、代码

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

objectivec 复制代码
/*******************************************************************************
* 函 数 名         : Ds1302Write
* 函数功能		   : 向DS1302命令(地址+数据)
* 输    入         : addr,dat
* 输    出         : 无
*******************************************************************************/
void Ds1302Write(uchar addr, uchar dat)
{
	uchar n;
	RST = 0;
	_nop_();

	SCLK = 0;//先将SCLK置低电平。
	_nop_();
	RST = 1; //然后将RST(CE)置高电平。
	_nop_();

	for (n=0; n<8; n++)//开始传送八位地址命令
	{
		DSIO = addr & 0x01;//数据从低位开始传送
		addr >>= 1;
		SCLK = 1;//数据在上升沿时,DS1302读取数据
		_nop_();
		SCLK = 0;
		_nop_();
	}
	for (n=0; n<8; n++)//写入8位数据
	{
		DSIO = dat & 0x01;
		dat >>= 1;
		SCLK = 1;//数据在上升沿时,DS1302读取数据
		_nop_();
		SCLK = 0;
		_nop_();	
	}	
		 
	RST = 0;//传送数据结束
	_nop_();
}

/*******************************************************************************
* 函 数 名         : Ds1302Read
* 函数功能		   : 读取一个地址的数据
* 输    入         : addr
* 输    出         : dat
*******************************************************************************/
uchar Ds1302Read(uchar addr)
{
	uchar n,dat,dat1;
	RST = 0;
	_nop_();

	SCLK = 0;//先将SCLK置低电平。
	_nop_();
	RST = 1;//然后将RST(CE)置高电平。
	_nop_();

	for(n=0; n<8; n++)//开始传送八位地址命令
	{
		DSIO = addr & 0x01;//数据从低位开始传送
		addr >>= 1;
		SCLK = 1;//数据在上升沿时,DS1302读取数据
		_nop_();
		SCLK = 0;//DS1302下降沿时,放置数据
		_nop_();
	}
	_nop_();
	for(n=0; n<8; n++)//读取8位数据
	{
		dat1 = DSIO;//从最低位开始接收
		dat = (dat>>1) | (dat1<<7);
		SCLK = 1;
		_nop_();
		SCLK = 0;//DS1302下降沿时,放置数据
		_nop_();
	}

	RST = 0;
	_nop_();	//以下为DS1302复位的稳定时间,必须的。
	SCLK = 1;
	_nop_();
	DSIO = 0;
	_nop_();
	DSIO = 1;
	_nop_();
	return dat;	
}

4、原理图

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

5、参考报告

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

6、演示视频

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

7、常见问题

8、资源获取

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

希望可以对你有所帮助~

相关推荐
想搞嵌入式的小白36 分钟前
STM32外设问题总结
单片机·嵌入式硬件
weixin_527550402 小时前
Linux 环境下高效视频切帧的实用指南
linux·运维·音视频
ai产品老杨2 小时前
减少交通拥堵、提高效率、改善交通安全的智慧交通开源了。
前端·vue.js·算法·ecmascript·音视频
木子单片机2 小时前
基于STM32语音识别柔光台灯
stm32·单片机·嵌入式硬件·proteus·语音识别·keil
广药门徒2 小时前
澄清 STM32 NVIC 中断优先级
单片机·嵌入式硬件
小禾苗_3 小时前
32单片机——窗口看门狗
单片机·嵌入式硬件
小灰灰搞电子3 小时前
单片机0-10V电压输出电路分享
单片机·嵌入式硬件
红米饭配南瓜汤4 小时前
WebRTC中的几个Rtp*Sender
网络·网络协议·音视频·webrtc·媒体
Moonnnn.5 小时前
【单片机期末】串行口循环缓冲区发送
笔记·单片机·嵌入式硬件·学习
lingzhilab6 小时前
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
stm32·嵌入式硬件·信息可视化