38、基于51单片机空气智能加湿器系统设计(proteus仿真+原理图+PCB图+程序+开题报告+参考论文)

一、设计简介:

本设计是基于51单片机空气智能加湿器系统设计,主要实现以下功能:

1.本设计基于单片机型号:STC89C52/51、AT89C52/51、AT89S52/51都可通用。
2.产品自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(给单片机提供时钟周期)。
3.采集LCD1602液晶显示,第一行显示环境湿度值,第二行显示湿度的上下限值。
4.当DHT11传感器测出来的湿度小于设定的湿度下限值时继电器工作控制加湿器工作加湿,当大于湿度上限值时继电器关闭加湿器停止加湿。
5.当湿度小于设置的湿度下限值时蜂鸣器和指示灯产生声光报警提示,当大于下限值时会自动取消报警,当产生报警时可以手动取消报警,但不会影响加湿器的工作。
6.可通过按键设置湿度的上下限报警值并具有掉电保存功能,保存在STC单片机内部,上电无需重新设置参数。
7.具有手动模式,当湿度在上下限之间时,可以手动打开和关闭加湿器。

主要硬件组成:

51单片机+DHT11湿度传感器+LCD1602液晶+加湿器+继电器+按键+蜂鸣器

二、原理图

三、PCB图 

四、Proteus仿真 

五 、程序源码

部分代码: 

 LCDEN=1;
  LCDdelay(5);
  LCDEN=0;
}
//写数据
void write_data(uchar date)
{
  LCDRS=1;
//    LCD_WriteData(date);
  P0=date;
  LCDdelay(5);
  LCDEN=1;
  LCDdelay(5);
  LCDEN=0;
}
 
/*------------------------------------------------
              选择写入位置
------------------------------------------------*/
void SelectPosition(unsigned char x,unsigned char y) 
{     
    if (x == 0) 
    {     
        write_com(0x80 + y);     //表示第一行
    }
    else 
    {      
        write_com(0xC0 + y);      //表示第二行
    }        
}
/*------------------------------------------------
              写入字符串函数
------------------------------------------------*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) 
{     
    SelectPosition(x,y) ;
    while (*s) 
    {     
        write_data( *s);     
        s ++;     
    }
}
//========================================================================
// 函数: void LCD_Write_Char(u8 x,u8 y,u16 s,u8 l)
// 应用: LCD_Write_Char(0,1,366,4) ;
// 描述: 在第0行第一个字节位置显示366的后4位,显示结果为 0366
// 参数: x:行,y:列,s:要显示的字,l:显示的位数
// 返回: none.
// 版本: VER1.0
// 日期: 2013-4-1
// 备注: 最大显示65535
//========================================================================
void LCD_Write_Char(u8 x,u8 y,u16 s,u8 l) 
{     
    SelectPosition(x,y) ;
 
    if(l>=5)
        write_data(0x30+s/10000%10);    //万位
    if(l>=4)
        write_data(0x30+s/1000%10);        //千位
    if(l>=3)
        write_data(0x30+s/100%10);        //百位
    if(l>=2)
        write_data(0x30+s/10%10);            //十位
    if(l>=1)
        write_data(0x30+s%10);        //个位
 
}
/*1602指令简介
  write_com(0x38);//屏幕初始化
  write_com(0x0c);//打开显示 无光标 无光标闪烁
  write_com(0x0d);//打开显示 阴影闪烁
  write_com(0x0d);//打开显示 阴影闪烁
*/
//1602初始化
void Init1602()
{
  uchar i=0;
  write_com(0x38);//屏幕初始化
  write_com(0x0c);//打开显示 无光标 无光标闪烁

六、资源获取

本项目包含的所有文件都可以点击下面的名片,发送 “ 38、基于51单片机空气智能加湿器系统设计 ” 获取!
项目纯手打,不是免费的哦~
希望可以帮到你哈! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值