久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 求助超聲波測量問題,萬分感謝 [打印本頁]

作者: GOD丿小男孩    時間: 2017-10-18 22:47
標題: 求助超聲波測量問題,萬分感謝
看了很多別人的程序,也了解了一下原理,感覺別人寫的太復雜了,所以就自己寫了一個,但是不管用,距離亂顯示,而且刷新時間長。麻煩大神幫我看看哪出問題了,不要給別人的程序,我有太多。只想知道這個程序問題在哪,謝謝。
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  5.                                                         0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,
  6.                                                         0x79,0x71};
  7. sbit tring=P2^0;
  8. sbit echo=P2^1;
  9. sbit DLA=P2^2;                //位顯數碼管
  10. sbit DLB=P2^3;
  11. sbit DLC=P2^4;
  12. bit flag=0;                        //測量超聲波是否成功標志
  13. uint S;                                //長度
  14. void delay20us(void)   //誤差 0us
  15. {
  16.     unsigned char a,b;
  17.     for(b=1;b>0;b--)
  18.         for(a=7;a>0;a--);
  19. }

  20. void conduct()
  21. {
  22.         uint time;
  23.         time=TH0;                          //讀取時間長度
  24.         time<<=8;
  25.         time=time|TL0;
  26.         TH0=0;TL0=0;
  27.         S=time*0.017;                 //轉化為距離,單位CM;time*340*100/(2*1000000)
  28. }
  29. void init()
  30. {
  31.         TMOD=0x11;
  32.         EA=1;ET0=1;ET1=1;
  33.         TH1=0xB1;TL1=0xE0;//周期為20MS;
  34.         TH0=0;TL0=0;
  35.         TR1=1;
  36. }
  37. void timer0() interrupt 1          //若溢出,則說明測量失敗
  38. {
  39.         flag=1;
  40. }
  41. void timer1() interrupt 3
  42. {
  43.         uchar a,b;       
  44.         TH1=0xB1;TL1=0xE0;
  45.         if((S>4000)|(flag==1))                 //數碼管顯示函數
  46.         {
  47.                 for(a=40;a>0;a--)
  48.                 {
  49.                         flag=0;
  50.                         DLA=0;DLB=0;DLC=0;P0=0x3f;delay20us();
  51.                         DLA=1;DLB=0;DLC=0;P0=0x50;delay20us();
  52.                         DLA=0;DLB=1;DLC=0;P0=0x50;delay20us();
  53.                         DLA=1;DLB=1;DLC=0;P0=0x79;delay20us();
  54.                 }       
  55.         }
  56.         else
  57.         {
  58.                 for(a=40;a>0;a--)
  59.                 {
  60.                         DLA=0;DLB=0;DLC=0;P0=table[S%10];delay20us();
  61.                         DLA=1;DLB=0;DLC=0;P0=table[S%100/10];delay20us();
  62.                         DLA=0;DLB=1;DLC=0;P0=table[S%1000/100];delay20us();
  63.                         DLA=1;DLB=1;DLC=0;P0=table[S/1000];delay20us();
  64.                 }       
  65.         }
  66.         b++;                                                //b為10即200ms測量一次;
  67.         if(b==10)
  68.         {
  69.                 b=0;
  70.                 tring=1;
  71.                 delay20us();
  72.                 tring=0;
  73.                
  74.         }       
  75. }
  76. void main()
  77. {
  78.         init();
  79.         while(1)
  80.         {
  81.                 while(echo==0);
  82.                 TR0=1;
  83.                 while(echo==1);
  84.                 TR0=0;
  85.                 conduct();
  86.         }
  87. }
復制代碼



作者: tjsh    時間: 2017-10-18 23:14
看不出問題
作者: GOD丿小男孩    時間: 2017-10-19 08:49
tjsh 發表于 2017-10-18 23:14
看不出問題

是吧,我也認為是沒問題的,如果有問題,應該是執行時候的問題,可能有沖突,也有可能mcu忙
作者: xiehuanle    時間: 2017-10-19 21:11
很多時候不是程序的問題,有可能是傳感器的問題,我以前也調過很長時間,最后整了整傳感器,然后就好了,你可以嘗試一下。
作者: GOD丿小男孩    時間: 2017-10-19 23:47
xiehuanle 發表于 2017-10-19 21:11
很多時候不是程序的問題,有可能是傳感器的問題,我以前也調過很長時間,最后整了整傳感器,然后就好了,你 ...

不會的,因為我用別人寫的程序試過沒問題
作者: 少年夢境    時間: 2017-10-20 00:00
幫看,我在我軟件試試
作者: 隨煬heart    時間: 2017-10-20 00:33
感覺沒有問題哎,執行時出現的是什么錯誤?
作者: GOD丿小男孩    時間: 2017-10-20 22:12
隨煬heart 發表于 2017-10-20 00:33
感覺沒有問題哎,執行時出現的是什么錯誤?

燒錄后距離不準確,是很離譜;而且久久不刷新
作者: dq2sd    時間: 2017-10-21 00:20
看不出來。。。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩精品一区二区三区 | 亚洲免费片 | av在线天堂 | 国产精品国产a级 | 欧美日韩一区二区视频在线观看 | 成人在线免费视频观看 | 亚洲视频一区在线 | 日韩欧美国产不卡 | 久久精品99| 最新国产精品 | 国产性色视频 | a爱视频| 亚洲精品视频免费 | 日本爱爱视频 | 亚洲第一av| 久久久人成影片一区二区三区 | 日韩欧美国产一区二区三区 | 午夜精品久久久久99蜜 | 欧美国产中文字幕 | 成人精品一区二区三区 | 欧美一区二区视频 | 一本大道久久a久久精二百 欧洲一区二区三区 | 综合色婷婷 | 久久综合久色欧美综合狠狠 | 亚洲三区视频 | 99精品国自产在线观看 | 在线日韩av电影 | 国产精品一码二码三码在线 | 国产日韩欧美激情 | 在线观看www高清视频 | 国产一区 | jizz18国产 | 亚洲福利网 | 天天艹天天干天天 | 岛国精品 | 国产在线一区二区三区 | 呦呦在线视频 | 狠狠躁躁夜夜躁波多野结依 | 国产一区二区在线免费观看 | 午夜精品一区 | 久久伊人免费视频 |