找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2157|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)控制舵機(jī)轉(zhuǎn)向超聲波測(cè)距,為啥我的程序舵機(jī)只能轉(zhuǎn)一下

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:501937 發(fā)表于 2019-4-20 20:37 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
為啥我的程序舵機(jī)只能轉(zhuǎn)一下啊
  1. #include <reg51.h>
  2. #include <intrins.h>
  3. #define uint unsigned int
  4. #define uchar unsigned char
  5. sbit led1=P1^0;
  6. sbit led2=P1^2;
  7. sbit led3=P1^4;
  8. sbit led4=P1^6;
  9. sbit pwm=P3^0;
  10. sbit trig=P3^2;
  11. sbit echo=P3^4;
  12. unsigned long s=0;
  13. unsigned long s1=0;
  14. unsigned long s2=0;
  15. unsigned long s3=0;

  16. uint timer=0,time=0;
  17. uchar num=0,sun;

  18.    void qianjin()
  19.    {
  20.       led1=1,led2=0,led3=1,led4=0;
  21.    }
  22.    void houtui()
  23.    {
  24.        led1=0,led2=1,led3=0,led4=1;
  25.    }
  26.    void zuozhuan()
  27.    {
  28.        led1=0,led2=1,led3=0,led4=0;
  29.    }
  30.    void youzhuan()
  31.    {
  32.        led1=0,led2=0,led3=1,led4=0;
  33.    }
  34.    void start()
  35.    {
  36.       trig=1;
  37.           _nop_();
  38.           _nop_();
  39.           _nop_();
  40.           _nop_();
  41.           _nop_();
  42.           _nop_();
  43.           _nop_();
  44.           trig=0;
  45.    }
  46.    void delay(uint max)
  47.    {
  48.       int x,y;
  49.      for(x=0;x<max;x++)
  50.             for(y=0;y<2000;y++);

  51.    }
  52.                void conut()                  
  53.               {
  54.       
  55.                while(!echo);                     
  56.              TR0=1;                             
  57.              while(echo);                        
  58.              TR0=0;                                 
  59.              time=TH0*256+TL0;                  
  60.               TH0=0;
  61.              TL0=0;
  62.               s=(time*1.7)/100;   
  63.                
  64.                   }
  65.                
  66.         void main()
  67.         {
  68.       
  69.                      TMOD=0X01;
  70.           TH0=(65536-100)/256;
  71.           TR0=(65536-100)%256;
  72.           EA=1;
  73.           ET0=1;
  74.           TR0=1;
  75.          
  76.          
  77.           sun=16;
  78.           timer=0;
  79.           while(timer<20000);
  80.           start();
  81.           conut();
  82.           s1=s;
  83.          
  84.           sun=8;         
  85.          timer=0;
  86.          while(timer<=20000);
  87.           start();
  88.           conut();
  89.           s2=s;
  90.          
  91.           sun=1;
  92.           delay(100);
  93.           start();
  94.           conut();
  95.           s3=s;
  96.                   
  97.         }
  98.          void T0_time()interrupt 1
  99.                   {
  100.                                      TH0=(65536-100)/256;
  101.                                          TL0=(65536-100)%256;
  102.                                            num++;
  103.                                               if(num==50)  num=0;
  104.                                                             if(num>sun) pwm=0;
  105.                                                                  else  pwm=1;
  106.                                                                  timer++;
  107.                                   }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:432823 發(fā)表于 2019-4-21 13:13 | 只看該作者
程序未加while(1){主程序}
回復(fù)

使用道具 舉報(bào)

板凳
ID:101620 發(fā)表于 2019-4-21 14:33 | 只看該作者
控制舵機(jī)沒(méi)有使用中斷,要讓舵機(jī)循環(huán)轉(zhuǎn)動(dòng)
回復(fù)

使用道具 舉報(bào)

地板
ID:501937 發(fā)表于 2019-4-21 21:32 | 只看該作者
yaoji123 發(fā)表于 2019-4-21 13:13
程序未加while(1){主程序}

我寫(xiě)了while(1)也不行,不知道咋搞的
回復(fù)

使用道具 舉報(bào)

5#
ID:501937 發(fā)表于 2019-4-21 21:37 | 只看該作者
孤劍酷 發(fā)表于 2019-4-21 14:33
控制舵機(jī)沒(méi)有使用中斷,要讓舵機(jī)循環(huán)轉(zhuǎn)動(dòng)

求大佬告知應(yīng)該怎么改
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表