51的P0口要是做IO口的话需要上拉10K电阻,或者你拿其他IO口。舵机只要有点源就嗡嗡响,如果你信号脉宽和周期没错的话应该是IO口没上拉的原因。模拟舵机的信号端上电瞬间就是会转动一下,这个没什么问题,如果手转舵机没阻力就是没信号,反之就是有信号的。
舵机多使用调节方波占空比来调节转度速度与方向,所以我建议你先用函数发生器来控制舵机,再根据测定的工作频率范围和占空比来编写程序,这样会效果更好。
在你接触的瞬间已经转到指定位置了,当然以后就不转了,如果想要再转,你得改变脉冲宽度。舵机只能转180度以内,别指它能转圈圈。
P0口下拉电流有限,只有20mA,可能不足以驱动舵机。
现用示波器看一下输出的波形,在仔细看看舵机的数据手册吧,这种问题当然也可能是舵机的问题。