hello.c

来自「6位数码管显示动态显示:HELLO.并有向左移动显示的动作效果」· C语言 代码 · 共 104 行

C
104
字号
	   #include <reg51.H>
unsigned char code table0[]={0x89,0x86,0xC7,0xC7,0xC0,0x7F};
unsigned char code table2[]={0x7F,0xBF,0xDF,0xEF,0xF7,0xFB};

delay(unsigned int z)
{
	int x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}

void main(void)
{
int i,j,m=10000;
while(1)
 {	
 while(j<m)
   {
    j++;
	P2=0xff;
	P0=table0[0];
    P2=table2[5];
	}

  j=0;
  while(j<m)
	for(i=4;i<6;i++) 
	{ 

      j++;
	  P2=0xff;
	  P0=table0[i-4];
      P2=table2[i];
	 }

  j=0; 
  while(j<m)	
	for(i=3;i<6;i++) 
	{ 
      j++;
	  P2=0xff;
	  P0=table0[i-3];
      P2=table2[i];
	 }

  j=0;
  while(j<m)
	for(i=2;i<6;i++) 
	{ 
      j++;
	  P2=0xff;
	  P0=table0[i-2];
      P2=table2[i];
	 }

  j=0;
  while(j<m)
	for(i=1;i<6;i++) 
	{ 
      j++;
	  P2=0xff;
	  P0=table0[i-1];
      P2=table2[i];
	 }

  j=0;
  while(j<m)		 	   
	for(i=0;i<6;i++) 
	{ 
      j++;
	  P2=0xff;
	  P0=table0[i];//先要对P0赋值,再对P2赋值,否则显示不对!
      P2=table2[i];
	 }
  j=0;

  P2=0xFF;
  delay(500);
  while(j<m)		 	   
	for(i=0;i<6;i++) 
	{ 
      j++;
	  P2=0xff;
	  P0=table0[i];
      P2=table2[i];
	 }
  j=0;

  P2=0xFF;
  P2=0xFF;
  delay(500);
  while(j<m)		 	   
	for(i=0;i<6;i++) 
	{ 
      j++;
	  P2=0xff;
	  P0=table0[i];
      P2=table2[i];
	 }
  j=0;
  P2=0xFF;

 }
} 

⌨️ 快捷键说明

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