只利用一个定时器 T0定时时间为 0.5ms,定义一个角度标识数值为 1、2、3、4、5,实现 0.5ms、1ms、1.5ms、2ms、2.5ms 高电平的输出再定义一个变量,数值最大为 40实现周期为 20ms。每次进入定时中断判断此时的角度标识,进行相应的操作比如此时为 5,则进入的前 5 次中断期间信号输出为高电平,即为 2.5ms 的高电平剩下的 35 次中断期间,信号输出为低电平即为 17.5ms 的低电平。这样总的时间是 20ms为一个周期。用51板上s1和s2按键,用P1^7输PWM信号控制舵机
该资源内容由用户上传如若侵權请选择举报
版权声明:该资源内容由用户上传,如若侵权请选择举报
通过最简单的黑线循迹小车程序我们可以巩固学习51单片机控制舵機不转的学习。本例程除了使用开发板还使用了电机驱动L298N和两个直流电机。代码清晰明了重要地方还有注释,可以放心下载
一个资源只可评论一次评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
uchar k; //k表示总时间 因为定时器中断要用箌k,所以放在程序头
//j表示高电平持续的时间;k表示总时间.因为重复调用该函数
else //标志为1时高电平标志减小
{ //第二步:在20ms判断结束的基础上,输絀PWM
while(key1==0) //当开关打开启动定时器,进入转动程序并循环
TR0=0; //当开关关闭关闭定时器,舵机保持最末时刻状
//高电平逐渐增加/减少