|
stm32f407按鍵控制舵機(jī)
單片機(jī)源程序如下:
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "pwm.h"
- #include "key.h"
- //ALIENTEK 探索者STM32F407開發(fā)板
- //舵機(jī)接線
- //信號線接PF9,vcc接5v,GND接GND.(一般紅線為VCC,黑線為gnd,橙色線為信號線)
- int main(void)
- {
- u8 key; //保存鍵值
- //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設(shè)置系統(tǒng)中斷優(yōu)先級分組2
- delay_init(168); //初始化延時函數(shù)
- uart_init(115200);//初始化串口波特率為115200
- TIM14_PWM_Init(40000-1,42-1); //84M/84=1Mhz的計數(shù)頻率,重裝載值500,所以PWM頻率為 1M/500=2Khz.
- delay_init(168); //初始化延時函數(shù)
- KEY_Init(); //初始化與按鍵連接的硬件接口
- set_Angle(0);delay_ms(1000); //復(fù)位時舵機(jī)在0度
- while(1)
- {
- key=KEY_Scan(0); //得到鍵值
- if(key)
- {
- switch(key)
- {
-
- case WKUP_PRES:
- set_Angle(45);delay_ms(1000);//按下key_up時舵機(jī)在45度
- break;
- case KEY0_PRES: //按下key0時舵機(jī)在90度
- set_Angle(90);delay_ms(1000);
- break;
- case KEY1_PRES: //按下key1時舵機(jī)在135度
- set_Angle(135);delay_ms(1000);
- break;
- case KEY2_PRES: //按下key2時舵機(jī)在180度
- set_Angle(180);delay_ms(1000);
- break;
- }
- }else delay_ms(10);
- }
- }
-
-
復(fù)制代碼
所有資料51hei提供下載:
按鍵舵機(jī)實驗.7z
(297.46 KB, 下載次數(shù): 136)
2019-5-17 05:40 上傳
點擊文件名下載附件
stm32f407按鍵控制 下載積分: 黑幣 -5
|
|