基于51单片机智能晾衣架控制系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)
仿真图proteus7.8及以上
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0094
1. 主要功能:
基于51单片机的简易伸缩型智能晾衣架控制系统
1、系统具有测量环境湿度和光照强度功能;
2、自动模式下,如果检测湿度低于30%,光照大于50Lux,则将衣架伸出;否则将衣架收回;
3、手动模式下,通过按键控制衣架伸出和收回。
4、用绿色LED灯表示衣架的状态,绿灯亮表示衣架伸出状态,绿灯灭表示衣架收回状态;
5、使用LCD1602显示光照强度、湿度和工作模式;
需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
【腾讯文档】S0094 网盘链接
https://docs.qq.com/doc/DS3ZUYXRMVk1rY3N3
以下为本设计资料展示图:
2. 讲解视频:
讲解视频包含仿真运行讲解和代码讲解
3. 仿真
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后LCD1602显示光照强度、湿度和工作模式,默认自动模式,自该模式下,如果检测湿度低于30%,光照大于50Lux,则将衣架伸出;否则将衣架收回。
检测到光照强度大于50Lux,空气湿度低于30%,衣架自动伸出,直流电机正转,衣架指示灯亮绿灯。
检测到光照强度小于50Lux或者空气湿度低于30%,衣架自动收回,直流电机反转,衣架指示灯灭。
手动模式下可以通过按键控制伸出/收回晾衣架。
4. 设计报告
9549字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等
随着科技日新月异的发展和人们生活质量的持续提升,智能家居产品以其高效、便捷和舒适的特点,逐渐渗透到生活的方方面面,并日益受到广大用户的欢迎与青睐。智能晾衣架作为智能家居生态系统中的重要一环,其智能化、自动化的特性尤其凸显了科技创新带来的生活便利性。本课题正聚焦于此,旨在设计并实现一款基于51单片机技术为核心的简易伸缩型智能晾衣架控制系统,该系统能够精准地感知环境湿度和光照强度这两个影响衣物晾晒效果的关键因素,并据此进行智能化调控。
通过集成高精度的SHT11温湿度传感器以及配合PCF8591模数转换器及光照传感器,我们的智能晾衣架能够实时监测环境状态,根据预设的阈值条件(当湿度低于30%,光照强度大于50Lux时),自动控制晾衣架的伸出或收回,从而达到最佳的衣物晾晒效果,极大地提升了用户的生活体验和晾晒效率。
同时,为了满足不同用户在不同情境下的个性化需求,本系统还特别设置了手动模式,允许用户通过按键灵活控制晾衣架的伸缩状态,确保在任何情况下都能自如应对,真正实现了人性化操作和智能自动化相结合。
5. 程序代码
#include "reg51.h"
#include "lcd1602.h"
#include <PCF8591.h>
#include <SHT11.h>
#define uchar unsigned char
#define uint unsigned int
sbit led=P3^4;//指示灯
sbit k1=P3^5;//按钮
sbit k2=P3^6;
sbit k3=P3^7;
sbit out1=P2^3;//电机
sbit out2=P2^4;
uchar time=0;//定时
uchar light=0;//光照
uchar disp1[]="Light:000Lx";
uchar disp2[]="Humi:00%";
uchar mode=0;
uchar sec=0;
//主函数
void main()
{
init_1602();
TMOD|=0X01;
TH0=0X3C;
TL0=0XB0;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
while(1)
{
if(mode==1)//手动控制
{
if(!k2)//伸出
{
if(led &&(sec==0))
{
sec=100;
out1=1;
out2=0;
}
}
if(!k3)//收回
{
if(!led &&(sec==0))
{
sec=100;
out1=0;
out2=1;
}
}
}
if(!k1)//模式切换
{
mode=!mode;
while(!k1);
}
}
}
//定时器中断
void Timer0() interrupt 1
{
if(sec>0) //电机延时
sec--;
else
{
sec=0;
if(out1 && !out2)
led=0;
if(!out1 && out2)
led=1;
out1=1;//停止
out2=1;
}
if(time<10)//0.5s
time++;
else
{
time=0;
light=PCF8591_read(0);//光照测量
ReadShtData();//湿度测量
//显示
disp1[6]=light/100+0x30;
disp1[7]=light%100/10+0x30;
disp1[8]=light%10+0x30;
disp2[5]=sht_humi/10+0x30;
disp2[6]=sht_humi%10+0x30;
write_string(1,0,disp1);
write_string(2,0,disp2);
if(mode==0)
write_string(2,12,"auto");
else
write_string(2,12,"hand");
//自动控制
if(mode==0)
{
if((light>50)&&(sht_humi<30))//伸出
{
if(led &&(sec==0))
{
sec=100;
out1=1;
out2=0;
}
}
else//收回
{
if(!led &&(sec==0))
{
sec=100;
out1=0;
out2=1;
}
}
}
}
TH0=0X3C;
TL0=0XB0;
}
6. 原理图
原理图使用AD绘制,可供实物参考,仿真不同于实物,经验不足不要轻易搞实物。
元器件清单:
元件 | 型号 | 数量 |
---|---|---|
单片机 | AT89C51 | 1 |
电容 | 30pf | 2 |
电容 | 10uf | 1 |
按钮 | 4 | |
晶振 | 12MHZ | 1 |
电阻 | 10k | 2 |
电阻 | 1k | 1 |
LED | 绿色 | 1 |
驱动器 | L298N | 1 |
排阻 | 10k | 1 |
显示器 | LCD1602 | 1 |
模数芯片 | PCF8591 | 1 |
光敏电阻 | 10k | 1 |
传感器 | SHT11 | 1 |
电机 | 直流 | 1 |
电源部分 | ||
排针 | 2P | 1 |
电容 | 0.1uf | 2 |
电容 | 100uf | 2 |
稳压器 | 7805 | 1 |
Proteus仿真和实物作品的区别:
1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。
2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。
电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。
3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。
4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。
7. 设计资料内容清单&&下载链接
资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。
0、常见使用问题及解决方法–必读!!!!
1、程序
2、proteus仿真
3、功能要求
4、软硬件流程图
5、开题报告
6、设计报告
7、原理图
8、元器件清单
9、讲解视频
Altium Designer 安装破解
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
资料下载链接(可点击):
https://docs.qq.com/doc/DS3ZUYXRMVk1rY3N3
更多资源 点击下方链接:
https://docs.qq.com/sheet/DS0xIa0llTmtNakRW
Altium Designer 安装破解
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
资料下载链接(可点击):
https://docs.qq.com/doc/DS3ZUYXRMVk1rY3N3
更多资源 点击下方链接:
https://docs.qq.com/sheet/DS0xIa0llTmtNakRW