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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6668|回復: 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:562738 發表于 2021-2-22 12:37 | 只看該作者
兄弟你這個錯誤一大堆哎
回復

使用道具 舉報

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 视频一区二区在线观看 | 成人免费网站 | 国产高清视频 | 欧美三区在线观看 | 在线观看欧美日韩视频 | 欧美激情 一区 | 久久国产精品一区二区三区 | 亚洲一区二区三区久久 | 天堂一区在线观看 | 91九色网站| 日韩欧美一区二区三区免费观看 | 资源首页二三区 | 国产玖玖 | 91在线观看免费视频 | 欧美一区免费 | 国产欧美在线观看 | 一区二区三区在线免费看 | 国产日韩在线观看一区 | 日韩在线精品视频 | 国产伦精品一区二区三区精品视频 | 亚洲人成网亚洲欧洲无码 | 中文字幕国产 | 国产高清在线 | 亚洲免费观看视频 | 欧美日韩精品中文字幕 | 国产精品日韩一区 | 欧美日韩综合精品 | 久久一区视频 | 午夜电影网址 | 久久久久久久久久性 | 精品国产伦一区二区三区观看方式 | 亚洲一区中文字幕 | 欧美五月婷婷 | 热re99久久精品国99热观看 | 中文字幕成人免费视频 | 久久网日本| 拍真实国产伦偷精品 | 中文字幕亚洲欧美日韩在线不卡 | 韩国毛片一区二区三区 | 欧美视频在线播放 | 国产做a爱片久久毛片 |