|
28bYJ48 for stm32
單片機源程序如下:
- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- // void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);
- void motor_cw(uint32_t j)//正轉(zhuǎn) 延時控制轉(zhuǎn)速
- {
- int i;
- for(i=1000;i>j;i--) //加速過程
- {
- GPIO_Write(GPIOA, 8);
- delay_us(i);
- GPIO_Write(GPIOA, 12);
- delay_us(i);
- GPIO_Write(GPIOA, 4);
- delay_us(i);
- GPIO_Write(GPIOA, 6);
- delay_us(i);
- GPIO_Write(GPIOA, 2);
- delay_us(i);
- GPIO_Write(GPIOA, 3);
- delay_us(i);
- GPIO_Write(GPIOA, 1);
- delay_us(i);
- GPIO_Write(GPIOA, 9);
- delay_us(i);
- }
- while(1)
- {
- GPIO_Write(GPIOA, 8);
- delay_us(j);
- GPIO_Write(GPIOA, 12);
- delay_us(j);
- GPIO_Write(GPIOA, 4);
- delay_us(j);
- GPIO_Write(GPIOA, 6);
- delay_us(j);
- GPIO_Write(GPIOA, 2);
- delay_us(j);
- GPIO_Write(GPIOA, 3);
- delay_us(j);
- GPIO_Write(GPIOA, 1);
- delay_us(j);
- GPIO_Write(GPIOA, 9);
- delay_us(j);
- }
- }
- void motor_ccw(uint32_t j)//反轉(zhuǎn)
- {
- int i;
- for(i=1000;i>j;i--) //加速過程
- {
- GPIO_Write(GPIOA, 9);
- delay_us(i);
- GPIO_Write(GPIOA, 1);
- delay_us(i);
- GPIO_Write(GPIOA, 3);
- delay_us(i);
- GPIO_Write(GPIOA, 2);
- delay_us(i);
- GPIO_Write(GPIOA, 6);
- delay_us(i);
- GPIO_Write(GPIOA, 4);
- delay_us(i);
- GPIO_Write(GPIOA, 12);
- delay_us(i);
- GPIO_Write(GPIOA, 8);
- delay_us(i);
- }
- while(1)
- {
- GPIO_Write(GPIOA, 9);
- delay_us(j);
- GPIO_Write(GPIOA, 1);
- delay_us(j);
- GPIO_Write(GPIOA, 3);
- delay_us(j);
- GPIO_Write(GPIOA, 2);
- delay_us(j);
- GPIO_Write(GPIOA, 6);
- delay_us(j);
- GPIO_Write(GPIOA, 4);
- delay_us(j);
- GPIO_Write(GPIOA, 12);
- delay_us(j);
- GPIO_Write(GPIOA, 8);
- delay_us(j);
- }
- }
- int main(void)
- {
- delay_init(); //延時函數(shù)初始化
- SDIO_Init(); //初始化與LED連接的硬件接口
- while(1)
- {
- motor_ccw(100); //鑒于本人用的是 28BYJ48步進(jìn)電機,減速比64,所以電機轉(zhuǎn)速120r/min,再快就卡了
-
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
步進(jìn)電機.rar
(286.72 KB, 下載次數(shù): 131)
2018-6-20 05:01 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|