STM32F103C8T60.96OLED屏幕
18B20
HCSR04
IMG_20201117_202243.jpg (1.25 MB, 下載次數: 159)
下載附件
2020-11-17 21:01 上傳
單片機源程序如下:
- /*
- STM32F103C8T6
- iic通信0.96寸OLED顯示屏;顯示中英文、數字、圖片
- 18B20溫度傳感器
- HC-SR04超聲波傳感器
- OLED接線定義:
- VCC--3.3V/5V
- GND--GND
- SCL--PB8
- SDA--PB9
- 18B20接線定義:
- DQ--PA5
- HC-SR04超聲波接線定義:
- Trig--PB7
- Echo--PB6
- */
- #include "sys.h"
- #include "delay.h"
- #include "oled_iic.h"
- #include "stdio.h"
- #include "wave.h"
- #include "timer.h"
- #include "usart.h"
- #include "ds18b20.h"
- int main(void)
- {
- u8 a=0;
- u8 t=20;//trig引腳高電平持續時間
- short temperature;
- u8 Distance;
-
- uart_init(115200);//串口初始化
- Wave_SRD_Init();//初始化超聲波
- Timer_SRD_Init(9998,7199);//定時器初始化
- extern const u8 BMP1[];
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
- delay_init();
- OLED_Init(); //OLED屏幕初始化
- DS18B20_Init(); //DS18B20初始化
-
- while(Wave_SRD_Strat(t))
- {
- }
-
- OLED_Clear();
-
- while(1)
- {
- //18B20讀取溫度
- if(a%10==0) //每100ms讀取一次
- {
- temperature=DS18B20_Get_Temp();
- if(temperature<0)
- {
- OLED_ShowCH(50,6,"-"); //顯示負號
- temperature=-temperature; //轉為正數
- }else{
- OLED_ShowCH(50,6," "); //去掉負號
- }
- OLED_ShowNum(60,6,temperature/10,2,16); //顯示整數部分
- OLED_ShowNum(60+28,6,temperature%10,1,16); //顯示小數部分
- }
- delay_ms(10);
- a++;
- if(a==20)
- {
- a=0;
- }
- OLED_ShowCH(15,0,"屏幕顯示測試"); //測試顯示中文
- OLED_ShowCH(0,3,"距離:"); //顯示中文:距離
- // OLED_ShowCH(0,3,"Distance: "); //顯示英文
- OLED_ShowCH(100,3,"cm"); //測試顯示中文
- OLED_ShowCH(0,6,"溫度:"); //顯示中文:溫度
- // OLED_ShowCH(0,6,"Temp: "); //顯示英文
- OLED_ShowCH(78,6,"."); //顯示.
- OLED_ShowCH(101,6,"℃"); //顯示:℃
- //產生高于10Us的高電平與OLED上顯示超聲波所測距離
- Wave_SRD_Strat(t);
- Distance = TIM_GetCounter(TIM3)*340/200.0;
- if(Distance>0)
- {
- OLED_ShowNum(50,3,Distance,6,16); //顯示超聲波測量距離
- delay_ms(10);
- }
- /*
- OLED_ShowCH(20,1,"屏幕顯示測試"); //測試顯示中文
- OLED_ShowNum(20,3,314159265,9,0); //測試顯示數字
- OLED_DrawBMP(0,0,128,8,(u8 *)BMP1); //測試顯示圖片
- */
- }
- }
復制代碼
所有資料51hei提供下載:
01-STM32F103C8T6-OLED顯示溫度+超聲波測距.7z
(198.87 KB, 下載次數: 1379)
2020-11-18 05:06 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|