//头文件

#include "stm32f10x.h"

#include "usart.h"

#include "led.h"

#include "RTC_Time.h"

#include

#include "delay.h"

//=============================================================================

//函数名称:Delay

//功能概要:延时函数

//参数说明:无

//函数返回:无

//=============================================================================

//=============================================================================

//函数名称:main

//功能概要:主函数

//参数说明:无

//函数返回:int

//=============================================================================

#define uchar unsigned char

#define uint unsigned int

void motor3(void);

void motor4(void);

u16 moto0_time=11000; //电机1的运行时间

u16 moto1_time=2000; //电机2的运行时间

void  Delay1 (uint32_t nCount)

{

for(; nCount != 0; nCount--);

}

void delay1_ms(u16 time)

{

u16 i=0;

while(time--)

{

i=12000;

while(i--) ;

}

}

int main(void)

{

u8 k=0;

//初始化LED

USART1_Config();

LED_GPIO_Config();

while (1)

{

LED0_OFF;

if(KEY0==0) //正转按钮

{

Delay1(0x00FFFF);

//motor1( );

motor3( );

MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;

MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;

k=1;

}

if(KEY1==0) //反转按钮

{

Delay1(0x00FFFF);

//motor2( );

motor4();

MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;

MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;

k=0;

}

}

}

//正转函数

void motor3(void)

