|
|
我給你來(lái)個(gè)類(lèi)似程序參考
- #include <reg52.h>
- #include "usart.h"
- #include "iic.h"
- /*
- 硬件接法:
- GY-53----C51
- PWM_input---P3^7
- C51---FT232
- TX ---RX
- RX ---TX
- 軟件說(shuō)明:
- 該程序采用PWM進(jìn)行讀取數(shù)據(jù) ,距離=高電平時(shí)間(us)/10
- */
- void TIME0_Int(uint32_t BaudRatePrescaler)
- {
- TMOD |= 0x01;//定時(shí)器0,工作方式1,16位計(jì)數(shù)
- TH0 =0;
- TL0 =0;
- ET0 =0;
-
- }
- void delay(unsigned int x)
- {
- while(x--);
- }
- sbit PWM_pin=P3^7;
- int main(void)
- {
- unsigned char raw_data[9]={0};
- unsigned int buf=0,distance=0;
- Usart_Int(9600);
- TIME0_Int();
- while(PWM_pin); //等待拉高
- while(1)
- {
- while(!PWM_pin); //等待拉低,啟動(dòng)定時(shí)
- ET0=1;
- TR0=1;
- while(PWM_pin);//等待拉高,關(guān)閉定時(shí)
- TR0=0x0;
- ET0=0x0;
- buf=(unsigned int)TH0<<8|TL0; //讀取定時(shí)器計(jì)數(shù)
- distance=(float)buf/110.592*12;//數(shù)據(jù)轉(zhuǎn)換為距離,定時(shí)器計(jì)一次時(shí)間為12/11.0592(晶振)us,距離=時(shí)間(us)/10
- raw_data[0] =distance>>8;
- raw_data[1] = distance;
- raw_data[2] =2; //模塊默認(rèn)模式
- send_3out(raw_data,3,0x15);//上傳到上位機(jī)
- TH0 =0x0;
- TL0 =0x0;
-
- }
- }
復(fù)制代碼
|
-
-
GY-53資料v1.7z
2019-12-22 19:43 上傳
點(diǎn)擊文件名下載附件
829.38 KB, 下載次數(shù): 20
-
-
vl53l0x.pdf
2019-12-22 07:46 上傳
點(diǎn)擊文件名下載附件
1.09 MB, 下載次數(shù): 13
-
-
GY-53使用說(shuō)明v1.pdf
2019-12-22 07:46 上傳
點(diǎn)擊文件名下載附件
371.27 KB, 下載次數(shù): 24
|