為什么我的超聲波傳感器測得距離總是0
-
unsigned int Get_Sonar() { unsigned int count;//定義變量為16位數(shù) int m,n,succeed_flag; Time0_Init();//計數(shù)器0初始化 EA=0; //關(guān)總中斷 TrigF=1; //超聲波... unsigned int Get_Sonar() { unsigned int count;//定義變量為16位數(shù) int m,n,succeed_flag; Time0_Init();//計數(shù)器0初始化 EA=0; //關(guān)總中斷 TrigF=1; //超聲波輸入端 delay_nus(20); //延時20us TrigF=0; //產(chǎn)生一個20us的脈沖 while(EchoF==0); //等待Echo回波引腳變高電平 succeed_flag=0; //清測量成功標(biāo)志 EA=1; EX0=1; //打開外部中斷0 TH1=0; //定時器1清零 TL1=0; //定時器1清零 TF1=0; //計數(shù)溢出標(biāo)志 TR1=1; //啟動定時器1 delayms(10); //等待測量的結(jié)果 if(succeed_flag==1) { time=timeH*256+timeL; s=time*0.0172; //厘米 } if(succeed_flag==0) { s=0; //沒有回波則清零 } TR1=0; //關(guān)閉定時器1 EX0=0; //關(guān)閉外部中斷0 return s; //返回前方距離 } //外部中斷0,用做判斷回波電平 void exter() interrupt 0 // 外部中斷0是0號 { EX0=0; //關(guān)閉外部中斷 timeH = TH1; //取出定時器的值 timeL = TL1; //取出定時器的值 succeed_flag=1;//至成功測量的標(biāo)志 } //定時器1中斷,用做超聲波測距計時 void timer1() interrupt 3 // { TH1=0; TL1=0; } 展開
熱門問答
- 為什么我的超聲波傳感器測得距離總是0
- unsigned int Get_Sonar() { unsigned int count;//定義變量為16位數(shù) int m,n,succeed_flag; Time0_Init();//計數(shù)器0初始化 EA=0; //關(guān)總中斷 TrigF=1; //超聲波... unsigned int Get_Sonar() { unsigned int count;//定義變量為16位數(shù) int m,n,succeed_flag; Time0_Init();//計數(shù)器0初始化 EA=0; //關(guān)總中斷 TrigF=1; //超聲波輸入端 delay_nus(20); //延時20us TrigF=0; //產(chǎn)生一個20us的脈沖 while(EchoF==0); //等待Echo回波引腳變高電平 succeed_flag=0; //清測量成功標(biāo)志 EA=1; EX0=1; //打開外部中斷0 TH1=0; //定時器1清零 TL1=0; //定時器1清零 TF1=0; //計數(shù)溢出標(biāo)志 TR1=1; //啟動定時器1 delayms(10); //等待測量的結(jié)果 if(succeed_flag==1) { time=timeH*256+timeL; s=time*0.0172; //厘米 } if(succeed_flag==0) { s=0; //沒有回波則清零 } TR1=0; //關(guān)閉定時器1 EX0=0; //關(guān)閉外部中斷0 return s; //返回前方距離 } //外部中斷0,用做判斷回波電平 void exter() interrupt 0 // 外部中斷0是0號 { EX0=0; //關(guān)閉外部中斷 timeH = TH1; //取出定時器的值 timeL = TL1; //取出定時器的值 succeed_flag=1;//至成功測量的標(biāo)志 } //定時器1中斷,用做超聲波測距計時 void timer1() interrupt 3 // { TH1=0; TL1=0; } 展開
- 為什么nano在使用超聲波傳感器時總是顯示超出距離
- 請問哪位知道什么型號的超聲波傳感器可以測得超過50米的距離
- 超聲波傳感器直接測得的是什么物理量
- 超聲波傳感器直接測得的是什么物理量?根據(jù)圖像你是怎樣判斷物體做的是否是勻速直線運動?你又怎樣根據(jù)實驗圖像求出物體的位移和速度呢?
- 超聲波傳感器直接測得的是什么物理量
- 為什么我的陰道炎總是反復(fù)無常
- 用經(jīng)緯儀怎么測得距離
- 經(jīng)緯儀測超高壓輸電線路對樹木的凈空: 在山上線路的下方有樹木,樹木Z高點又比測點高,而且還有些樹木在導(dǎo)線的內(nèi)、外側(cè)。近了,不夠安全距離,會導(dǎo)致線路跳閘,用肉眼又看很難準(zhǔn)確估計距離,所以用經(jīng)緯儀去測量。 因為是山上地形不好。就隨意的找個地... 經(jīng)緯儀測超高壓輸電線路對樹木的凈空: 在山上線路的下方有樹木,樹木Z高點又比測點高,而且還有些樹木在導(dǎo)線的內(nèi)、外側(cè)。近了,不夠安全距離,會導(dǎo)致線路跳閘,用肉眼又看很難準(zhǔn)確估計距離,所以用經(jīng)緯儀去測量。 因為是山上地形不好。就隨意的找個地方對樹木進(jìn)行凈空測量,有時是順著線路測量。有時是橫著線路測量。有時可能距需要測量凈空的地方有幾十、甚至上百米。 請問怎么用用經(jīng)緯儀測量計算出水平距離、垂直距離。 謝謝!滿意之后追加100懸賞 展開
- 如何調(diào)節(jié)超聲波傳感器測試距離
- 我用的是TCT40 T/R 和 555振蕩器 請發(fā)個電路圖并簡單解釋一下
- 為什么我戴帽子,總是頭皮發(fā)癢了
- 多波束超聲波傳感器和單波束超聲波傳感器測得的數(shù)據(jù)有什么不同?
- 如果對這兩種類型的數(shù)據(jù)進(jìn)行誤差處理的話,都可以用什么算法來做? PS:我想用單波束超聲波傳感器安裝在水底,來測量過往船舶吃水?dāng)?shù)據(jù),需要對測得的數(shù)據(jù)進(jìn)行誤差分析~~網(wǎng)上關(guān)于這方面的比較少,但是關(guān)于多波束測距的較多,我想知道他們有什么區(qū)別??
- 為什么pH計放在6.86的標(biāo)準(zhǔn)夜里可是測得值總是9.18
- 為什么我總是下半夜醒,而且睡不著覺?
- 如題,... 如題, 展開
- 金魚的食物是什么?為什么我的金魚總是死?
- 為什么我的金魚總是死,是不是和水有關(guān)系?溫度?食物?
- 壓力傳感器和上位機連接上之后,為什么數(shù)值總是顯示0
- 為什么我的NETPAS ACC總是網(wǎng)絡(luò)鏈接失?。保?
- 明白的速度
- 為什么使用超聲波傳感器40khz測距離超過4m就誤差會很大?
- 我的電腦總是藍(lán)屏,我該怎么辦?
- 藍(lán)屏提示碼:stop:0x0000004E(0X00000099,0X0002CA18,0X00000000,0X00000000)每次代碼都不一樣,剛才連續(xù)藍(lán)屏了兩次,連IE都上不了,代碼分別是:stop:0x0000008E(0xC0000005,0x8054C... 藍(lán)屏提示碼: stop:0x0000004E (0X00000099,0X0002CA18,0X00000000,0X00000000) 每次代碼都不一樣,剛才連續(xù)藍(lán)屏了兩次,連IE都上不了,代碼分別是: stop:0x0000008E(0xC0000005,0x8054C10F,0xB246C510,0x00000000) stop:0x00000023(0x000E0100,0xB269F2E0,0xB269F2E0,0x8054CFD2) 希望高手們幫幫我,急?。。?我用殺毒軟件全盤殺了,無毒;用360殺木馬,提示安全無木馬?,F(xiàn)在就不知道該怎么辦了·· 展開
- 溫度計怎樣恢復(fù)0,為什么我甩不下去???
- 溫度計怎樣恢復(fù)0,為什么我甩不下去?。?.. 溫度計怎樣恢復(fù)0,為什么我甩不下去?。? 展開
- 我跑的薄層層析板為什么總是跑不開,請教高手?。。?
- 我跑的薄層層析板為什么總是跑不開,不是由于展開劑的選擇問題,我已經(jīng)試過各個梯度的展開劑,是不是薄層層析只能展開某一些物質(zhì),不是所有的物質(zhì)都能展開顯現(xiàn)的?
4月突出貢獻(xiàn)榜
推薦主頁
最新話題





參與評論
登錄后參與評論