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

📄 最后调通的程序.c

📁 AT89C2051单片机控制电机驱动器
💻 C
字号:
#include "reg51.h"
sbit DIR=P3^3;
sbit SET=P3^2;
sbit DIRA = P3^4;
sbit DIRB = P3^5;

//unsigned char xifen=8;
//unsigned sign=0;

//unsigned char PDIR[32]={0x0f,0x3f,0x6e,0x8c,0xbb,0xc8,0xe6,0xf3,0xf0,0xf3,0xe6,0xc8,0xbb,0x8c,0x6e,0x3f,0x0f,0x3f,0x6e,
//0x8c,0xbb,0xe8,0xe6,0xf3,0xf0,0xf3,0xe6,0xc8,0xbb,0x8c,0x6e,0x3f};

//unsigned char PDAC[32]={0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
//0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10}; 

unsigned char PDAC[8]={0x0f,0xbb,0xf0,0xbb,0x0f,0xbb,0xf0,0xbb};
//unsigned char PDIR[8]={0x30,0x30,0x20,0x20,0x00,0x00,0x10,0x10};

//unsigned char temp;

void main()
{	 SET = 1;
	 DIR = 1;
     //static 
	//int i=0;
   // int tenp_count;
  IT0=1;
//IT1=1;
 EA=1;
 EX0=1;
 // P1=0xaa;
for(;;)
{;}
  /*while(1)
 
       for(tenp_count=0;tenp_count<=8000;tenp_count++)
    }
   
	 { if(i>=8) i-=8;	  
       P3=0x30;
       P1=0xbb; 	   
       i=i+(8/8); 
      }  
  temp=P3&0x83;

    switch(temp)
    {  case 1:
        xifen=8;
        break;
       case 2:
        xifen=4;
        break;
       case 3:
        xifen=2;
        break;
       case 128:
        xifen=1;
        break; 
    } */
  
  	 
}

static int i=0;
void  Int0() interrupt 0
{  
   //static int i=0;
  // int tenp_count=0;
  
 // if (DIR==1)
 // {
   //   if(sign==1)   //上一时刻为反转
 //{
      	//i=i-8/xifen;
      	//sign=0;
     /* for(;tenp_count<=300;tenp_count++)
     { 
	   if(i>=32) i-=32;
       P3=PDIR[i];
       P1=PDAC[i];
       i=i+(8/xifen); 
     }*/

	  
 //}
  
/*	else
     {
     if(sign==0)   //上一时刻为正转
     {
     	 i=i-2*xifen;
     	 sign=1;
     	}
     if(i<=0) i+=32;
     P3=PDIR[i];
     P1=PDAC[i];
     i=i-xifen;
    }
   //}

  // if(sign==0)  */
  EA=0;

       if(i>=8) i-=8;
	   if (DIR == 1)
	   {
	  	   switch(i)
		   {
		   		case 0:   DIRA = 1; DIRB = 1; break;
				case 1:   DIRA = 1; DIRB = 1; break;
				case 2:   DIRA = 0; DIRB = 1; break;
				case 3:   DIRA = 0; DIRB = 1; break;
				case 4:   DIRA = 0; DIRB = 0; break;
				case 5:   DIRA = 0; DIRB = 0; break;
				case 6:   DIRA = 1; DIRB = 0; break;
				case 7:   DIRA = 1; DIRB = 0; break;
				default: break;
		   }
		   P1=PDAC[i];
	   }
	   if (DIR == 0)
	   {
		   switch(i)
		   {
		   		case 0:   DIRA = 1; DIRB = 0; break;
				case 1:   DIRA = 1; DIRB = 0; break;
				case 2:   DIRA = 0; DIRB = 0; break;
				case 3:   DIRA = 0; DIRB = 0; break;
				case 4:   DIRA = 0; DIRB = 1; break;
				case 5:   DIRA = 0; DIRB = 1; break;
				case 6:   DIRA = 1; DIRB = 1; break;
				case 7:   DIRA = 1; DIRB = 1; break;
				default: break;
		   }
		   P1=PDAC[7-i];
	   }	
       i=i+(8/8);	
  EA=1;	
}  

⌨️ 快捷键说明

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