51单片机PWM控制舵机
因为波特率的原因,晶振是11.0592M,对模拟pwm不是很友好,因为手头没有硬件,并不知道实际模拟效果。
舵机角度为180°,占空比为0.5-2.5MS,要求调整精度为5°,即时间精度为2/180*5≈0.05MS,晶振为11.0592M即0.9216M个机器周期/S,对应0.05MS即46个周期,定时器应当设置为65536-46=65490即0xffd2
单定时器设计,固定周期20MS
1 2 3 4 5 6 7 8 9 10 11 12 |
void timer0() interrupt 1 { TH0 = 0xff; TL0 = 0xd2;//定时器设计为0.05MS if(count < Angle) PWM=1; else PWM=0; count++; count=count%400;//周期固定为0.05*400=20MS } |