初级会员

- 积分
- 83
- 金钱
- 83
- 注册时间
- 2019-7-18
- 在线时间
- 20 小时
|
通过TIM1分频,产生50HZ的频率,也就是舵机的周期20ms,通过控制占空比来选择舵机旋转角度。
0.5ms—— 规定为0o——0.5/20=5/200,但是这是低电平,于是可以设置为195/200,即TIM_SetCompare1(TIM1,195),就是0.5ms,以此类推。
int main(void)
{
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
TIM1_PWM_Init(199,7199);// PWM频率=72000000/(199+1)*(7200)=50HZ
TIM_SetCompare1(TIM1,195); //规定为0度
delay_ms(1000);
while(1)
{
TIM_SetCompare1(TIM1,190); //逆时针转45度 (占空比)
delay_ms(1000);
TIM_SetCompare1(TIM1,185); //逆时针转90度
delay_ms(1000);
TIM_SetCompare1(TIM1,180); //逆时针转135度
delay_ms(1000);
TIM_SetCompare1(TIM1,175); //逆时针转180度
delay_ms(1000);
TIM_SetCompare1(TIM1,180); //顺时针转45度,回到135度的状态
delay_ms(1000);
TIM_SetCompare1(TIM1,185); //顺时针转到90度的状态
delay_ms(1000);
TIM_SetCompare1(TIM1,190); //回到45度
delay_ms(1000);
TIM_SetCompare1(TIM1,195); //回到0度
delay_ms(1000);
}
}
|
|