控制.c

来自「小功率LED条形灯的全彩控制含64阶灰度变化」· C语言 代码 · 共 79 行

C
79
字号
#include <reg51.h>


sbit DIN=P1^0;
sbit CLK=P1^1;
sbit STB=P1^2;
sbit OE =P1^3;
sbit key0=P1^4;


unsigned  char code ANODE[8][90]={0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,
                                  0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,
							      0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,0x49,0x92,0x24,
							      0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,
                                  0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,
								  0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,0x6d,0xdb,0xb6,
								  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
								  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };

void send(unsigned char add)
{unsigned char ADS,j;
 ADS=add; 
for(j=0;j<8;j++)
  { 
    CLK=0;
    DIN=ADS&0x01;
    ADS=ADS>>1;
    CLK=1; 
       } 
 }
void delay(unsigned int n)
{unsigned int k;
while(n--)
{for(k=0;k<250;k++)
 {;}
 }
}
 main()

{ unsigned char i,j,t,k=0;
  unsigned int m;
    OE=1;
	j=0;

  for(i=0;i<45;i++)
	 {send(ANODE[j][i]);}
       STB=1;
	   STB=0;


  while(1)
  {  
     
  
    for(m=0;m<500;m++)
   {          
      for(t=0;t<k;t++)
      { OE=0;OE=0;OE=0;OE=0;OE=0;OE=0;OE=0;OE=0;}
       
  	 for(t=0;t<(32-k);t++)
      { OE=1;OE=1;OE=1;OE=1;OE=1;OE=1;OE=1;OE=1;}
    }  
   

   k++;
   if(k==32)
    { k=0;j++;if(j==7) {j=0; }
     for(i=0;i<45;i++)
	 {send(ANODE[j][i]);}
       STB=1;
	   STB=0;}
    
  }




}

⌨️ 快捷键说明

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