用AT89S51控制舵机转动,用示波器查看过电路(最小系统),有PWM波形出来,不知道为什么舵机就只是在接触一瞬间有反应,希望高手帮个忙,(我是新手,没有多少分数...)程序如下,万分感谢~~~
//11.0592M
#include <reg51.h>
#define uchar unsigned char
sbit input=P1^2;
uchar t=0,p;
void InitTimer0(void)
{ //100us一次中断
TMOD =0x01;
TH0 =(65536-92)/256;
TL0 =(65536-92)%256;
ET0 = 1;
EA = 1;
TR0 = 1;
}
void Timer0Interrupt(void) interrupt 1
{
//20ms循环
TH0 =(65536-92)/256;
TL0 =(65536-92)%256;
if(t<p)
input=1;
else
input=0;
t++;
t=t%200;
}
void delay(uchar k)
{ uchar i,j;
for(i=0;i<k;i++)
{
for(j=0;j<120;j++);
}
}
void main()
{
InitTimer0();
while(1)
{
p=5;
delay(2000);
p=25;
delay(2000);
}
}