根据占空比调节固定度数,0-180度任意角度均可调节,具体描述看代码README部分
单片机源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "pwm.h"
- #include "key.h"
- #define key1 PCin(5)
- #define key2 PAin(15)
- u16 cout;//舵机连接pA8
- int main(void)
- {
- cout=1800;
- KEY_Init();
- delay_init(); //延时函数初始化
- LED_Init(); //初始化与LED连接的硬件接口
- TIM1_PWM_Init(1999,719); //PWM频率===(2000*720)/72000000=0.02=20ms
- while(1)
- {
- if(key1==0) //key1按下,舵机正向转动至135度
- {
- if(key1==0)
- {
- delay_ms(5);
- cout=1900;
- }
- }
- if(key1==1&&key2==1) //舵机回到45度
- {
- cout=1800;
- }
- if(key2==0) //key2按下,舵机正向转动至90度
- {
- delay_ms(5);
- cout=1850;
- }
- TIM_SetCompare1(TIM1,cout); //PWM输出
- delay_ms(50);
-
- }
-
- }
复制代码
所有资料51hei提供下载:
PWM控制舵机.7z
(183.99 KB, 下载次数: 138)
|