欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機怎么控制一直來回搖擺的舵機停止在當前角度,主函數部分程序如下 [打印本頁]

作者: YouOneOrd    時間: 2019-8-22 08:50
標題: 51單片機怎么控制一直來回搖擺的舵機停止在當前角度,主函數部分程序如下
void Time0_Int() interrupt 3
{
TH1  = 0xff;            
TL1  = 0x1a;
    if(count<jd)         
      pwm=1;               
    else
      pwm=0;                 
    count=(count+1);         
    count=count%80;     }



void main()
{
.............................
...............................
while(1){

if(dj==1)                                    //紅外按鍵4被按下
   {

    while(jd<12)
  {
    jd++;
count=0;
     delay(500);
  }

  while(jd>1)
{ jd--;
count=0;
  delay(500);}
         }
if(dj==2)                                                      //紅外按鍵5被按下
{
  count=jd;                                                //這里不會寫程序了。。。。。。

}  
   
   
    }

......................................................
..............................................
}



作者: csmyldl    時間: 2019-8-27 16:25
程序中count用于計數PWM脈沖的周期,最大80,jd是維持高電平的時間計數,主程序中按下鍵時jd加1,或jd減1來控制舵機的運動,因為jd是不斷變化的,所以舵機會來回擺動,要使舵機停留在某一位置,其實只需要固定jd值就可以,可以把程序改為按下4鍵 jd=4,按下5鍵jd=8,按下6鍵jd=6,這樣就會使舵機停留在左右中三個位置.  (根據你程序中1個PWM周期80來算的,因為舵機PWM周期是20ms,而舵機旋轉只有當高電平時間在1-2ms間偏轉),高電平在1ms時逆時鐘旋轉到底,高電平在2ms時順時鐘旋轉到底,高電平在1.5ms時旋轉至中部




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