久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17891|回復(fù): 24
收起左側(cè)

STM32F103C8T6+OLED顯示溫度+超聲波測距 附源程序

  [復(fù)制鏈接]
ID:824746 發(fā)表于 2020-11-17 21:03 | 顯示全部樓層 |閱讀模式
STM32F103C8T60.96OLED屏幕
18B20
HCSR04

IMG_20201117_202243.jpg

單片機(jī)源程序如下:
  1. /*
  2. STM32F103C8T6
  3. iic通信0.96寸OLED顯示屏;顯示中英文、數(shù)字、圖片
  4. 18B20溫度傳感器
  5. HC-SR04超聲波傳感器

  6. OLED接線定義:
  7.                                         VCC--3.3V/5V
  8.                                         GND--GND
  9.                                         SCL--PB8
  10.                                         SDA--PB9
  11. 18B20接線定義:
  12.                                         DQ--PA5
  13. HC-SR04超聲波接線定義:
  14.                                         Trig--PB7
  15.                                         Echo--PB6
  16. */

  17. #include "sys.h"  
  18. #include "delay.h"
  19. #include "oled_iic.h"
  20. #include "stdio.h"
  21. #include "wave.h"
  22. #include "timer.h"
  23. #include "usart.h"          
  24. #include "ds18b20.h"

  25. int main(void)
  26. {               
  27.         u8 a=0;       
  28.         u8 t=20;//trig引腳高電平持續(xù)時間
  29.         short temperature;                                             
  30.         u8 Distance;
  31.        
  32.         uart_init(115200);//串口初始化
  33.         Wave_SRD_Init();//初始化超聲波
  34.         Timer_SRD_Init(9998,7199);//定時器初始化       

  35.         extern const u8 BMP1[];
  36.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置中斷優(yōu)先級分組為組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級
  37.         delay_init();
  38.         OLED_Init();                         //OLED屏幕初始化               
  39.         DS18B20_Init();                //DS18B20初始化       
  40.        
  41.         while(Wave_SRD_Strat(t))
  42.         {
  43.         }
  44.        
  45.         OLED_Clear();       
  46.        
  47.         while(1)
  48.         {               
  49.                 //18B20讀取溫度               
  50.                 if(a%10==0)                        //每100ms讀取一次
  51.                 {                                                                          
  52.                         temperature=DS18B20_Get_Temp();
  53.                         if(temperature<0)
  54.                         {
  55.                                 OLED_ShowCH(50,6,"-");                        //顯示負(fù)號
  56.                                 temperature=-temperature;                        //轉(zhuǎn)為正數(shù)
  57.                         }else{
  58.                                 OLED_ShowCH(50,6," ");                        //去掉負(fù)號
  59.                         }
  60.                         OLED_ShowNum(60,6,temperature/10,2,16);                        //顯示整數(shù)部分            
  61.                            OLED_ShowNum(60+28,6,temperature%10,1,16);        //顯示小數(shù)部分                   
  62.                 }                                  
  63.                  delay_ms(10);
  64.                 a++;
  65.                 if(a==20)
  66.                 {
  67.                         a=0;
  68.                 }

  69.                 OLED_ShowCH(15,0,"屏幕顯示測試");                //測試顯示中文

  70.                 OLED_ShowCH(0,3,"距離:");                //顯示中文:距離
  71. //                OLED_ShowCH(0,3,"Distance: ");        //顯示英文
  72.                 OLED_ShowCH(100,3,"cm");                //測試顯示中文

  73.                 OLED_ShowCH(0,6,"溫度:");                //顯示中文:溫度
  74. //                OLED_ShowCH(0,6,"Temp: ");                //顯示英文
  75.                 OLED_ShowCH(78,6,".");                        //顯示.                       
  76.                 OLED_ShowCH(101,6,"℃");                //顯示:℃

  77.                 //產(chǎn)生高于10Us的高電平與OLED上顯示超聲波所測距離               
  78.                 Wave_SRD_Strat(t);
  79.                 Distance = TIM_GetCounter(TIM3)*340/200.0;
  80.                 if(Distance>0)
  81.                 {
  82.                         OLED_ShowNum(50,3,Distance,6,16);                //顯示超聲波測量距離
  83.                         delay_ms(10);
  84.                 }

  85. /*               
  86.                 OLED_ShowCH(20,1,"屏幕顯示測試");                //測試顯示中文

  87.                 OLED_ShowNum(20,3,314159265,9,0);                //測試顯示數(shù)字

  88.                 OLED_DrawBMP(0,0,128,8,(u8 *)BMP1);                //測試顯示圖片
  89. */
  90.         }
  91. }
復(fù)制代碼

所有資料51hei提供下載:
01-STM32F103C8T6-OLED顯示溫度+超聲波測距.7z (198.87 KB, 下載次數(shù): 1379)


評分

參與人數(shù) 2黑幣 +55 收起 理由
王者不可阻擋 + 5 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:541135 發(fā)表于 2020-11-23 17:04 | 顯示全部樓層
為什么 我的顯示距離不對呀
回復(fù)

使用道具 舉報

ID:337139 發(fā)表于 2020-11-24 08:43 | 顯示全部樓層
測試的距離與被測物的方向及平面的反射有關(guān)系。
回復(fù)

使用道具 舉報

ID:160860 發(fā)表于 2020-12-2 10:38 | 顯示全部樓層
感謝大佬的分享啊,學(xué)到了
回復(fù)

使用道具 舉報

