⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_stepmotor.c

📁 arm9.rar
💻 C
字号:
/****************************************************************************
【文  件  名  称】Test_StepMotor.C
【功  能  描  述】三星S3C2410A板demo程序代码
【程  序  版  本】4.0
【创建人及创建日期】icesoar//2002年11月19日19:26
【修改人及修改日期】icesoar//2004-12-8 17:25
****************************************************************************/

//***************************************************************************
#include "def.h"
#include "2410addr.h"
#include "config.h"
#include "board.h"
#include "utils.h"

//***************************************************************************
#define	StepMotor_Address	*(volatile U16 *)( 0x38001000 )		//nGCS7
//***************************************************************************

/****************************************************************************
** 函数名称: 	Motor_Delay
** 功能描述: 	短软件延时
** 输 入: j :	延时参数,值越大时延时越久
****************************************************************************/
void Motor_Delay( U16  j )
{
  	U16  k, l ;
  	for(l=0;l<=j;l++)
    	for(k=0;k<=1500;k++);
}

/****************************************************************************
【功能说明】步进电机实验程序
****************************************************************************/
void Step_Motor( U16 delay, U8 m )
{
	if( m > 0 )
	{
    	
    	StepMotor_Address = 0x01 ;		//StepMotor output
		Motor_Delay( delay );		//延时
    	StepMotor_Address = 0x02 ;		//StepMotor output
		Motor_Delay( delay );		//延时
    	StepMotor_Address = 0x04 ;		//StepMotor output
		Motor_Delay( delay );		//延时
    	StepMotor_Address = 0x08 ;		//StepMotor output
		Motor_Delay( delay );		//延时
	}
	else
	{
    	
    	StepMotor_Address = 0x08 ;		//StepMotor output
		Motor_Delay( delay );		//延时
    	StepMotor_Address = 0x04 ;		//StepMotor output
		Motor_Delay( delay );		//延时
    	StepMotor_Address = 0x02 ;		//StepMotor output
		Motor_Delay( delay );		//延时
    	StepMotor_Address = 0x01 ;		//StepMotor output
		Motor_Delay( delay );		//延时
	}
}	


/****************************************************************************
【功能说明】步进电机实验程序
****************************************************************************/
void Test_StepMotor(void)
{
	U16 m ;
	U8 p ;
	U16 MOTOR_DELAY_TIME = 100 ;
   	printf( "S3C44B0X Step Motor TEST, press ESC key to exit !\n" ) ;
   	printf( "Press '+' or '-' to increase or decrease the speed, 't' to reverse\n" ) ;
   
    while( (m=getkey())!=ESC_KEY )
    {
    	if( m != 0 )
    	{
	    	if( m == 't' )
	    	{
	    		p = !p ;
				printf( "Turn on is reverse!\n" ) ;
	    	}
	    	else
	    	{
		    	if( m == '+' ) MOTOR_DELAY_TIME+=5 ;
		    	if( m == '-' ) MOTOR_DELAY_TIME-=5 ;
		    	if( MOTOR_DELAY_TIME<50 ) MOTOR_DELAY_TIME = 50 ;
		    	if( MOTOR_DELAY_TIME>1000 ) MOTOR_DELAY_TIME = 1000 ;
				printf( "DelayTime = %d\n", MOTOR_DELAY_TIME ) ;
			}
		}
		
		Step_Motor( MOTOR_DELAY_TIME, p ) ;
    }    

   	StepMotor_Address = 0x00 ;		//StepMotor output
}

⌨️ 快捷键说明

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