|
STM32f407按鍵舵機(jī)實(shí)驗(yàn)復(fù)位,舵機(jī)轉(zhuǎn)到0度
按key_up,舵機(jī)轉(zhuǎn)到45度
按key0,舵機(jī)轉(zhuǎn)到度90度
按key1,舵機(jī)轉(zhuǎn)到度135
按key1,舵機(jī)轉(zhuǎn)到度180
STM32f407單片機(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ī)實(shí)驗(yàn).rar
(453.88 KB, 下載次數(shù): 148)
2018-8-4 17:44 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|