{

u8 j=0;

u16 i;

for(i=0;i

{

switch(j)

{

case 0:{

{ MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;}

if(i

{ MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 1:{

{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;}

if(i

{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 2:{

{ MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_ON;}

if(i

{ MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 3:{

{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_OFF;}

if(i

{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 4:{

{MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_ON; MOTOR_D1_OFF;}

if(i

{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 5:{

{ MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;}

if(i

{ MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 6:{

{ MOTOR_A1_ON; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;}

if(i

{ MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 7:{

{ MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;}

if(i

{ MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

}

j++;

if(j>=8) j=0;

Delay1(0x01222);

//delay1_ms(1);

}

}

//反转函数

void motor4(void)

{

u8 j;

u16 i;

j=0;

for(i=0;i

{

switch(j)

{

case 0:{

{ MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;}

if(i

{ MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 1:{

{ MOTOR_A1_ON; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;}

if(i

{MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 2:{

{  MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;}

if(i

{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 3:{

{ MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_ON; MOTOR_D1_OFF;}

if(i

{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 4:{

{  MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_OFF;}

if(i

{  MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_OFF;  }

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 5:{

{        MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_ON;}

if(i

{ MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 6:{

{  MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;}

if(i

{ MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

case 7:{

{MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;}

if(i

{ MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;}

else { MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_OFF;}

};break;

}

j++;

if(j>=8) j=0;

Delay1(0x01222);

// delay1_ms(2);

}

LED0_ON;

}

/*

四拍

void motor1(void)  反转

{

u8 j;

u16 i;

j=0;

for(i=0;i<1000;i++)

{

switch(j)

{

case 0:{MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;

MOTOR2_A_ON; MOTOR2_B_ON; MOTOR2_C_OFF; MOTOR2_D_OFF;};break;

case 1:{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;

MOTOR2_A_OFF; MOTOR2_B_ON; MOTOR2_C_ON; MOTOR2_D_OFF;};break;

case 2:{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;

MOTOR2_A_OFF; MOTOR2_B_OFF; MOTOR2_C_ON; MOTOR2_D_ON;};break;

case 3:{MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;

MOTOR2_A_ON; MOTOR2_B_OFF; MOTOR2_C_OFF; MOTOR2_D_ON;};break;

}

j++;

if(j>=4) j=0;

//delay_ms(10);

Delay1(0x003FFF);

}

LED0_ON;

}

void motor2(void)  正转

{

u8 j;

u16 i;

j=0;

for(i=0;i<1000;i++)

{

switch(j)

{

case 0:{MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;

MOTOR2_A_ON; MOTOR2_B_OFF; MOTOR2_C_OFF; MOTOR2_D_ON;};break;

case 1:{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;

MOTOR2_A_OFF; MOTOR2_B_OFF; MOTOR2_C_ON; MOTOR2_D_ON;};break;

case 2:{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;

MOTOR2_A_OFF; MOTOR2_B_ON; MOTOR2_C_ON; MOTOR2_D_OFF;};break;

case 3:{MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;

MOTOR2_A_ON; MOTOR2_B_ON; MOTOR2_C_OFF; MOTOR2_D_OFF;};break;

}

j++;

if(j>=4) j=0;

//delay_ms(5);

Delay1(0x003FFF);

}

}

*/

/*

八拍加四拍混合

void motor5(void)   反转

{

u8 j;

u16 i;

j=0;

for(i=0;i<2000;i++)

{

switch(j)

{

case 0:{MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_OFF;};break;

case 1:{MOTOR_A1_ON; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;};break;

case 2:{MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_OFF; MOTOR_D1_OFF;};break;

case 3:{MOTOR_A1_OFF; MOTOR_B1_ON; MOTOR_C1_ON; MOTOR_D1_OFF;};break;

case 4:{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_OFF;};break;

case 5:{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_ON; MOTOR_D1_ON;};break;

case 6:{MOTOR_A1_OFF; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;};break;

case 7:{MOTOR_A1_ON; MOTOR_B1_OFF; MOTOR_C1_OFF; MOTOR_D1_ON;};break;

case 8:{MOTOR_A_ON; MOTOR_B_ON; MOTOR_C_OFF; MOTOR_D_OFF;

MOTOR2_A_ON; MOTOR2_B_ON; MOTOR2_C_OFF; MOTOR2_D_OFF;};break;

case 9:{MOTOR_A_OFF; MOTOR_B_ON; MOTOR_C_ON; MOTOR_D_OFF;

MOTOR2_A_OFF; MOTOR2_B_ON; MOTOR2_C_ON; MOTOR2_D_OFF;};break;

case 10:{MOTOR_A_OFF; MOTOR_B_OFF; MOTOR_C_ON; MOTOR_D_ON;

MOTOR2_A_OFF; MOTOR2_B_OFF; MOTOR2_C_ON; MOTOR2_D_ON;};break;

case 11:{MOTOR_A_ON; MOTOR_B_OFF; MOTOR_C_OFF; MOTOR_D_ON;

MOTOR2_A_ON; MOTOR2_B_OFF; MOTOR2_C_OFF; MOTOR2_D_ON;};break;

}

j++;

if(j>=8) j=0;

Delay1(0x002FEE);

// delay1_ms(2);

}

……………………

…………限于本文篇幅 余下代码请从51黑下载附件…………

五线四相步进电机C语言程序,stm32四相五线步进电机驱动程序相关推荐

  1. 步进电机红外遥控C语言程序,单片机红外遥控+步进电机+1602液晶显示c语言源程序...

    这是我做的红外遥控控制的1602显示转速和转向的步进电机c语言原程序,已经调试成功!有些模块是以前做其他实验时做的,现在是直接调用的,包括1602液晶显示技术,TC9012红外解码,然后就是四相步进电 ...

  2. 五线四相步进电机C语言程序,五线四相步进电机,求一个控制程序(实物见图)...

    /* 两个ULN2003驱动两个5线4相步进电机 */ /*  步进电机四相端口*/ #define pMotor_A_A_Init()                        GPIO_Ini ...

  3. 多路采集存储c语言程序,stm32多路巡回数据采集系统设计 含源程序

    此次设计是利用stm32开发板设计的.数据采集系统是模拟域与数字域之间必不可少的纽带,它的存在具有着非常重要的作用.本文介绍的重点是数据采集系统,而该系统硬件部分的重心在于单片机芯片.数据采集与通信控 ...

  4. hx711c语言程序,STM32写的HX711程序

    查看: 35712|回复: 60 STM32写的HX711程序 当前离线积分 初级会员, 积分 73, 距离下一级还需 127 积分 积分金钱73 注册时间2014-8-20 在线时间0 小时 电梯直 ...

  5. 步进电机c语言源代码 stm32,STM32控制步进电机源代码

    单片机源程序如下: #include "stm32f10x.h" #include "stm32f10x_rcc.h" #include "misc. ...

  6. 两相四线步进电机C语言程序,求大神帮忙看单片机控制两相四线步进电机的程序!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define uchar unsigned char #define uint unsigned int uchar code tim ...

  7. stm32流水灯c语言程序,STM32——流水灯程序

    STM32--流水灯 stm32f10x_conf.h:打开stm32f10x_gpio.h和stm32f10x_rcc.h: stm32f10x_gpio.c 和 stm32f10x_rcc.c加入 ...

  8. stm32呼吸灯c语言程序,STM32使用PWM控制LED呼吸灯效果

    实验的STM32型号: STM32F103C8T6   48引脚 涉及到的知识: RCC,GPIO,TIMER,PWM 设置 *RCC需打开外部时钟 *GPIO查表得知 PA3 默认复用引脚 TIM2 ...

  9. stm32流水灯c语言程序,stm32流水灯程序源码

    #include "STM32f10x.h" #include #include "delay.h" /**************************** ...

  10. max6675 c语言程序,STM32+MAX6675利用SPI获取实时温度数据程序及代码

    标签: 本文采用的芯片为STM32F103RCT6 温度芯片为MAX6675 模拟spi之前写过 里面的部分代码摘取的正点原子的函数库:sys.uart.delay等文件 原理图 max6675.h ...

最新文章

  1. android 内嵌地图,Android Fragment里嵌入高德地图【原创】
  2. blob转成json js_javascript – 文件API – Blob到JSON
  3. Hibernate的事件机制
  4. BZOJ[1051]受欢迎的牛
  5. 引入阿里云GA,商米加速IoT产品和解决方案全球化布局
  6. 《零基础》MySQL 连接的使用(二十)
  7. Vue 实现图片在循环中 默认 和 选中 之间的点击切换
  8. Codevs 1205 单词反转(Vector以及如何输出string)
  9. 20190831:(leetcode习题)汉明距离
  10. 百度语义预训练ERNIE实现物流信息抽取任务
  11. 【Anaconda】Anaconda 环境操作(新建/激活/退出/删除/克隆/重命名)
  12. Julia: eval的一些用法
  13. java定时发送_Java 定时发送邮件 | 学步园
  14. 《21天学通C语言》
  15. ipadpro画流程图_Paper 推出适用于快速制作流程图的 Think 套件
  16. 中兴新支点服务器安装,U盘安装中兴新支点操作系统(NewStart)的方法
  17. 联想跨国收购余震:摩托罗拉裁员千人
  18. 华为热设计工程师待遇_【华为热设计工程师面试】华为的面试是我面试过程中相对简单的一个。-看准网...
  19. 看牙分期软件3.10版本更新及功能介绍
  20. 【无代码体验】用鲸智搭替换Excel表管理数据

热门文章

  1. 用计算机怎么转换进制,计算机各种进制转换方法
  2. 总时差与自由时差的计算
  3. Windows 下 cmd 窗口使用 ssh 命令
  4. 【机器视觉】线阵相机模型说明以及使用HALCON标定助手对线阵相机进行标定
  5. 线阵相机与面阵相机的区别在哪里?
  6. ARM和Linux下 nanomsg 编译与使用
  7. 免费的网站地图生成器,sitemap支持xml、html、txt生成绝对站长工具必备使用教程
  8. 手把手教你架构3D引擎高级篇系列二
  9. python库之pyserial用法,pyserial和serial的区别
  10. dorado 7 注意总结