ID:770967 發(fā)表于 2020-12-5 17:41 | 顯示全部樓層
我想加個蜂鳴器當(dāng)檢測距離<10cm  時報警 那么Distance應(yīng)該>?
回復(fù)

使用道具 舉報

ID:859164 發(fā)表于 2020-12-12 16:27 | 顯示全部樓層
膜拜大佬
回復(fù)

使用道具 舉報

ID:447455 發(fā)表于 2020-12-15 11:29 | 顯示全部樓層
很實(shí)用
回復(fù)

使用道具 舉報

ID:859612 發(fā)表于 2020-12-15 20:08 | 顯示全部樓層
stc能用嗎
回復(fù)

使用道具 舉報

ID:658039 發(fā)表于 2020-12-19 12:06 | 顯示全部樓層
做超聲波測距,一定要加上溫度補(bǔ)償,溫度越高誤差越大!
回復(fù)

使用道具 舉報

ID:859339 發(fā)表于 2020-12-25 20:18 來自手機(jī) | 顯示全部樓層
為啥屏幕不亮……
回復(fù)

使用道具 舉報

ID:859339 發(fā)表于 2020-12-25 21:05 來自手機(jī) | 顯示全部樓層
為啥屏幕這么亂
image.jpg
回復(fù)

使用道具 舉報

ID:247920 發(fā)表于 2021-1-26 22:51 來自手機(jī) | 顯示全部樓層
我打開keil5下載就自動彈出結(jié)束運(yùn)行
回復(fù)

使用道具 舉報

ID:931040 發(fā)表于 2022-1-27 22:16 | 顯示全部樓層
接線對了,編譯也沒錯,但是沒顯示
回復(fù)

使用道具 舉報

ID:25058 發(fā)表于 2022-2-9 14:27 | 顯示全部樓層
試過了可以實(shí)現(xiàn)全部功能,感謝分享
回復(fù)

使用道具 舉報

ID:601620 發(fā)表于 2022-4-30 11:39 | 顯示全部樓層
感謝樓主,功能全部實(shí)現(xiàn)
回復(fù)

使用道具 舉報

ID:948479 發(fā)表于 2022-6-29 21:16 來自手機(jī) | 顯示全部樓層
liang1981 發(fā)表于 2022-2-9 14:27
試過了可以實(shí)現(xiàn)全部功能,感謝分享

為什么我的溫度顯示不出來呢
回復(fù)

使用道具 舉報

ID:93626 發(fā)表于 2022-11-29 08:56 | 顯示全部樓層
感謝樓主,功能全部實(shí)現(xiàn)
回復(fù)

使用道具 舉報

ID:1058464 發(fā)表于 2022-12-20 17:25 | 顯示全部樓層
高山低谷 發(fā)表于 2020-11-23 17:04
為什么 我的顯示距離不對呀

顯示測距調(diào)一下
回復(fù)

使用道具 舉報

ID:1058464 發(fā)表于 2022-12-22 12:30 | 顯示全部樓層
LED123.. 發(fā)表于 2020-12-5 17:41
我想加個蜂鳴器當(dāng)檢測距離?

我也想知道耶
回復(fù)

使用道具 舉報

ID:1062252 發(fā)表于 2023-2-7 11:17 | 顯示全部樓層
我的距離為什么一直在1和0之間跳,測不出距離來啊
回復(fù)

使用道具 舉報

ID:604703 發(fā)表于 2023-2-28 20:44 | 顯示全部樓層
測不出距離是什么情況
回復(fù)

使用道具 舉報

ID:1077830 發(fā)表于 2023-5-16 14:31 | 顯示全部樓層
為什么顯示不出去了
回復(fù)

使用道具 舉報

ID:190577 發(fā)表于 2023-7-29 21:49 | 顯示全部樓層
uynam2003 發(fā)表于 2023-5-16 14:31
為什么顯示不出去了

我的也顯示不出來,啥情況
回復(fù)

使用道具 舉報

ID:1100765 發(fā)表于 2023-11-22 13:24 | 顯示全部樓層
膜拜大佬
回復(fù)

使用道具 舉報

ID:766282 發(fā)表于 2024-3-23 11:11 來自手機(jī) | 顯示全部樓層
距離不準(zhǔn)改哪里?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美久久影院 | 精品99爱视频在线观看 | 日韩免费视频 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 超碰97人人人人人蜜桃 | 最近免费日本视频在线 | 国产高清精品一区二区三区 | 国产一区二区在线视频 | 国产在线精品一区二区 | 色啪网 | 精品乱子伦一区二区三区 | 在线观看视频中文字幕 | 亚洲人在线| 九九久久这里只有精品 | 91传媒在线观看 | 久久久久久国产精品免费免费 | 国产精品久久久乱弄 | 中文字幕国产 | 自拍视频精品 | 国产精品一区在线 | 日韩在线视频一区二区三区 | 精品videossex高潮汇编 | 日本久久精品视频 | 亚洲成人在线免费 | 欧美日韩视频在线 | 久久久久久看片 | 亚洲成人免费观看 | 黄色毛片一级 | 免费成人在线网站 | 国产美女自拍视频 | 天天综合成人网 | 国产成人精品视频在线观看 | 插插插干干干 | 午夜黄色 | 天堂色| 91精品国产高清久久久久久久久 | 日韩一区精品 | 国产视频中文字幕在线观看 | 亚洲欧美日韩精品久久亚洲区 | 嫩草视频入口 | 天天插天天操 |