很多时候就要软件模拟pwm。看了些代码有的是通过延时来输出pwm波,有的也用了定时器但是那些代码要驱动多伺服电就显得比较麻烦。下面的代码是通过定时器0产生每0.5ms一次的提醒,程序在大循环中通过调用DJ()函数可以返还值给伺服电机信号引脚,DJ()函数可以定旋转的角度,但是因为定时器设置是0.5ms的中断这就决定了旋转呢角度只能是-45,-90,0,45,90。如果要提高精度就要通过设置定时器的初值,改变函数的num值来达成。
时间仓促还没有测试程序的可行性(通常是没有问题呢,呵呵),假断掌手相图解等有时间的话会继续完善程序加上可以控制舵机旋转速度的功能。如果要弄机器人的话还是弄块专业的驱动板吧,那样调试起来会很直观很方便呢减少许多不必要的麻烦呢。