stepmotor.c

来自「C8051F系列单片机外围电路功能模块程序」· C语言 代码 · 共 46 行

C
46
字号
//参考程序B:  StepMotor.c  程序通过I/O口P5驱动步进电机反转
/*P5.0--STEPA,P5.1--STEPB,P5.2--STEPC,P5.3-STEPD*/
#include <c8051f020.h>                
#include <intrins.h>
void PORT_Init (void);
void sleep_ms(unsigned int count)                      
{
  unsigned int  i,j;
  for(i=0;i<count;i++)
    {
      for(j=0;j<250;j++)
    	  _nop_();			
    }	
}
void main (void) {
	unsigned char k;
	unsigned char SendData;
	WDTCN = 0xde;/*无效看门狗*/
   	WDTCN = 0xad;
   	PORT_Init ();
	P5=0xff;		/*4相线圈都截止*/
	sleep_ms(10);
	while(1)
	{
		/*步进电机正转*/
		for(k=0;k<10;k++){
		    P5=0x09;		/*AB相通电*/
			sleep_ms(50);
			
			P5=0x0c;		/*BC相通电*/
			sleep_ms(50);
		
			P5=0x06;		/*CD相通电*/
			sleep_ms(50);
		
			P5=0x03;		/*DA相通电*/
			sleep_ms(50);
		}
  	}
}
void PORT_Init (void)  //	初始化I/O
{
   P74OUT |= 0x0c;     /*P5低4位为推挽输出,其余口为开漏输出*/
}

⌨️ 快捷键说明

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