頁:
[1]
servo來回擺動不順暢
近日參考了網路上前輩分享的程式之後sites.google.com/site/nyosawu/8051zhuan-lan/8051kong-zhi-ci-fu-jimg995
已經可以固定位置的轉動
在經過自行修改之後
目的希望可以自動的來回擺動
但經過多種迴圈測試之後
依然會擺動不順暢
請教板上的前輩有什麼比較建議的迴圈寫法嗎?
在此附上程式碼:
#include <at89x51.h>
unsigned int dutytime=45536;
unsigned int ton=10000;
unsigned int toff=10000;
unsigned int temp;
void delay(unsigned int);
void timer0_initialize(void)
{
EA=0;
TMOD=0x01;
temp=65536-dutytime;
TH0=temp/256;
TL0=temp%256;
TR0=1;
EA=1;
ET0=1;
}
void timer0_isr(void) interrupt 1
{
if(P2_0==1)
{
temp=65536-toff;
TH0=temp/256;
TL0=temp%256;
P2_0=0;
}
else
{
temp=65536-ton;
TH0=temp/256;
TL0=temp%256;
P2_0=1;
}
}
void main(void)
{
timer0_initialize();
no1:
while(1)
{
if(P1_0==0)
{
while(1)
{
ton=2200;
toff=20000-ton;
delay(10000);
ton=900;
toff=20000-ton;
delay(10000);
if(P1_1==0)
goto no1;
}
}
if(P1_1==0)
{
while(1)
{
ton=2200;
toff=20000-ton;
delay(10000);
ton=1500;
toff=20000-ton;
delay(10000);
if(P1_0==0)
goto no1;
}
}
}
}
void delay(unsigned int time)
{
unsigned int n;
while(time>0)
{
n=120;
while(n>120)
n--;
time--;
}
}
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>
頁:
[1]