|
單片機(jī)源程序如下:
- #include"stm32f10x.h"
- #include"SysTick.h"
- #include"TFT_Drive.h"
- #include"GUI.h"
- #include"Uitr.h"
- #include"Time.h"
- void Count(void);
- void LED_GPIO_Config(void);
- uint32_t Distance;
- uint16_t Time;
- uint8_t ShowData[5]={0,0,0,0,0};
- int main(void)
- {
- TFT_Init();
- Uitr_GPIO_Config();
- LED_GPIO_Config();
- GUI_ClearScreen(BLACK);
- GUI_WriteCHAR(60,55,"www點(diǎn)prechin點(diǎn)com",RED,BLACK);
- GUI_WriteCNChar(56,26,"普中科技",RED,BLACK);
- GUI_WriteCHAR(0,300,"Distance:",RED,BLACK);
- TIM4_Config();
- TIM3_Config();
- while(1)
- {
- while(ECHO_IN != 1);
- TIM_Cmd(TIM4,ENABLE); //計(jì)數(shù)器開始計(jì)數(shù)
- while(ECHO_IN == 1);
- TIM_Cmd(TIM4,DISABLE); //計(jì)數(shù)器停止計(jì)數(shù)
- Count(); //計(jì)算距離
- }
- }
- void Count(void)
- {
- Time = TIM4->CNT; //讀計(jì)數(shù)器值
- TIM4->CNT = 0; //清除計(jì)數(shù)器
- if(Time>23530) //判斷是否在4M范圍,超出顯示ERRO
- {
- GUI_WriteCHAR(72,300,"erro",RED,BLACK);
- }
- else
- {
- Distance = (uint32_t)(Time*340/2/1000) ; //計(jì)算出來的是MM
- ShowData[0] = (Distance%10000/1000)+'0';
- ShowData[1] = (Distance%1000/100)+'0';
- ShowData[2] = (Distance%100/10)+'0';
- ShowData[3] = (Distance%10/1)+'0';
- GUI_WriteCHAR(72,300,ShowData,RED,BLACK); //顯示距離值
- }
-
- }
復(fù)制代碼
所有資料51hei提供下載:
|
-
-
HC-SR04超聲波_原理圖.pdf
2018-11-14 09:24 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
44.21 KB, 下載次數(shù): 65, 下載積分: 黑幣 -5
-
-
HC-SR04超聲波測距模塊說明書.pdf
2018-11-14 09:24 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
427.76 KB, 下載次數(shù): 41, 下載積分: 黑幣 -5
-
-
STM32超聲波測距.rar
2018-11-14 15:09 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
420.62 KB, 下載次數(shù): 170, 下載積分: 黑幣 -5
-
-
超聲波模塊參考.pdf
2018-11-14 09:24 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
1.02 MB, 下載次數(shù): 48, 下載積分: 黑幣 -5
評分
-
查看全部評分
|