📄 点阵led字.c
字号:
#include <AT89X52.H>
unsigned char code tab[]={0x00,0x00,0x01,0x00,0x02,0x00,0x03,0x00,0x04,0x00,0x05,0x00,0x06,0x00,0x07,0x00,
0x08,0x00,0x09,0x00,0x0a,0x00,0x0b,0x00,0x0c,0x00,0x0d,0x00,0x0e,0x00,0x0f} ; //0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char code digittab[10][32]={
{0x08,0x20,0x44,0x20,0x26,0x7E,0x30,0x80,
0x01,0x01,0x20,0x02,0x2E,0x04,0x21,0x88,
0x20,0x50,0x20,0x20,0x20,0xD0,0x23,0x08,
0x7C,0x06,0x20,0x03,0x00,0x02,0x00,0x00}//汉
{0x00,0x40,0x08,0x40,0x30,0x40,0x24,0x40,
0x24,0x40,0x24,0x42,0xA4,0x41,0x64,0xFE,
0x25,0x40,0x26,0x40,0x24,0x40,0x20,0x40,
0x28,0x40,0x30,0xC0,0x00,0x40,0x00,0x00}//字
{0x00,0x01,0x00,0x02,0x03,0xEC,0x02,0x20,
0x02,0x28,0x02,0x26,0xFE,0x20,0x12,0x28,
0x12,0x24,0x12,0x26,0x12,0x20,0x17,0xE8,
0x32,0x04,0x10,0x03,0x00,0x00,0x00,0x00}//点
{0x00,0x00,0x7F,0xFF,0x44,0x20,0x5A,0x10,
0x61,0xE0,0x20,0x10,0x21,0x10,0x27,0x10,
0xF9,0x10,0x21,0x10,0x2F,0xFF,0x21,0x10,
0x23,0x10,0x61,0x30,0x20,0x10,0x00,0x00}//阵
{0x24,0x10,0x24,0x60,0x25,0x80,0x7F,0xFF,
0xC5,0x00,0x44,0xC2,0x04,0x82,0x7E,0x92,
0x42,0x92,0x42,0x92,0x42,0xFE,0x42,0x92,
0x42,0xB2,0xFE,0x96,0x40,0x82,0x00,0x00}//程
{0x00,0x02,0x00,0x0C,0x3F,0xF0,0x20,0x00,
0x28,0x80,0x28,0x80,0x28,0x82,0xAA,0x81,
0x69,0xFE,0x2A,0x80,0x2C,0x80,0x28,0xA0,
0x68,0xC0,0x20,0x80,0x00,0x00,0x00,0x00}//序
};
unsigned int timecount;
unsigned char cnta;
unsigned char cntb;
void main(void)
{
TMOD=0x01;
TH0=(65536-3000)/256;
TL0=(65536-3000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{;
}
}
void t0(void) interrupt 1 using 0
{
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
P2=tab[cnta];
P0=digittab[cntb][cnta];
P1=digittab[cntb][cnta+1];
cnta+=2;
if(cnta==32)
{
cnta=0;
}
timecount++;
if(timecount==500)
{
timecount=0;
cntb++;
if(cntb==6)
{
cntb=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -