STM32
直播中

独当一面

9年用户 800经验值
擅长:可编程逻辑
私信 关注
[问答]

双极性四线步进电机TC1508S的程序分享

双极性四线步进电机TC1508S的程序分享

回帖(1)

胡卫伟

2021-12-22 13:59:41

/**************************************************************************************
实验现象:下载程序后,步进电机旋转
                  
接线说明: (具体接线图可见开发攻略对应实验的“实验现象”章节)
                   1,单片机-->四线双极性步进电机模块
                                   P10-->IA
                                P11-->IB
                                P12-->IC
                                P13-->ID
                   2,四线双极性步进电机模块输出-->步进电机
                                   OA-->A+
                                OB-->A-
                                OC-->B+
                                OD-->B-       
       
注意事项:                                                                                                                                                               
  
***************************************************************************************/

#include "reg52.h"                         //此文件中定义了单片机的一些特殊功能寄存器
#include                //因为要用到左右移函数,所以加入这个头文件

typedef unsigned int u16;          //对数据类型进行声明定义
typedef unsigned char u8;

***it MOTOA = P1^0;
***it MOTOB = P1^1;
***it MOTOC = P1^2;
***it MOTOD = P1^3;       

#define SPEED 300          //修改此值可改变电机旋转速度,不能过大或过小

/*******************************************************************************
* 函 数 名         : delay
* 函数功能                   : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
        while(i--);       
}


/*******************************************************************************
* 函 数 名       : main
* 函数功能                 : 主函数
* 输    入       : 无
* 输    出             : 无
*******************************************************************************/
void main()
{       
       
        P1=0X00;
        while(1)
        {       
                MOTOA = 1;
                MOTOB = 0;
                MOTOC = 1;
                MOTOD = 1;
                delay(SPEED);

       
                MOTOA = 1;
                MOTOB = 1;
                MOTOC = 1;
                MOTOD = 0;
                delay(SPEED);


                MOTOA = 0;
                MOTOB = 1;
                MOTOC = 1;
                MOTOD = 1;
                delay(SPEED);

                MOTOA = 1;
                MOTOB = 1;
                MOTOC = 0;
                MOTOD = 1;
                delay(SPEED);

                                                                                                       
        }
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分