【可答疑】基于51单片机的智能加湿器(含仿真、代码、报告等)

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

🐱‍🐉这是51单片机毕业设计100篇系列的第13篇:基于51单片机的智能加湿器

💻项目相关说明:

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

🎈项目分享:见文末!


1、主要功能

该系统由AT89C51/STC89C52单片机+LCD1602显示模块+DHT11湿度传感器模块+继电器等模块构成。适用于智能自动加湿器、湿度保持等相似项目。

可实现功能:

1、LCD1602液晶屏实时显示湿度信息
2、DHT11采集湿度
3、按键可以调节适宜人体湿度的阈值范围,湿度过低会自动打开加湿器,湿度过高会自动打开风扇。
4、液位传感器检测加湿器液位,液位过低时,加湿器关闭,无法加湿(仿真时液位用按键模拟)

5、LED灯实时显示,如当前湿度状态和液位状态。

2、仿真

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

3、代码

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

// 1602初始化,请参考1602的资料
void L1602_init(void)
{
        enable(0x01);
        enable(0x38);//	设置16*2显示,5*7点阵,8位数据接口
        enable(0x0c);//开显示
        enable(0x06);//读写一字节后地址指针加1
        enable(0xd0);
}


//改变液晶中某位的值,如果要让第一行,第五个字符显示"b" ,调用该函数如下 L1602_char(1,5,'b')
void L1602_char(uchar hang,uchar lie,char sign)
{
        uchar a;
        if(hang == 1) a = 0x80;
        if(hang == 2) a = 0xc0;
        a = a + lie - 1;
        enable(a);
        write(sign);
}

//改变液晶中某位的值,如果要让第一行,第五个字符开始显示"ab cd ef" ,调用该函数如下L1602_string(1,5,"ab cd ef;")
void L1602_string(uchar hang,uchar lie,uchar *p)
{
        uchar a;
        if(hang == 1) a = 0x80;
        if(hang == 2) a = 0xc0;
        a = a + lie - 1;
        enable(a);
        while(1)
        {
                if(*p == '\0') break;
                write(*p);
                p++;
        }
}

4、原理图

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

5、参考报告

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

6、常见问题

7、资源获取

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

希望可以对你有所帮助~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值