#include <reg51.h>
sbit PWM=P0^0;
unsigned char time,duoji; //duoji是调节占空比的
void init()
{
duoji=15;
time=0;
TMOD=0X01;
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;
EA=1;
ET0=1;
TR0=1;
}
void main()
{
init();
while(1)
{
if (time<=duoji)
PWM=1;
else
PWM=0;
}
}
void time1() interrupt 1
{
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;
time++;
if(time>=200)
{
time=0;
}
}
用定时器产生了PWM波不能直接控制的吗,那个是MG995舵机
追答1500ms对应中点,500ms对应-90度,2500ms对应90度。
如果控制舵机时候对舵机的转动速度没有要求的话,舵机会以最快的速度来工作。也就是说,在实现90度转动的过程则需要225ms,如果我们在之后好要实现其他角度的转动,那么相对应的控制pwm应该在上一个控制pwm的225ms之后发出。说得更详细点就是:在转动的225ms时间里,需要一直保持“1.5ms的高电平,18.5ms的低电平的脉宽,之后再实现其他的转动。
那这个程序要怎样修改,延时225Ms吗
现在还不用转很多角度,只要固定一个角度,但每次转的角度都很小,震一下就不转了
3极管怎样连接