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

📄 led.c

📁 主要是LED屏的驱动,户外屏显示,程序中显示四个不停变化的图案.
💻 C
📖 第 1 页 / 共 2 页
字号:
            R1=0;
	     break;
     default:break;
    }
   }
   else 
   {
    switch( Colour) 
    {
     case 0:G1=1;
            R1=1;
	     break;
     case 1:G1=1;
            R1=1;
	     break;
     case 2:G1=1;
            R1=1;
	     break;
     default:break;
    }
   }
   CLK=0;
   _nop_();
   _nop_();
   CLK=1;
   Temp>>=1;
   CLK=0;
  }
 
  RCK=0;
  _nop_();
  _nop_();
  RCK=1;
  _nop_();
  _nop_();
  B++; 
  OE=1;
  }
  OE=1;
}
*/

/****************************************************************************************

*取字库子程序

******************************************************************************************/
void DisPlay(uchar FirstPatter,uchar SecondPatter,uchar ThreePatter,uchar FourthPatter)
{
 uchar i,j,k,Add;


 switch(FirstPatter)
 {
   case 0:
          Add=0;
		  i=0;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  } 
                                        //红桃
		  break;
   case 1: 
           Add=32;
		  i=0;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }                                    //梅花
		  break;
   case 2: 
          
           Add=64;
		  i=0;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }                             	  //黑桃
		  break;
   case 3: 
          
           Add=96;
		  i=0;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }	                                //方块
		  break;

   default:break;
 }
  switch(SecondPatter)
 {
   case 0:
          Add=0;
		  i=2;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  } 
                                        //红桃
		  break;
   case 1: 
           Add=32;
		  i=2;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }                                    //梅花
		  break;
   case 2: 
          
           Add=64;
		  i=2;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }                             	  //黑桃
		  break;
   case 3: 
          
           Add=96;
		  i=2;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }	                                //方块
		  break;

   default:break;
 }
 switch(ThreePatter)
 {
   case 0:
          Add=0;
		  i=4;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  } 
                                        //红桃
		  break;
   case 1: 
           Add=32;
		  i=4;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }                                    //梅花
		  break;
   case 2: 
          
           Add=64;
		  i=4;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }                             	  //黑桃
		  break;
   case 3: 
          
           Add=96;
		  i=4;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }	                                //方块
		  break;

   default:break;
 }
 switch(FourthPatter)
 {
   case 0:
          Add=0;
		  i=6;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  } 
                                        //红桃
		  break;
   case 1: 
           Add=32;
		  i=6;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }                                    //梅花
		  break;
   case 2: 
          
           Add=64;
		  i=6;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }                             	  //黑桃
		  break;
   case 3: 
          
           Add=96;
		  i=6;
		  
          for(j=0;j<16;j++)
		  {
           for(k=0;k<2;k++)
		   {
            ZK[i]=ZKA[Add];
			Add++;
			i++;
		   }
		   i=i+7;
		  }	                                //方块
		  break;

   default:break;
 }
 
 SendDataTo_595(FirstPatter,SecondPatter,ThreePatter,FourthPatter);
}

/****************************************

*中断子程序

*****************************************/

void Time0_ISR() interrupt 1 using 0
{
  if(Key==0)
  {
   DelayMS(2);
   if(Key==0)
   {
    StopFlag=!StopFlag;
    if(StopFlag==1) KeyTimes++;
   }
  }
}


/*****************************************

*中断初始化子程序

******************************************/

void Time0_Init()
{
 TMOD=0x01;	//T0方式1
 TH0=0xfc;	 //10ms
 TL0=0x18;
 IE=0x82;
 TR0=1;

} 



/*****************************************

*延时子程序

*****************************************/
void DelayUS(uchar US)
{
 uchar i,j;
 for(i=0;i<US;i++)
 {
  for(j=0;j<33;j++)
  {
    _nop_();
  }
 }
}



void DelayMS(uchar MS)
{
 uchar i,j,k;
 for(i=0;i<MS;i++)
 {
  for(j=0;j<100;j++)
  {
    for(k=0;k<33;k++)
    {
      _nop_();
    }
  }
 }
}

⌨️ 快捷键说明

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