找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4081|回复: 4
打印 上一主题 下一主题
收起左侧

STM32单片机控制步进电机正反转和加减速源程序

[复制链接]
跳转到指定楼层
楼主
ID:577601 发表于 2019-7-4 15:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本次上传附件为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, 下载次数: 146, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2019-7-4 20:16 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

板凳
ID:620272 发表于 2019-12-10 21:31 | 只看该作者
f407的板子可以控制么?
回复

使用道具 举报

地板
ID:819075 发表于 2020-9-15 10:25 来自手机 | 只看该作者
加减速程序是不是没有呢?
回复

使用道具 举报

5#
ID:861681 发表于 2021-6-18 23:08 来自手机 | 只看该作者
有protues电路图吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表