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

📄 left.c

📁 这是电梯延时驱动程序
💻 C
字号:
#include <AT89X51.H>

unsigned char i=0;
char t1;
char key;
char t;
unsigned char k;	

void delay10ms(void)

{ unsigned char i,j;
   
   for(i=20;i>0;i--) 
   for(j=248;j>0;j--);
}

/*void delay3s(void)

{ unsigned char m,i,j;
  for(m=10;m>0;m--)
  for(i=20;i>0;i--) 
  for(j=248;j>0;j--);

}  
*/
xianshi()
{  

   if(P1_0==0)  {/*P1=0xfe;*/P0=0x06;t=1;}
   if(P1_1==0)  {/*P1=0xfd;*/P0=0x5b;t=2;}
   if(P1_2==0)  {/*P1=0xfb;*/P0=0x4f;t=3;}
   if(P1_3==0)  {/*P1=0xf7;*/P0=0x66;t=4;}
   if(P1_4==0)  {/*P1=0xef;*/P0=0x6d;t=5;}
   if(P1_5==0)  {/*P1=0xdf;*/P0=0x7d;t=6;}
   
}   

keys()
  {
   if(P2_2==0) {delay10ms(); if(P2_2==0) {key=1;} }
   if(P2_3==0) {delay10ms(); if(P2_3==0) {key=2;} }
   if(P2_4==0) {delay10ms(); if(P2_4==0) {key=3;} }
   if(P2_5==0) {delay10ms(); if(P2_5==0) {key=4;} }
   if(P2_6==0) {delay10ms(); if(P2_6==0) {key=5;} }
   if(P2_7==0) {delay10ms(); if(P2_7==0) {key=6;} } 
  }

void down(void)	   //运动
 {
  P3_7=1;P3_6=0;
 }

void up(void)
{
 P3_7=0;P3_6=1;
}

void stop(void)
{
  P3_7=0;P3_6=0;
}


void t0(void) interrupt 0 using 0	   //  中断
{  
   
   keys();

   if(P3_6==1&P3_7==0)
   { 
     if(key-t1<0)
     {
	while(key-t>0){up();xianshi();keys();}

	if(key-t==0) {stop();} 

	for(k=10;k>0;k--) {delay10ms();}  
     }
     
     if(key-t1>0 )
     {
      while(t1-t>0) {up();xianshi();keys();}
	//if(t1-t==0) {stop();}
	//for(k=10;k>0;k--) {delay10ms();}

	//while(key-t>0){up();xianshi();keys();}

	//if(key-t==0) {stop();}  
	for(k=10;k>0;k--) {delay10ms();}  
     }
   }
 if(P3_6==0&P3_7==1)
  {
   if(key-t1>0)
    {
      while(key-t<0) {down();xianshi();keys();}

	if(key-t==0){stop();}

	for(k=10;k>0;k--) {delay10ms();} 
    }
   if(key-t<0)
    {
      while(t1-t<0) {down();xianshi();keys();}

	if(t1-t==0) {stop();}

	for(k=10;k>0;k--) {delay10ms();} 
    }
  } 
}


void main(void)

{  //P3=0xff;
   //P2=0xff;   // 键盘
  // P1=0xff;   //霍耳开关
  // P0=0xff;   //显示

  EX0=1;
  
  while(1)
  { 
   xianshi();
   keys();
  //key=t;
   if(P2==0xff){key=t;}

  if(key-t==0) { stop();}
  if(key-t>0)  { t1=key;while(t1-t>0) {up();xianshi();keys(); EA=1;}

                 if(key-t>0)
		     {
		       while(key-t>0)
		     	 {up();xianshi();keys();}
		     }
		    }

  if(key-t<0)  { t1=key;while(t1-t<0) {down();xianshi();keys();EA=1;}
      	     if(key-t<0) 
		     { while(key-t<0)
		       {
		       down();xianshi();keys();
			 }
			}
	         }//if(t1-t<0){stop();}} 
 
  }
}







     

⌨️ 快捷键说明

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