找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4521|回復: 0
收起左側

兩路超聲波us015測距stm32程序源碼

[復制鏈接]
ID:303402 發(fā)表于 2018-4-7 23:36 | 顯示全部樓層 |閱讀模式
用了兩路定時器輸入捕獲功能實現兩路超聲波測距程序。如有不足之處希望能指正!

stm32單片機源程序如下:
  1. #include "public.h"
  2. #include "us015.h"
  3. #include "systick.h"
  4. #include "time.h"
  5. #include "printf.h"
  6. #include "beep.h"
  7. extern u8  TIM5CH1_CAPTURE_STA;        //輸入捕獲狀態(tài)                           
  8. extern u16 TIM5CH1_CAPTURE_VAL;    //輸入捕獲值   
  9. extern u8 TIM3CH2_CAPTURE_STA; //輸入捕獲狀態(tài)
  10. extern u16 TIM3CH2_CAPTURE_VAL;//輸入捕獲值

  11. int main(void)
  12.         {        
  13. static float temp=0,temp1=0;
  14.   float length=0;
  15.         u8 flag=0,flag1=0;
  16.         BEEP_Init();
  17.         us015_init();
  18.         printf_init();      
  19.     input_init();    //以1Mhz的頻率計數
  20.     input_init1();
  21.       
  22.            while(1)
  23.     {   
  24.           us015();
  25.                  us0151();
  26.        if(TIM5CH1_CAPTURE_STA&0X80)//成功捕獲到了一次上升沿
  27.         {        
  28.             temp=TIM5CH1_CAPTURE_STA&0X3F;
  29.             temp*=65536;//溢出時間總和
  30.             temp+=TIM5CH1_CAPTURE_VAL;//得到總的高電平時間
  31.                                  temp=temp*0.34/2;        
  32.             TIM5CH1_CAPTURE_STA=0;//開啟下一次捕獲
  33.         }  
  34.                  if(TIM3CH2_CAPTURE_STA&0X80)//成功捕獲到了一次上升沿
  35.         {
  36.                   
  37.             temp1=TIM3CH2_CAPTURE_STA&0X3F;
  38.             temp1*=65536;//溢出時間總和
  39.             temp1+=TIM3CH2_CAPTURE_VAL;//得到總的高電平時間
  40.                                  temp1=temp1*0.34/2;        
  41.            TIM3CH2_CAPTURE_STA=0;//開啟下一次捕獲
  42.         }
  43.         
  44.                
  45.                 length=temp1+temp;
  46.                  printf("距離長度:%f mm\r\n",length);//打印總的高點平時間
  47.                  if(length<127)
  48.                  {
  49.                  sound1();
  50.                  }
  51.                          delay_ms(10);
  52.                 }        
  53.                
  54.     }

復制代碼

所有資料51hei提供下載:
用串口輸出兩個超聲波所測距離之和.rar (399.94 KB, 下載次數: 79)


回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表