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

標(biāo)題: HC-HR04超聲波測距模塊的stm32驅(qū)動源碼 [打印本頁]

作者: wqe561    時間: 2018-9-13 17:30
標(biāo)題: HC-HR04超聲波測距模塊的stm32驅(qū)動源碼
串口加屏幕顯示超聲測距數(shù)據(jù),使用HC-HR04,超聲波測距是超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2 。超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據(jù)發(fā)射和接收的時間差計算出發(fā)射點到障礙物的實際距離。代碼中已經(jīng)計算,探測距離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;                //輸入捕獲狀態(tài)                                                   
  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);// 設(shè)置中斷優(yōu)先級分組2
  20.         delay_init();                     //延時函數(shù)初始化       
  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的頻率計數(shù)
  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. }
復(fù)制代碼

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



作者: 靜寂的天空    時間: 2020-1-28 17:03
請問distance為什么是temp/59
作者: 123kkl    時間: 2021-2-22 12:37
兄弟你這個錯誤一大堆哎




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 黄色小视频免费看 | 日韩专区中文字幕 | 免费看成人片 | 日本www视频 | 毛片一区 | 少妇福利视频 | 激情av网 | 国产欧美精品一区 | www.久久精品 | 国产一级黄色大片 | 加勒比一区二区 | 国产成人在线观看免费网站 | 性色av蜜臀av浪潮av老女人 | 久久天堂网 | 国产亚洲欧美在线 | 欧美日韩小视频 | 久久久久人| 香蕉久久a毛片 | 日韩激情久久 | 欧美黄色一级视频 | 日韩欧美自拍 | 国产逼逼 | 99免费视频 | 久久艹av | 高潮毛片无遮挡免费看 | 青草视频在线播放 | av大片在线观看 | 久久午夜影院 | 亚洲天堂网在线观看 | 欧美女同视频 | 久久久青草| 久久精品区 | 久久91精品| 波多野吉衣一二三区乱码 | 欧洲一区二区 | 国产激情视频 | 国产成人网 | 亚洲精品一区二区三区精华液 | 国产精品视频免费看 | 国产午夜一区二区三区 | 亚洲欧美中文字幕 |