step_motor.c

来自「S3C44b0STEPMOTOR步进电机驱动程序」· C语言 代码 · 共 83 行

C
83
字号
/*
;************************************************************************************************************
;*				        				北京精仪达盛科技有限公司
;*                                     	     研    发    部
;*
;*                                      http://www.techshine.com
;*
;*--------------------------------------------- 文件信息 ----------------------------------------------------                                      
;*
;* 文件名称 : target.c	
;* 文件功能 : 该文件为S3C44B0硬件平台配置具体函数的初始化。
;* 补充说明 : 
;*-------------------------------------------- 最新版本信息 -------------------------------------------------
;* 修改作者 : ARM开发小组
;* 修改日期 : 2004/04/25
;* 版本声明 : V1.0.1
;*-------------------------------------------- 历史版本信息 -------------------------------------------------
;* 文件作者 : ARM开发小组
;* 创建日期 : 2004/04/20
;* 版本声明 : v1.0.0
;*-----------------------------------------------------------------------------------------------------------
;*-----------------------------------------------------------------------------------------------------------
;************************************************************************************************************
;*/
#include "..\inc\config.h"

#define OUTPORT  (*(volatile unsigned *)0x8400000) 

#define PHASE0 0x000A;
#define PHASE1 0x0006;
#define PHASE2 0x0005;
#define PHASE3 0x0009;

void delay_f()                  //相延时子程序
{
     unsigned int i;
     for(i=1;i<3000;i++);          //修改i的值,可以改变电机旋转的速度(大于800)
     
}

void delay_s()                  //步延时子程序
{
     unsigned int j;
     for(j=1;j<4000;j++);
     
}                          

void Main()
{    unsigned int j;
           
    Target_Init();
     for(;;)
     {
         for(j=0;j<150;j++)      //正向旋转
         {
            delay_s();
            
            OUTPORT	=PHASE0;
            delay_f();
            OUTPORT	=PHASE1;
            delay_f();
            OUTPORT	=PHASE2;
            delay_f();
            OUTPORT	=PHASE3;
            delay_f();
         }
         
        for(j=0;j<150;j++)      //反向旋转
         {
            delay_s();
            OUTPORT	=PHASE2;    
            delay_f();
            OUTPORT	=PHASE1;
            delay_f();
            OUTPORT	=PHASE0;
            delay_f();
            OUTPORT	=PHASE3;
            delay_f();
         }
     }
}  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?