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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6643|回復: 2
打印 上一主題 下一主題
收起左側

HC-HR04超聲波測距模塊的stm32驅動源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:327448 發表于 2018-9-13 17:30 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
串口加屏幕顯示超聲測距數據,使用HC-HR04,超聲波測距是超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據計時器記錄的時間t,就可以計算出發射點距障礙物的距離(s),即:s=340t/2 。超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發射后遇到障礙物反射回來的時間,根據發射和接收的時間差計算出發射點到障礙物的實際距離。代碼中已經計算,探測距離3mm到2m,代碼如下:

stm32單片機源程序如下:
  1. /*連接方式
  2.         Trig ---- GPIO_Pin_1

  3.         Echo ---- GPIO_Pin_0

  4.         VCC ---- 5.0V
  5.         GND ---- GND
  6. */

  7. #include "led.h"
  8. #include "delay.h"
  9. #include "sys.h"
  10. #include "timer.h"
  11. #include "usart.h"



  12. extern u8  TIM2CH1_CAPTURE_STA;                //輸入捕獲狀態                                                   
  13. extern u16        TIM2CH1_CAPTURE_VAL;        //輸入捕獲值

  14. float distance;
  15. int main(void)
  16. {       
  17.          
  18.         u32 temp=0;
  19.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設置中斷優先級分組2
  20.         delay_init();                     //延時函數初始化       
  21.         uart_init(9600);                                 //9600         
  22.         LED_Init();                          //初始化與LED連接的硬件接口
  23.         TIM1_PWM_Init(899,0);                         //不分頻。PWM頻率=72000/(899+1)=80Khz
  24.         TIM2_Cap_Init(0XFFFF,72-1);                //以1Mhz的頻率計數
  25.            while(1)
  26.         {
  27.         delay_ms(10);
  28.                 Wave_SRD_Strat();
  29. //                TIM_SetCompare1(TIM1,TIM_GetCapture1(TIM1)+1);
  30. //                if(TIM_GetCapture1(TIM1)==300)TIM_SetCompare1(TIM1,0);                 
  31.                 if(TIM2CH1_CAPTURE_STA&0X80)//成功捕獲到了一次高電平
  32.                 {
  33.                         temp=TIM2CH1_CAPTURE_STA&0X3F;
  34.                         temp*=65536;                                        //溢出時間總和
  35.                         temp+=TIM2CH1_CAPTURE_VAL;                //得到總的高電平時間
  36.                         distance = temp/59.0;
  37.                         printf("HIGH:%.2f cm\r\n",distance);        //打印總的高點平時間
  38.                         LED1=!LED1;
  39.                         TIM2CH1_CAPTURE_STA=0;                        //開啟下一次捕獲
  40.                 }
  41.         }
  42. }
復制代碼

所有資料51hei提供下載:
超聲波5.0.rar (299.59 KB, 下載次數: 104)


評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:688443 發表于 2020-1-28 17:03 | 只看該作者
請問distance為什么是temp/59
回復

使用道具 舉報

板凳
ID:562738 發表于 2021-2-22 12:37 | 只看該作者
兄弟你這個錯誤一大堆哎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品视频免费观看 | 999精品在线 | 久久99国产精一区二区三区 | 欧美亚洲国产精品 | 91极品视频 | 人人做人人澡人人爽欧美 | 久久综合久久久 | 青青久久久 | 天天操天天怕 | 国产日韩一区二区三免费高清 | 久久久久久久综合色一本 | 久久久99精品免费观看 | 一区二区高清 | 亚洲一区二区av | h视频亚洲 | 日韩二区| 国产精品一区三区 | 日韩在线视频一区 | 爱操影视 | 欧美在线国产精品 | 天天天天操 | 色99视频 | 久久综合色综合 | 久久久久久九九九九九九 | 免费看黄色国产 | 欧美视频免费在线 | 国产精品亚洲精品 | 国产免费一区二区 | 日本一区二区不卡 | 一区在线视频 | 天堂一区二区三区 | 男人天堂网址 | 免费在线精品视频 | 亚洲精品无 | 日日噜噜噜夜夜爽爽狠狠视频97 | 久久av网| 国产成人在线一区二区 | 久久久久久久久久久丰满 | 免费观看的av | 精品二区| 欧美激情精品久久久久 |