您现在的位置: 主页 > MCU > 单片机技术应用 > STM32控制步进电机实现精确转动 -
本文所属标签:
为本文创立个标签吧:

STM32控制步进电机实现精确转动 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]驱动方式为A-AB-B-BC-C-CD-D-DA-A使用延时函数实现主函数#include"dj.h"#include"delay.h"#include"sys.h"#include"key_led.h"//ALIENTEKminiSTM32?a·¢°?êμ?é1//?ü?íμ?êμ?é//??ê??§3?£owww.openedv.c

驱动方式为A-AB-B-BC-C-CD-D-DA-A

本文引用地址: http://www.21ic.com/app/mcu/201808/780796.htm

使用延时函数实现


主函数


#include"dj.h"

#include"delay.h"

#include"sys.h"

#include"key_led.h"

//ALIENTEKminiSTM32?a·¢°?êμ?é1

//?ü?íμ?êμ?é

//??ê??§3?£owww.openedv.com

//1??YêDD?òíμ?×ó????óD?T1???

intmain()

{

inti=512;//?aà?×aò?è|Dèòa4096????3?D?o?×aò?è|iéè???a512

u32t=550;//????μ?305?a10sμ?ê±??£??aà?óD1sμ??ó2?£?1ê??è¥á?1sμ?ê±??

//1s????μ?μ??ùDè?óê±?a30305-30=275

//′?ía£?????á?5s?ùDèμ??óê±£?275/2=137.5è?1372aμ?ê±???ó2??ú0.2s×óò??ú

delay_init();//?óê±oˉêy3?ê??ˉ

Dj_Init();//3?ê??ˉó?LEDá??óμ?ó2?t?ó?ú

while(1)

{

while(i)

{

A1_H;B1_L;C1_L;D1_L;

delay_us(t);

A1_H;B1_H;C1_L;D1_L;

delay_us(t);

A1_L;B1_H;C1_L;D1_L;

delay_us(t);

A1_L;B1_H;C1_H;D1_L;

delay_us(t);

A1_L;B1_L;C1_H;D1_L;

delay_us(t);

A1_L;B1_L;C1_H;D1_H;

delay_us(t);

A1_L;B1_L;C1_L;D1_H;

delay_us(t);

A1_H;B1_L;C1_L;D1_H;

delay_us(t);

i--;

}

}

}



dj.c


#include"stm32f10x.h"

#include"sys.h"

#include"dj.h"

#include"delay.h"

voidDj_Init(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//ê1?üPA,PD???úê±?ó

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//LED0-->PA.8???ú????

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//í?íìê?3?

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO?ú?ù?è?a50MHz

GPIO_ResetBits(GPIOA,GPIO_Pin_0);//PA.8ê?3???

GPIO_Init(GPIOA,&GPIO_InitStructure);//?ù?Yéè?¨2?êy3?ê??ˉGPIOA.8

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//LED1-->PD.2???ú????,í?íìê?3?

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//í?íìê?3?

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO?ú?ù?è?a50MHz

GPIO_ResetBits(GPIOA,GPIO_Pin_1);//PD.2ê?3???

GPIO_Init(GPIOA,&GPIO_InitStructure);//?ù?Yéè?¨2?êy3?ê??ˉGPIOA.8

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//LED1-->PD.2???ú????,í?íìê?3?

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//í?íìê?3?

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO?ú?ù?è?a50MHz

GPIO_ResetBits(GPIOA,GPIO_Pin_2);//PD.2ê?3???

GPIO_Init(GPIOA,&GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;//LED1-->PD.2???ú????,í?íìê?3?

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//í?íìê?3?

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO?ú?ù?è?a50MHz

GPIO_ResetBits(GPIOA,GPIO_Pin_3);//PD.2ê?3???

GPIO_Init(GPIOA,&GPIO_InitStructure);//?ù?Yéè?¨2?êy3?ê??ˉGPIOA.8

}


dj.h


#ifndef__DJ_H

#define__DJ_H

#include"sys.h"

//////////////////////////////////////////////////////////////////////////////////

//本程序只供学习使用,未经作者许可,不得用于其它任何用途

//ALIENTEKminiSTM32开发板

//按键驱动代码

//正点原子@ALIENTEK

//技术论坛:www.openedv.com

//修改日期:2012/9/3

//版本:V1.0

//版权所有,盗版必究。

//Copyright(C)广州市星翼电子科技有限公司2009-2019

//Allrightsreserved

//////////////////////////////////////////////////////////////////////////////////

#define A1_H GPIO_Se



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > STM32控制步进电机实现精确转动 -
 

"STM32控制步进电机实现精确转动 -"的相关文章

网站地图

围观()