基于51单片机的大气压检测系统

一.硬件方案

        本设计主要通过气压传感器BMP180获得当前位置的温度和大气压值,并通过LCD1602显示。并根据测量值与设置好的阀值进行对比进而控制蜂鸣器与LED灯进行提示使用者。
   主要由51单片机+最小系统+LCD1602液晶显示模块+BMP180气压检测模块+AT24C02存储电路+蜂鸣器模块+LED指示灯模块+按键模块;原理图如图:

Protues及PCB图:

  

二.设计功能

  1. 本设计采用LCD1602显示屏实时显示信息,BMP180作为大气压温度传感器。
  2. 当所采集到的温度超出设置好的限值时蜂鸣器红色LED灯发出声光提示;
  3. 当所采集到的气压超出设置好的限值时蜂鸣器绿色LED灯发出声光提示;
  4. 可以通过“设置”按键进行设置温度/大气压报警的上限值和下限值,并且设置好的报警限值具有掉电保护功能;

三.软件设计

/********************************************************
函数名称:void main()
函数作用:主函数
参数说明:
********************************************************/
void main()
{ 
    uchar i=0;                         //循环计数变量

    if(key_jian==0)
    {
        Delay_ms(100);
        if(key_jian==0)
        {
            AT24C02_write_date(0,105);//写入【大气压上限值】数据保存
            AT24C02_write_date(1,95); //写入【大气压下限值】数据保存    
            AT24C02_write_date(2,38); //写入【温度上限值】数据保存
            AT24C02_write_date(3,16); //写入【温度下限值】数据保存
        }
    } 
    atmos_up=AT24C02_read_date(0);  //读取存储的【大气压上限值】数据
    atmos_down=AT24C02_read_date(1);//读取存储的【大气压下限值】数据
    temp_up=AT24C02_read_date(2);   //读取存储的【温度上限值】数据
    temp_down=AT24C02_read_date(3); //读取存储的【温度下限值】数据
            
    LCD_init();                     //LCD1602初始化
    BMP180_init();                  //BMP180初始化

    lcd1602_write_pic(0x00,pic);    //将自定义字符“°”写入到LCD1602中
    lcd1602_write_pic(0x01,zeng);   //将自定义字符“↑”写入到LCD1602中
    lcd1602_write_pic(0x02,jian);   //将自定义字符“↓”写入到LCD1602中

    fixed_display();                //显示固定内容
    while(1)                        //死循环
    { 
        scan();                        //按键检测处理
        if(set_f==0)                //正常显示模式
        {
            if(i%25==0)                //每循环N次采集一次数据
                BMP180_Convert();   //读取BMP180并显示温度、大气压

            display1();                //显示当前大气压、温度
            i++;                    //循环次数+1
        }
        else
            display2();                //显示设置大气压、温度上下限
    }
}

资料链接:https://pan.baidu.com/s/1mbrCpR7PhqPVd_EEoW59tA?pwd=vh17 
提取码:vh17

猜你喜欢

转载自blog.csdn.net/m0_60790717/article/details/127914390