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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8729|回復: 6
收起左側

STM32F1控制US-100串口超聲波測距源碼

[復制鏈接]
ID:398656 發表于 2018-10-20 11:39 | 顯示全部樓層 |閱讀模式
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)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:587449 發表于 2019-8-4 09:36 | 顯示全部樓層
謝謝樓主
回復

使用道具 舉報

ID:598184 發表于 2019-8-9 11:23 | 顯示全部樓層
我想要這個代碼
回復

使用道具 舉報

ID:511461 發表于 2019-8-12 09:44 | 顯示全部樓層
這個代碼沒問題嗎?為什么我的沒東西
回復

使用道具 舉報

ID:199427 發表于 2020-4-14 14:56 | 顯示全部樓層
謝謝樓主提供的代碼!
回復

使用道具 舉報

ID:394719 發表于 2020-4-20 18:35 | 顯示全部樓層
aaaaaa。 發表于 2019-8-12 09:44
這個代碼沒問題嗎?為什么我的沒東西

串口發送數據換成
0x55
回復

使用道具 舉報

ID:609235 發表于 2020-11-5 09:26 | 顯示全部樓層
請問用這個程序,超聲波傳感器的Trig,Echo這兩個腳應該接那兩個IO
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产粉嫩尤物极品99综合精品 | 亚洲激情在线观看 | 国产日韩欧美 | 欧美精品啪啪 | 999精品在线| 精品九九久久 | 国产在线永久免费 | 在线亚洲免费视频 | 国产一级在线 | 欧美精品一区在线观看 | 天天爽夜夜操 | 天天久久| 亚洲一区二区三区高清 | 日韩一区二区免费视频 | 国产欧美日韩在线播放 | 成人深夜福利在线观看 | 国产一区高清 | 国产一区不卡在线观看 | 天天操天天摸天天干 | 欧洲精品久久久久毛片完整版 | 国产精品一区二区久久 | 天天艹逼网 | 九九久久这里只有精品 | 777777777亚洲妇女 | 天堂在线www | 欧美性猛交 | 国产一区二区精 | 国产一区二区三区精品久久久 | 日本精品在线观看 | 中文字幕亚洲一区 | 99re热精品视频国产免费 | 综合网中文字幕 | 亚洲综合在线播放 | 日韩欧美在线一区 | 日韩精品一区二 | 欧美1—12sexvideos| 热re99久久精品国99热观看 | 国产精品久久久久久久久免费丝袜 | 狠狠色狠狠色综合系列 | 久久99蜜桃综合影院免费观看 | a中文在线视频 |