k60用HC-SR04測距
單片機源程序如下:
- #include "common.h"
- #include "include.h"
- #define TRIG PTD2
- #define ECHG PTD1
- #define FLAGWAIT 0xFFFFF
- /*!
- * @brief main函數
- * @since v5.0
- * @note 野火 PIT 計時實驗
- */
- void main()
- {
- uint32 timevar;
- uint32 flag;
- gpio_init(TRIG,GPO,0);
- gpio_init(ECHG,GPI,0);
-
- while(1)
- {
- flag = 0;
- gpio_set(TRIG,1); //產生觸發脈沖
- pit_delay_us(PIT1,15);
- gpio_set(TRIG,0);
-
- while(gpio_get(ECHG) == 0); //等待電平變高,低電平一直等待
- pit_time_start (PIT0); //開始計時
- while(gpio_get(ECHG) == 1) //等待電平變低,高電平一直等待
- {
- flag++;
- if(flag >FLAGWAIT)
- {
- break;
- }
- };
-
- timevar = pit_time_get_us (PIT0); //停止計時,獲取計時時間
- if(flag <FLAGWAIT )
- {
- timevar = timevar * 340 /2/1000;
-
- if(timevar > 5)
- {
- printf("\n\n距離為:%dmm",timevar); //打印延時時間
- }
- }
-
- DELAY_MS(1000);
- }
- }
復制代碼
所有資料51hei提供下載:
PIT_計時_超聲波.7z
(304.55 KB, 下載次數: 5)
2019-6-20 02:17 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|