標題: 51單片機超聲波測距 [打印本頁]

作者: 12a454121    時間: 2018-1-22 15:30
標題: 51單片機超聲波測距
單片機源程序如下:
  1. #include <reg51.h>
  2. #uint unsigned int
  3. //控制端
  4. sbit Trig =P2^0;
  5. //輸出端
  6. sbit Echo=P2^1;
  7. /*測波函數(shù)*/
  8. TH0=0;
  9. TL0=0;
  10. uint get_distance()
  11. {
  12.         uint speed=340;
  13.         uint time;
  14.         uint distance;
  15.         //發(fā)出超聲波
  16.         trig=1;
  17.         for(i=0;i<=1000;i++);
  18.         trig=0;
  19.         //第二步:讀取超聲波返回時間
  20.         while(Echo==0);//等待超聲波發(fā)出
  21.         TR0=1;//超聲波開始發(fā)出,開啟定時器
  22.         while(Echo==1)//超聲波還在發(fā)送中
  23.                 TR0=0;//超聲波回來,立即關(guān)閉定時器
  24.         distance=speed*((dounle)time/1000000)/2*100;
  25.         return distance;
  26. }
  27. void inittimer0()
  28. {
  29.         TMOD=0x01;
  30.         TG0=0;
  31.         TL0=0;
  32.         EA=1;
  33.         ET0=1;
  34.         TR0=1;
  35. }
  36. void main()
  37. {       
  38. ……………………

  39. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
超聲波測距.zip (35.31 KB, 下載次數(shù): 15)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1