|
本次上傳附件為STM32單片機(jī)控制步進(jìn)電機(jī)正反轉(zhuǎn)和加減速的內(nèi)容
單片機(jī)源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "usart.h"
- #include "key.h"
- #include "usmart.h"
- #include "driver.h"
- int main(void)
- {
- u8 i;
- u8 keyval;
- NVIC_Configuration();
- delay_init(); //延時(shí)函數(shù)初始化
- uart_init(115200); //串口初始化為115200
- usmart_dev.init(72); //初始化USMART
- LED_Init(); //初始化與LED連接的硬件接口
- KEY_Init(); //初始化按鍵
- Driver_Init(); //驅(qū)動器初始化
- TIM8_OPM_RCR_Init(999,72-1); //1MHz計(jì)數(shù)頻率 單脈沖+重復(fù)計(jì)數(shù)模式
- TIM_Init();
- TIM5_Init();
-
- while(1)
- {
- keyval=KEY_Scan(0);
- if(keyval==WKUP_PRES)
- {
- Pulse_Control(500,10000); //500us(2kHZ)
- delay_ms(1000);
- Pulse_number(500,10000);
- delay_ms(1000);
- }else if(keyval==KEY0_PRES)
- {
-
- Locate_Rle(10000,2000,CW);//按下KEY0,以2000Hz的頻率 順時(shí)針發(fā)10000脈沖
- delay_ms(1000);
- Pulse_number(500,10000); //PA3
- delay_ms(1000);
- Pulse_Control(500,10000); //500us(2kHZ) PC6
- delay_ms(1000);
-
- }else if(keyval==KEY1_PRES)
- {
- Locate_Rle(10000,5000,CCW);//PC7 按下KEY1,以5000Hz的頻率 逆時(shí)針發(fā)10000脈沖
-
- }
- delay_ms(10);
- i++;
- if(i==50)
- {
- i=0;
- LED1=!LED1;
- }
- }
- }
復(fù)制代碼
|
|