📄 led._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 + -