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

標題: STM32F1控制US-100串口超聲波測距源碼 [打印本頁]

作者: XXK    時間: 2018-10-20 11:39
標題: STM32F1控制US-100串口超聲波測距源碼
STM32F1控制US-100串口超聲波測距

單片機源程序如下:
  1. #include "usart-ultrasonic.h"
  2. #include "usart.h"
  3. #include "SysTick.h"


  4. //超聲波測距,獲取一次測量值
  5. u16 Ultrasonic_ranging()
  6. {
  7.         u16 range=0;
  8.         usart_r=256;
  9.         USART_SendData(USART1,'U');
  10.         while(usart_r==256);
  11.         range+=usart_r*256;        usart_r=256;
  12.         while(usart_r==256);
  13.         range+=usart_r;                usart_r=256;
  14.         return range;
  15. }


  16. //超聲波測距,多次測量濾波
  17. //參數是測量次數
  18. u16 Ultrasonic_ranging_s(u8 time)
  19. {
  20.         u16 range=0,refer_range=0,sum_range=0,return_range=0;
  21.         u8 num=0;
  22.         range=Ultrasonic_ranging();        //先測一次得到參考值
  23.         if((range>19)&&(range<4000))//當參考值大于19小于4000時正確
  24.         {
  25.                 refer_range=range;
  26.                 for(;time>0;time--)                //多測幾次,矯正參考值
  27.                 {
  28.                         range=Ultrasonic_ranging();
  29.                         if((range>19)&&(range<4000)&&((refer_range-range<10)||(range-refer_range<10)))//測量值在20到4000之間,且偏離參考值不超過10
  30.                         {
  31.                                 sum_range+=range;
  32.                                 num++;
  33.                                 refer_range=(refer_range+range)/2;//用有效測量值矯正參考值
  34.                         }
  35.                         delay_ms(10);//消除余波的干擾
  36.                 }
  37.                 return_range=(sum_range+refer_range)/(num+1);//把參考值和多次測量得到的有效值取算數平均數,作為返回值;
  38.                 return return_range;
  39.         }
  40.         else{        return 0;        }//如果超出4000mm返回0
  41. }
復制代碼
  1. #include "system.h"
  2. #include "SysTick.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "tftlcd.h"
  6. #include "usart-ultrasonic.h"


  7. /*
  8. //        程序功能:使用US-100串口超聲波模塊測距,并濾波使測量值穩定
  9. //        芯片型號:STM32F103ZET6
  10. //        實驗平臺:普中PZ6806L開發板
  11. //        作者:XXK
  12. //        2018年10月20日
  13. */

  14. int main()
  15. {
  16.                 SysTick_Init(72);
  17.                 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  18.                 LED_Init();
  19.                 TFTLCD_Init();
  20.                 USART1_Init(9600);//超聲波測距模塊US-100使用的波特率是9600,不可更改
  21.                
  22.                 while(1)
  23.                 {
  24.                         led1=!led1;
  25.                         LCD_ShowNum(50,50,(u32)Ultrasonic_ranging_s(3),4,24);//屏幕顯示測量值,單位毫米
  26.                 }
  27. }
復制代碼


所有資料51hei提供下載:
US-100串口超聲波測距.rar (297.75 KB, 下載次數: 218)



作者: Alex_12    時間: 2019-8-4 09:36
謝謝樓主
作者: 小安阿達    時間: 2019-8-9 11:23
我想要這個代碼
作者: aaaaaa。    時間: 2019-8-12 09:44
這個代碼沒問題嗎?為什么我的沒東西
作者: wxyz    時間: 2020-4-14 14:56
謝謝樓主提供的代碼!
作者: 了咖啡公平    時間: 2020-4-20 18:35
aaaaaa。 發表于 2019-8-12 09:44
這個代碼沒問題嗎?為什么我的沒東西

串口發送數據換成
0x55
作者: Bruce1111111    時間: 2020-11-5 09:26
請問用這個程序,超聲波傳感器的Trig,Echo這兩個腳應該接那兩個IO




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩不卡一区二区 | 免费1区2区3区 | 九九99精品 | 亚洲免费视频一区二区 | 精品精品视频 | 久久久久久亚洲欧洲 | 区一区二在线观看 | 欧美free性| 最新中文在线视频 | 天天操天天干天天透 | 欧美日韩在线成人 | 久久一区二区三区四区五区 | 视频在线一区二区 | 国产午夜精品久久久 | 亚洲成人精品一区二区 | 婷婷99 | 久久精品毛片 | 日韩欧美二区 | www国产成人免费观看视频,深夜成人网 | 宅男噜噜噜66一区二区 | 黄视频国产 | 九九九精品视频 | 国产成人精品一区二区三区 | 日韩精品一区二区三区第95 | 日本精品视频一区二区三区四区 | 亚洲一区二区三区在线播放 | 永久www成人看片 | 91在线看视频 | 天天插天天搞 | 亚洲精品日本 | 国产探花在线精品一区二区 | 久久综合九九 | www国产成人免费观看视频,深夜成人网 | 国产精品久久国产精品久久 | 欧美一区二区在线观看 | 福利视频网 | 免费视频一区二区 | 在线观看国产h | 成人在线视频免费看 | 亚洲成人自拍 | 成人福利在线 |