stm32f407按键控制舵机
单片机源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "pwm.h"
- #include "key.h"
- //ALIENTEK 探索者STM32F407开发板
- //舵机接线
- //信号线接PF9,vcc接5v,GND接GND.(一般红线为VCC,黑线为gnd,橙色线为信号线)
- int main(void)
- {
- u8 key; //保存键值
- //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
- delay_init(168); //初始化延时函数
- uart_init(115200);//初始化串口波特率为115200
- TIM14_PWM_Init(40000-1,42-1); //84M/84=1Mhz的计数频率,重装载值500,所以PWM频率为 1M/500=2Khz.
- delay_init(168); //初始化延时函数
- KEY_Init(); //初始化与按键连接的硬件接口
- set_Angle(0);delay_ms(1000); //复位时舵机在0度
- while(1)
- {
- key=KEY_Scan(0); //得到键值
- if(key)
- {
- switch(key)
- {
-
- case WKUP_PRES:
- set_Angle(45);delay_ms(1000);//按下key_up时舵机在45度
- break;
- case KEY0_PRES: //按下key0时舵机在90度
- set_Angle(90);delay_ms(1000);
- break;
- case KEY1_PRES: //按下key1时舵机在135度
- set_Angle(135);delay_ms(1000);
- break;
- case KEY2_PRES: //按下key2时舵机在180度
- set_Angle(180);delay_ms(1000);
- break;
- }
- }else delay_ms(10);
- }
- }
-
-
复制代码
所有资料51hei提供下载:
按键舵机实验.7z
(297.46 KB, 下载次数: 136)
|