stm32 BMP180氣壓計 oled顯示
單片機源程序如下:
- // 功能描述 : OLED 4接口演示例程(51系列)
- // 說明:
- // ----------------------------------------------------------------
- // GND 電源地
- // VCC 接5V或3.3v電源
- // D0 接PB12(SCL)
- // D1 接PB13(SDA)
- // RES 接PC15
- // DC 接PC14
- // CS 接地
- // ----------------------------------------------------------------
- #include "delay.h"
- #include "sys.h"
- #include "oled.h"
- #include "bmp.h"
- #include "myiic.h"
- #include "usart.h"
- extern short AC1;
- extern short AC2;
- extern short AC3;
- extern unsigned short AC4;
- extern unsigned short AC5;
- extern unsigned short AC6;
- extern short B1;
- extern short B2;
- extern short MB;
- extern short MC;
- extern short MD;
- int main(void)
- {
- u8 BMP180_ID=0;
- long UT,UP;
- delay_init(); //延時函數初始化
- NVIC_Configuration(); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級 LED_Init(); //LED端口初始化
- OLED_Init(); //初始化OLED
- OLED_Clear() ;
- IIC_Init(); //BMP180初始化
- uart_init(9600);
-
- while(1)
- {
- BMP180_ID = BMP180_ReadOneByte(0xd0);//讀取ID地址
- Read_CalibrationData();
- UT=Get_BMP180UT();
- UP= Get_BMP180UP();
- Convert_UncompensatedToTrue(UT,UP);
- OLED_Clear();
- OLED_ShowCHinese(20,0,0);//電
- OLED_ShowCHinese(38,0,1);//子
- OLED_ShowCHinese(56,0,2);//氣
- OLED_ShowCHinese(74,0,3);//壓
- OLED_ShowCHinese(92,0,4);//計
-
- OLED_ShowCHinese(0,2,5);//溫
- OLED_ShowCHinese(20,2,6);//度
- OLED_ShowChar(40,2,':');
- OLED_ShowNum(55,2,True_Temp,3,16);
- OLED_ShowCHinese(90,2,9);//單位
-
- OLED_ShowCHinese(0,4,7);//氣
- OLED_ShowCHinese(20,4,8);//壓
- OLED_ShowChar(40,4,':');
- OLED_ShowNum(55,4,True_Press/1000,3,16);
- OLED_ShowString(90,4,"kPa");
- //
- OLED_ShowCHinese(0,6,11);//高
- OLED_ShowCHinese(20,6,12);//度
- OLED_ShowChar(40,6,':');
- OLED_ShowNum(50,6,True_Altitude,3,16);
- OLED_ShowChar(75,6,'m');
-
- //OLED_ShowNum(90,6,BMP180_ID,3,16);//顯示ASCII字符的碼值
-
- // printf("\n\rAC1 is %d\r",AC1);
- // printf("\n\rAC2 is %d\r",AC2);
- // printf("\n\rAC3 is %d\r",AC3);
- // printf("\n\rAC4 is %d\r",AC4);
- // printf("\n\rAC5 is %d\r",AC5);
- // printf("\n\rAC6 is %d\r",AC6);
- // printf("\n\rc=%d\r",BMP180_ID);
- //
- // printf("\n\rTruePressure is %f\r",True_Press);
- // printf("\n\rTrue_Temp is %f\r",True_Temp);
- // printf("\n\True_Altitude is %f\r",True_Altitude);
- // //printf("\n\rc=%d\r",BMP180_ID);
-
- delay_ms(1000);
- }
-
- }
復制代碼
所有資料51hei提供下載:
bmp180氣壓計.rar
(297.55 KB, 下載次數: 88)
2018-11-17 03:04 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|