找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2074|回复: 1
打印 上一主题 下一主题
收起左侧

用bmp180数字高度计的stm32制作

[复制链接]
跳转到指定楼层
楼主
ID:348138 发表于 2018-6-9 12:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用bmp180数字高度计的制作

单片机源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "usart.h"
  4. #include "bmp180.h"
  5. #include "tftlcd.h"

  6.                                         
  7. //要写入到24c02的字符串数组
  8. const u8 TEXT_Buffer[]={"WarShipSTM32 IIC TEST"};
  9. #define SIZE sizeof(TEXT_Buffer)       
  10.        
  11. int main(void)
  12. {         
  13.         u8 ID = 0;
  14.   unsigned char lcd_buff1[20];
  15.         unsigned char lcd_buff2[20];
  16.         unsigned char lcd_buff3[20];
  17.         delay_init();                     //延时函数初始化          
  18.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  19.         uart_init(115200);                 //串口初始化为115200
  20.         //LED_Init();                                  //初始化与LED连接的硬件接口                 
  21.          
  22.         BMP_Init();
  23.         BMP_ReadCalibrationData();       

  24.         TFTLCD_Init();                       
  25.         FRONT_COLOR=BLACK;
  26.         LCD_ShowFontHZ(42, 50,"数字高度计");
  27.          LCD_ShowFontHZ(10, 140,"温度");
  28.          LCD_ShowFontHZ(10, 200,"气压");
  29.          LCD_ShowFontHZ(10, 260,"海拔");
  30.          LCD_ShowString(35 ,350,tftlcd_data.width,tftlcd_data.height,24,"1528401001 2 3");
  31.         while(1)
  32.         {
  33.           ID = BMP_ReadOneByte(0xd0);
  34.                 BMP_UncompemstatedToTrue();
  35.                 printf("ID = %d\t  temp = %d.%dC\t   Pressure = %ldPa\t   Altitude = %.3fm\r\n",ID,bmp180.Temp/10,bmp180.Temp%10,bmp180.p,bmp180.altitude);
  36.                 sprintf((char*)lcd_buff1,"%d.%d C",bmp180.Temp/10,bmp180.Temp%10);
  37.                 sprintf((char*)lcd_buff2,"%ld Pa",bmp180.p);
  38.                 sprintf((char*)lcd_buff3,"%.1f m",bmp180.altitude);
  39.           LCD_ShowString(100 ,142,tftlcd_data.width,tftlcd_data.height,24,lcd_buff1);
  40.                 LCD_ShowString(100 ,202,tftlcd_data.width,tftlcd_data.height,24,lcd_buff2);
  41.                 LCD_ShowString(100 ,262,tftlcd_data.width,tftlcd_data.height,24,lcd_buff3);
  42.                 delay_ms(1000);
  43.         }
  44. }
复制代码

所有资料51hei提供下载:
BMP180测试.rar (331.95 KB, 下载次数: 38)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:508371 发表于 2019-5-16 13:24 | 只看该作者
老哥怎么测不出来啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表