单片机怎么控制舵机

89C52怎么控制舵机? 给个C程序最好,网上很多,可是我不想用到定时器,跟外部中断
比方按钮1,按下左转 按钮2,按下就右转

给个思路吧!
一个按键扫描函数
扫描到按键1按下
调用正转函数
延时等待舵机转完
扫描到按键2按下
调用反转函数
延时等待舵机转完

正转:
某脚延时2ms高电平,然后延时18ms低电平
反转:
某脚延时1ms高电平,然后延时19ms低电平

有些舵机电平范围可能大于1--2ms
适当调整就可以转180°了

舵机控制周期一般都是20ms追问

正转:
某脚延时2ms高电平,然后延时18ms低电平

这个有点疑惑,你可以给我个正转的函数吗?不用定时器的,谢谢

追答

比如你用P1^1控制

sbit SERVO = P1^1;

SERVO = 1;
delay_ms(2)
SERVO = 0;
delay_ms(18);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-11-04
舵机有三根线,电源和地,还有一个信号线。电源一般就接5V左右,信号线就是PWM,周期20ms,占空比范围0.5ms/20ms到1.5ms/20ms。不同的占空比舵机转的角度不同。
第2个回答  2021-04-15

本期创客G坊教朋友们使用Arduino编写一段使用电位器控制舵机的小程序