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

📄 led._c

📁 LED点阵中英文模块.能显示2个汉字以及滚动.在PROTEUS上实现.
💻 _C
字号:
//ICC-AVR application builder : 2000-3-11 20:18:23
// Target : M16
// Crystal: 8.0000Mhz

#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int


char tableL[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
/*--  文字:  电  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0xF0,0x10,0x90,0x90,0xFF,0x48,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,


/*--  文字:  子  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x40,0x40,0x44,0x44,0x44,0x72,0xCA,0x26,0x22,0x20,0x20,0x20,0x00,0x00,


/*--  文字:  设  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x20,0xE2,0x04,0x00,0x40,0x20,0x9C,0x82,0x82,0xBE,0x20,0x20,0x00,0x00,0x00,


/*--  文字:  计  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x40,0x40,0x20,0xE2,0x04,0x00,0x40,0x40,0x40,0xFF,0x20,0x20,0x20,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
/*--  文字:  科  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x40,0x48,0x48,0xF8,0xA4,0xA2,0x00,0x28,0x50,0x00,0xFF,0x80,0x80,0x80,0x00,


/*--  文字:  技  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x20,0x20,0xFF,0x90,0x10,0x00,0x90,0x90,0x7F,0x48,0xC8,0x00,0x00,0x00,0x00,


/*--  文字:  作  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x80,0x40,0x20,0xF0,0x0E,0x80,0x40,0x30,0x1C,0xF3,0x90,0x88,0x88,0x08,0x00,0x00,


/*--  文字:  品  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x0C,0x34,0x24,0x22,0x22,0x1E,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,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 
 

};
char tableH[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
0x00,0x00,0x00,0x03,0x02,0x02,0x1F,0x21,0x21,0x21,0x20,0x20,0x20,0x1C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x20,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x1F,0x08,0x24,0x20,0x11,0x0A,0x04,0x0A,0x11,0x30,0x20,0x20,0x20,0x00,
0x00,0x00,0x00,0x0F,0x04,0x02,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 
0x08,0x04,0x02,0x01,0x3F,0x00,0x00,0x01,0x01,0x01,0x01,0x7F,0x00,0x00,0x00,0x00,
0x02,0x02,0x11,0x3F,0x00,0x10,0x10,0x0A,0x04,0x04,0x0B,0x10,0x30,0x20,0x20,0x00,
0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x7F,0x04,0x04,0x04,0x00,0x00,0x00,
0x00,0x0E,0x12,0x11,0x11,0x0F,0x00,0x00,0x1E,0x09,0x09,0x09,0x0D,0x03,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 

};

char tablell[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,



/*--  文字:  g  --*/

/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x40,0x40,0x40,0xC0,0x00,0x00,

/*--  文字:  r  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x80,0xC0,0x40,0x40,0x40,0x00,

/*--  文字:  k  --*/
/*--  楷体_GB231212;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x08,0xF8,0x00,0xC0,0x40,0x40,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
};

char tablehh[]={0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x1F,0x10,0x10,0x11,0x18,0x00,0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,
0x00,0x0F,0x11,0x11,0x21,0x11,0x09,0x00,0x00,0x0F,0x18,0x30,0x20,0x10,0x08,0x00,
0x00,0x00,0x00,0x1F,0x20,0x10,0x00,0x00,0x00,0x00,0x10,0x1F,0x00,0x00,0x00,0x00,
0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,0x00,0x1F,0x00,0x00,0x00,0x1F,0x00,0x00,

0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,0x00,0x0F,0x18,0x30,0x20,0x10,0x08,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x10,0x20,0x20,0x1F,0x10,0x00,
0x00,0x0F,0x11,0x11,0x21,0x11,0x09,0x00,0x00,0x00,0x11,0x22,0x26,0x1D,0x00,0x00,
0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,0x00,0x69,0x96,0x94,0x94,0x93,0x70,0x00,
0x00,0x1F,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,0x00,0x0F,0x11,0x11,0x21,0x11,0x09,0x00,
0x00,0x0F,0x18,0x30,0x20,0x10,0x08,0x00,0x00,0x1F,0x00,0x00,0x00,0x1F,0x10,0x00,
0x00,0x1F,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,
0x00,0x0F,0x18,0x30,0x20,0x10,0x08,0x00,0x00,0x1D,0x24,0x22,0x1F,0x20,0x10,0x00,
0x00,0x00,0x00,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0x38,0x06,0x0F,0x1C,0x03,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
0x00,0x00,0x10,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x17,0x1C,0x18,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 delay(uint c)
{
uint i,j;
for(i=0;i<c;i++)
	for(j=0;j<10;j++)
	;
}


void main()
	 {
	 uchar i,j;
	 uint b=0;
	 uchar a;
	 DDRA=0xff;
	 DDRB=0xff;
	 DDRC=0xff;
	 DDRD=0xff;
	 PORTA=0x00;
	 PORTB=0x00;
	 PORTC=0x00;
	 PORTD=0x1c;
	 j=0;
while(1)
	{
	j=0;
	if(a>1)
		{
		a=0;
		b+=1;
		if(b>=170)
			{
			b=0;
			}	  
		}	

	PORTD=PORTD&0xbf;
	PORTD=PORTD|0x80;
	for(i=0;i<16;i++)
		{
		PORTC=i;
		PORTB=tableH[j+b];
		PORTA=tableL[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};
				PORTD=PORTD&0x7f;
	PORTD=PORTD|0x40;

	for(i=0;i<16;i++)
		{
		
		PORTC=i;
		PORTB=tableH[j+b];
		PORTA=tableL[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};		
		
		a++;


  while((PIND&0x04)==0)
	{j=0;

	for(i=0;i<16;i++)
		{
			PORTD=PORTD&0x7f;
	PORTD=PORTD|0x40;
		PORTC=i;
		PORTB=tableH[j+b];
		PORTA=tableL[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};		
		PORTD=PORTD&0xbf;
	PORTD=PORTD|0x80;	

	for(i=0;i<16;i++)
		{
		PORTC=i;
		PORTB=tableH[j+b];
		PORTA=tableL[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};
  };
  if((PIND&0x10)==0)b=0;
while((PIND&0x10)==0)
  {	j=0;
	if(a>1)
		{
		a=0;
		b+=1;
		if(b>=280)
			{
			b=0;
			}	  
		}
	PORTD=PORTD&0x7f;
	PORTD=PORTD|0x40;
	for(i=0;i<16;i++)
		{
		
		PORTC=i;
		PORTB=tablehh[j+b];
		PORTA=tablell[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};		
			PORTD=PORTD&0xbf;
	PORTD=PORTD|0x80;

	for(i=0;i<16;i++)
		{
		PORTC=i;
		PORTB=tablehh[j+b];
		PORTA=tablell[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};
		a++;
   while((PIND&0x08)==0)
  {j=0;
  if((b+1)%8!=0)b+=1;

	for(i=0;i<16;i++)
		{
			PORTD=PORTD&0x7f;
	PORTD=PORTD|0x40;
		PORTC=i;
		PORTB=tablehh[j+b];
		PORTA=tablell[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};		
	  PORTD=PORTD&0xbf;
	PORTD=PORTD|0x80;	

	for(i=0;i<16;i++)
		{
		PORTC=i;
		PORTB=tablehh[j+b];
		PORTA=tablell[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};

  };

  while((PIND&0x04)==0)
	{j=0;

	for(i=0;i<16;i++)
		{
			PORTD=PORTD&0x7f;
	PORTD=PORTD|0x40;
		PORTC=i;
		PORTB=tablehh[j+b];
		PORTA=tablell[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};		
		PORTD=PORTD&0xbf;
	PORTD=PORTD|0x80;	

	for(i=0;i<16;i++)
		{
		PORTC=i;
		PORTB=tablehh[j+b];
		PORTA=tablell[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};
  };

  };
    while((PIND&0x08)==0)
  {j=0;
  if((b+1)%16!=0)b+=1;

	for(i=0;i<16;i++)
		{
			PORTD=PORTD&0x7f;
	PORTD=PORTD|0x40;
		PORTC=i;
		PORTB=tableH[j+b];
		PORTA=tableL[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};		
		  PORTD=PORTD&0xbf;
	PORTD=PORTD|0x80;

	for(i=0;i<16;i++)
		{
		PORTC=i;
		PORTB=tableH[j+b];
		PORTA=tableL[j+b];
		delay(7);
		PORTB=0x00;
		PORTA=0x00;
		j+=1;
		};

  };

};
}

⌨️ 快捷键说明

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