📄 led5322.c
字号:
0x00,0x00,0x0C,0x18,0xFD,0x98,0xF8,0xD8,0x18,0x58,0xFE,0x18,0xFE,0x98,0x18,0xD8,
0x3C,0x58,0x7E,0x1E,0xDB,0xFE,0x9B,0xF8,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,
/*-- 文字: 技 --*/
/*-- 黑体12; 此字体下对应的点阵为:宽x高=16x16 --*/
0x00,0x60,0x30,0x60,0x33,0xFC,0x33,0xFC,0xFC,0x60,0xFC,0x60,0x33,0xFC,0x3F,0xFC,
0xFD,0x88,0xF1,0x98,0x30,0xF0,0x30,0x60,0x30,0xF0,0x77,0x9E,0x66,0x06,0x00,0x00,
};
unsigned char code blkj[]={
/*-- 文字: 百 --*/
/*-- 华文彩云12; 此字体下对应的点阵为:宽x高=16x17 --*/
0x00,0x00,0x7F,0xFE,0x40,0x02,0x40,0x02,0x40,0x02,0x7C,0x7E,0x40,0x02,0x40,0x02,
0x47,0xE2,0x40,0x02,0x40,0x02,0x47,0xE2,0x40,0x02,0x40,0x02,0x7F,0xFE,0x00,0x00,
/*-- 文字: 灵 --*/
/*-- 华文彩云12; 此字体下对应的点阵为:宽x高=16x17 --*/
0x00,0x00,0x7F,0xFE,0x40,0x02,0x7F,0xE2,0x20,0x02,0x20,0x02,0x7F,0xE2,0x49,0xCE,
0x56,0x52,0x62,0x62,0x44,0x26,0x38,0x3C,0x40,0x82,0x81,0x81,0x86,0x61,0x78,0x1E,
/*-- 文字: 科 --*/
/*-- 华文彩云12; 此字体下对应的点阵为:宽x高=16x17 --*/
0x00,0x00,0x7F,0xDE,0x41,0x22,0x42,0x12,0x62,0x12,0x41,0xF2,0x41,0x22,0x46,0x12,
0x29,0x12,0x49,0xE1,0x49,0x01,0x46,0x01,0x63,0xE2,0x22,0x22,0x22,0x22,0x1C,0x3E,
/*-- 文字: 技 --*/
/*-- 华文彩云12; 此字体下对应的点阵为:宽x高=16x17 --*/
0x00,0x00,0x3C,0xF0,0x27,0x8E,0x66,0x02,0x86,0x02,0x82,0x02,0x67,0x8E,0x22,0x02,
0xC2,0x02,0x82,0x22,0x47,0x04,0x65,0x04,0x46,0x02,0x84,0x01,0xC4,0x72,0x7B,0x8E,
};
void timer0(void) interrupt 1 {
TH0=0x0a;
TL0=0x6e; //一天可能慢上60秒;已改20030213
trupt=trupt+1;
if (trupt==53) {trupt=0;
second++;
if (second>59) {minute++;
second=0;
if (minute>59) {minute=0;
hour++;
if (hour>23) hour=0;
}
}
}
}
void receve23(void) interrupt 4{
unsigned char data sbufbak;
sbufbak=SBUF;
RI=0;
if (sbufcount) {send[sendno++]=sbufbak;
sbufcount--;
if (sbufcount!=0) {}
else {come=1;
if (send[0]==0xb3) {come=0;second=send[1]; minute=send[2]; hour=send[3];}
}
}
else if ((0xf0<sbufbak)&&(sbufbak<0xf6)) { /*打开盒子*/
sbufcount=sbufbak&0x0f;
sendno=0;
come=0;
}
}
void bdelay(void)
{unsigned int i;
_nop_;
_nop_;
_nop_;
_nop_;
dog=!dog;
for (i=0;i<30000;i++) {}
dog=!dog;
for (i=0;i<30000;i++) {}
dog=!dog;
_nop_;
_nop_;
}
void up(spi,x)
unsigned char spi[],x;
{
unsigned char ram,zi,pp,lie,count,lieram;
for (lie=0;lie<16;lie++) {
if (lie<x+2) { for (count=11;count>0;count--) {
clk=0;
sda=1;
clk=1;
}
for (zi=0;zi<0xff;zi++) {}
}
else {
for (zi=3;zi!=0xff;zi--) {
for (count=3;count>0;count--) {
clk=0;
sda=1;
clk=1;
}
pp=zi*32+lie*2+1;
ram=spi[pp];
for (count=8;count>0;count--) {
clk=0;
ram>>=1;
sda=!CY;
clk=1;
}
ram=spi[pp-1];
for (count=8;count>0;count--) {
clk=0;
ram>>=1;
sda=!CY;
clk=1;
}
}
for (count=4;count>0;count--) {
clk=0;
sda=1;
clk=1;
}
} //if (lie<x+2) {
clk=0;
if (lie<x+2) gg=1;
else gg=0;
enable=1;
enable=1;
enable=0;
lieram=lie-x;
lieram|=0xf0;
P1&=lieram;
lieram=lie-x;
P1|=lieram;
}
for (count=80;count>0;count--) {
clk=0;
sda=1;
clk=1;
}
enable=1;
enable=0;
gg=0;
}
void disslowly(spi,y)
unsigned char spi[],y;
{
unsigned char ram,zi,lie,pp,count,lieram,yram;
bit b;
for (lie=0;lie<16;lie++) {
yram=0;
for (zi=3;zi!=0xff;zi--) {
for (count=3;count>0;count--) {
clk=0;
sda=1;
clk=1;
}
pp=zi*32+lie*2+1;
ram=spi[pp];
for (count=8;count;count--) {
clk=0;
ram>>=1;
b=!CY;
if (yram++>y) sda=b;
else sda=1;
clk=1;
}
ram=spi[pp-1];
for (count=8;count>0;count--) {
clk=0;
ram>>=1;
b=!CY;
if (yram++>y) sda=b;
else sda=1;
clk=1;
}
}
for (count=4;count>0;count--) {
clk=0;
sda=1;
clk=1;
}
clk=0;
gg=1;
gg=1;
gg=1;
gg=1;
gg=1;
enable=1;
enable=1;
enable=0;
lieram=lie;
lieram|=0xf0;
P1&=lieram;
lieram=lie;
P1|=lieram;
gg=0;
}
}
void disdh(spi,ll)
unsigned char spi[];
signed char ll;
{
bit ok,zf;
unsigned char rrambak,rram;
unsigned char ram,zi,lie,pp,count,lieram;
if (ll>=0) {rrambak=ll;zf=1;}
else {rrambak=-ll;zf=0;}
for (lie=0;lie<16;lie++) {
ok=0;rram=0;
if (!zf) for (count=rrambak;count>0;count--) {
clk=0;
sda=1;
clk=1;
_nop_();
}
if (!zf) for (zi=11;(zi!=0xff)&&!ok;zi--) {
ram=spi[zi*16+lie];
for (count=8;(count>0)&&!ok;count--) {
if (rram++>=(12*8-1-rrambak)) ok=1;
clk=0;
ram>>=1;
sda=!CY;
clk=1;
_nop_();
}
}
if (zf) for (zi=11;(zi!=0xff)&&!ok;zi--) {
pp=zi*16+lie;
ram=spi[pp];
for (count=8;(count>0)&&!ok;count--) {
if (rram++>=(11*8-80+rrambak)) {
clk=0;
ram>>=1;
sda=!CY;
clk=1;
_nop_();
_nop_();
}
}
}
if (zf) for (count=rrambak;count>0;count--) {
clk=0;
sda=1;
clk=1;
_nop_();
}
clk=0;
gg=1;
gg=1;
gg=1;
enable=1;
enable=1;
enable=0;
lieram=lie;
lieram|=0xf0;
P1&=lieram;
lieram=lie;
P1|=lieram;
gg=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -