• 基于stm32单片机BMP180气压计海拔高度温度测量Proteus仿真


    资料编号:149   下面是相关功能视频演示:

    149-基于stm32单片机BMP180气压计海拔高度温度测量Proteus仿真(源码+仿真+全套资料)

    本设计:
    基于STM32的BMP180气压传感器(仿真+程序)
    Proteus仿真版本:proteus 8.9
    程序编译器:keil 5
    编程语言:C语言

    设计说明:
    通过STM32读取BMP180输出的数据通过串口及LCD显示屏,将高度,温度大气压强信息显示出来。

     下面是该程序部分展示:

    int main(void)
    {
        char str[80];
        extern long   result_UT;
        extern long  result_UP;    
        u32 result_UPP,temp;
        float altitude;      
      HAL_Init();        
      /* 配置系统时钟为72 MHz */ 
      SystemClock_Config();

      /*初始化USART 配置模式为 115200 8-N-1,中断接收*/
      DEBUG_USART_Config();
      
        printf("\r\n 这是一个EEPROM 读写小数和长整数实验 \r\n");
    //LCD1602_GPIO_Config();   //开启GPIO口
      HAL_Delay(10);  //延时一段时间    
      /* I2C 外设初(AT24C02)始化 */
      i2c_CfgGpio();
        Init_BMP180();        //初始化bmp180    
        LCD_init();
        HAL_Delay(10);          
      while (1)
      {  
          
      /*读取数据标志位*/
        bmp180Convert();//添加报警 气压过低时候 高原地区气压低于600mmhg,而1mmhg=133.3p。所以为80000p
            altitude=44330.0*(1-pow((float)result_UP/101325,1/5.255));            //计算高度
    //        OLED_ShowNum(77,32,altitude,4,12);  
        result_UPP=result_UP/100;
            printf("大气压强 %d.%d 帕\r\n",result_UPP,result_UP%100);
        result_UPP=altitude;
        printf(" 高度%d m\r\n",result_UPP);
        sprintf(str, "%dM %d.%dPa",result_UPP ,result_UP/100,result_UP%100);
        LCD_write_string(1, 0, (char *)str);
    //        OLED_ShowNum(77,52,(u8)(result_UT*0.1),4,12);     //显示温度整数部分 因为测量值例如为245没有小数点.....                                         //可以加一个判断 报警
            temp=result_UT;                         //计算小数部分
        printf("温度  %d.%d 摄氏度\r\n",temp/10,temp%10);
        sprintf(str, " %d.%d C",temp/10 ,temp%10);
        LCD_write_string(1, 1, (char *)str);
        HAL_Delay(1000);

          
      }
    }

    下面是该资料的分享下载链接:

    https://pan.baidu.com/s/11PU1GXJmi9wNtdiFQG0iwQ?pwd=g1aa 

  • 相关阅读:
    剑指 Offer 05. 替换空格
    基于遗传算法的车辆和无人机协同路径规划问题研究附Matlab代码
    spring bean 生命周期
    Flutter | 验证码的倒计时进入后台停止了怎么办?
    Linux网络编程- ether_header & iphdr & tcphdr
    linux中的lsof命令简介
    【教程5】疯壳·ARM功能手机-串口实验教程
    EaselJS 源码分析系列--第三篇
    【C语言】可保存的动态通讯录的实现
    Spring 概述
  • 原文地址:https://blog.csdn.net/m0_74295839/article/details/127759530