标题: STM32单片机控制步进电机正反转和加减速源程序 [打印本页]

作者: loken    时间: 2019-7-4 15:21
标题: STM32单片机控制步进电机正反转和加减速源程序
本次上传附件为STM32单片机控制步进电机正反转和加减速的内容

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"
  5. #include "key.h"
  6. #include "usmart.h"
  7. #include "driver.h"



  8. int main(void)
  9. {
  10.         u8 i;
  11.         u8 keyval;
  12.         NVIC_Configuration();
  13.         delay_init();                     //延时函数初始化          
  14.         uart_init(115200);                 //串口初始化为115200
  15.         usmart_dev.init(72);         //初始化USMART                                        
  16.         LED_Init();                                //初始化与LED连接的硬件接口
  17.         KEY_Init();                                //初始化按键
  18.         Driver_Init();                //驱动器初始化
  19.         TIM8_OPM_RCR_Init(999,72-1); //1MHz计数频率  单脉冲+重复计数模式          
  20.         TIM_Init();  
  21.         TIM5_Init();
  22.        
  23.         while(1)
  24.         {                           
  25.                 keyval=KEY_Scan(0);
  26.                 if(keyval==WKUP_PRES)
  27.                 {
  28.                         Pulse_Control(500,10000); //500us(2kHZ)
  29.                   delay_ms(1000);
  30.                         Pulse_number(500,10000);       
  31.                         delay_ms(1000);
  32.                 }else if(keyval==KEY0_PRES)
  33.                 {
  34.                        
  35.                         Locate_Rle(10000,2000,CW);//按下KEY0,以2000Hz的频率 顺时针发10000脉冲
  36.                         delay_ms(1000);
  37.                   Pulse_number(500,10000);        //PA3
  38.                         delay_ms(1000);
  39.                         Pulse_Control(500,10000); //500us(2kHZ) PC6
  40.                   delay_ms(1000);
  41.                        
  42.                 }else if(keyval==KEY1_PRES)
  43.                 {
  44.                         Locate_Rle(10000,5000,CCW);//PC7 按下KEY1,以5000Hz的频率 逆时针发10000脉冲
  45.                  
  46.                 }                                       
  47.                 delay_ms(10);
  48.                 i++;
  49.                 if(i==50)       
  50.                 {       
  51.                         i=0;
  52.                         LED1=!LED1;
  53.                 }       
  54.         }                                                                                            
  55. }       



复制代码


速度+位置控制 可控三个电机.7z

226.12 KB, 下载次数: 147, 下载积分: 黑币 -5


作者: admin    时间: 2019-7-4 20:16
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
作者: 4591314    时间: 2019-12-10 21:31
f407的板子可以控制么?
作者: 18941559787    时间: 2020-9-15 10:25
加减速程序是不是没有呢?
作者: huand123    时间: 2021-6-18 23:08
有protues电路图吗




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1