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

📄 步进电动机的正反转控制.c

📁 基于Proteus的51系列单片机设计与仿真
💻 C
字号:
/************************************************************************
步进电机的正反转控制,按下K1键电机正转,按K2键电机反转 
**************************************************************************/
#include"reg51.h"
#define uint unsigned int
#define uchar unsigned char
uchar flag0=0,flag1=0;
code tab[]={ 0x02,0x06,0x04,0x0C,0x08,0x09,0x01,0x03};//1~2相励磁法正转  
code tab1[]={0x03,0x01,0x09,0x08,0x0C,0x04,0x06,0x02};//1~2相励磁法反转
void  int0() interrupt 0        
{   flag1=0;
	flag0=1;
}
void  int1() interrupt 2       
{   flag0=0;
	flag1=1;
}			  
void delay()    //延时
{
      long j;
	       for(j=0;j<100;j++);
}
main()
{
	uchar i=0;
	EX0=1;         //打开外部中断0
	IT0=1;         //下降沿触发中断INT0 
    EX1=1;         //打开外部中断1
	IT1=1;         //下降沿触发中断INT1 
    EA=1;
	P2=0x00;
	while(1)
	{   P2=0x00;	
	       if(flag0==1)    //步进电机启动
			for(i=0;i<8;i++)
	  			{   P2=tab[i];
	  				delay();
	 		 	}
		    if(flag1==1)
			   for(i=0;i<8;i++)
	  			{   
		 			P2=tab1[i];
	  				delay();
	 		 	}	    	        
	}
}

⌨️ 快捷键说明

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