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

📄 1616.c

📁 16×16点阵(轮流显示四个汉字)
💻 C
字号:
#include <atmel\regx52.h>

#define int8 unsigned char
#define int16 unsigned int
#define int32 unsigned long 


int8 flag;
int8 n;
int8 code table[][32]={
{0x88,0x00,0x88,0x00,0x88,0x7F,0x48,0x00,0xDF,0x1F,0xA8,0x10,0x9C,0x12,0xAC,0x14,0xEA,0x7F,0x8A,0x12,0x89,0x14,0x88,0x10,0x88,0x7F,0x08,0x10,0x08,0x14,0x08,0x08},/*"梅",0*/

{0x08,0x20,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x04,0x21,0x04,0x20,0x02,0x00},/*"川",1*/

{0x00,0x08,0xFE,0x08,0x28,0x0A,0x28,0x7E,0xFE,0x0A,0xAA,0x09,0xAA,0xFF,0xEA,0x00,0x86,0x00,0x82,0x7E,0xFE,0x42,0x82,0x42,0x82,0x42,0xFE,0x7E,0x82,0x42,0x00,0x00},/*"酷",2*/

{0x00,0x00,0xF8,0x1F,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x01,0x00,0x41,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x40,0x01,0x80,0x00}/*"子",3*/
};

void delay(void);
void main(void){

int8 i;
int8 j;
int8 index;


flag=0x10;
n=0;
TMOD=0x01;
TH0=0xb1;
TL0=0xe0;
ET0=1;
EA=1;
TR0=1;



while(1)
{
	index=flag&0x03;
	if((flag&0x30)==0x10)
	{			
	    for(i=0;i<8;i++)
	     {

	     	P0=table[index][2*i]; 
			P2=i|0x08; 			        	  
	 		delay();
 
	     	P0=table[index][2*i+1];
         	P2=i|0x10;  
 	 		delay();
	     }		 	     
	    for(i=8;i<16;i++)
	     {

	     	P0=table[index][2*i]; 
			P2=(i-8)|0x20; 			        	   
	 		delay();

	     	P0=table[index][2*i+1];
        	P2=(i-8)|0x40;     
 	 		delay();

	     }

	}      
	if((flag&0x30)==0x20)
	{
	    for(i=0;i<8;i++)
	     {

	     	P0=~(table[index][2*i]); 
			P2=i|0x08; 			        	  
	 		delay();
 
	     	P0=~(table[index][2*i+1]);
         	P2=i|0x10;  
 	 		delay();
	     }		 	     
	    for(i=8;i<16;i++)
	     {

	     	P0=~(table[index][2*i]); 
			P2=(i-8)|0x20; 			        	   
	 		delay();

	     	P0=~(table[index][2*i+1]);
        	P2=(i-8)|0x40;     
 	 		delay();

	     }
	}
		 		 	 
  	 	 
  }


}
void delay(void){
int16 i;
for(i=0;i<50;i++);

}
void timer0() interrupt 1 using 3
{
 	TF0=0;
	TH0=0xb1;
	TL0=0xe0;
	if(n<200)
	{
	   n++;
	}
	else
	{
	   switch(flag)
	   {
	   	  case 0x10:
		  {
			  flag=0x11;		  
		  	  break;		  
		  }
	   	  case 0x11:
		  {
			  flag=0x12;		  
		  	  break;		  
		  }	   
	   	  case 0x12:
		  {
			  flag=0x13;		  
		  	  break;		  
		  }	  	   
	   	  case 0x13:
		  {
			  flag=0x20;		  
		  	  break;		  
		  }		   
	   	  case 0x20:
		  {
			  flag=0x21;		  
		  	  break;		  
		  }
	   	  case 0x21:
		  {
			  flag=0x22;		  
		  	  break;		  
		  }	   
	   	  case 0x22:
		  {
			  flag=0x23;		  
		  	  break;		  
		  }	  	   
	   	  case 0x23:
		  {
			  flag=0x10;		  
		  	  break;		  
		  }		   
	   }
	   n=0;
	}



}


















⌨️ 快捷键说明

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