首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

32*32点阵LED显示汉字-STC单片机2

32*32点阵LED显示汉字-STC单片机2

i++;
}
}
}
/*************第2个16*16点阵显示*********************/
//
void dis2()
{
//第二个16*16点阵开始显示
uchar i,j;
for(i=16;i<24;i++)
{/*****我在修改的时候,总是字显示不完整,一开始还以为是哪里有错,后来改延时程序也不行,最后每行连续扫描几次,可以了******/
for(j=0;j<8;j++)//特别注意这里每组点阵的每行扫描8遍,人眼看起来才完整,否则会有残缺不亮
{
P2=hang[i%16];
CS1=1;
P0=tab[i*2];
L3=1;
delay(1);
P0=0x00;
L3=0;
P0=tab[i*2+1];
L4=1;
delay(1);
P0=0x00;//这句才是真正关闭阳极正电的
L4=0; //关闭列,这句是使以后的操作不再影响本列状态
P2=0xff;//这句才是关闭阴极正电的语句
CS1=0; //关闭行低,使以后的操作部影响本行状态
i++;
}
}
for(i=24;i<32;i++)
{
/*****我在修改的时候,总是字显示不完整,一开始还以为是哪里有错,后来改延时程序也不行,最后每行连续扫描几次,可以了******/
for(j=0;j<8;j++)//特别注意这里每组点阵的每行扫描8遍,人眼看起来才完整,否则会有残缺不亮
{
P2=hang[i%24];
CS2=1;
P0=tab[i*2];
L3=1;
delay(1);
P0=0x00;
L3=0;
P0=tab[i*2+1];
L4=1;
delay(1);
P0=0x00;//这句才是真正关闭阳极正电的
L4=0; //关闭列,这句是使以后的操作不再影响本列状态
P2=0xff;//这句才是关闭阴极正电的语句
CS2=0; //关闭行低,使以后的操作部影响本行状态
i++;
}
}
//第二个16*16点阵显示完毕
}
/***********第3个16*16点阵显示**************************/
//
void dis3()
{
//第三个16*16点阵开始显示
uchar i,j;
for(i=32;i<40;i++)
{ /*****我在修改的时候,总是字显示不完整,一开始还以为是哪里有错,后来改延时程序也不行,最后每行连续扫描几次,可以了******/
for(j=0;j<8;j++)//特别注意这里每组点阵的每行扫描8遍,人眼看起来才完整,否则会有残缺不亮
{
P2=hang[i%32];
CS3=1;
P0=tab[i*2];
L1=1;
delay(1);
P0=0x00;
L1=0;
P0=tab[i*2+1];
L2=1;
delay(1);
P0=0x00;//这句才是真正关闭阳极正电的
L2=0; //关闭列,这句是使以后的操作不再影响本列状态
P2=0xff;//这句才是关闭阴极正电的语句
CS3=0; //关闭行低,使以后的操作部影响本行状态
i++;
}
}
for(i=40;i<48;i++)
{
for(j=0;j<8;j++)//特别注意这里每组点阵的每行扫描8遍,人眼看起来才完整,否则会有残缺不亮
{
P2=hang[i%40];
CS4=1;
P0=tab[i*2];
L1=1;
delay(1);
P0=0x00;
L1=0;
P0=tab[i*2+1];
L2=1;
delay(1);
P0=0x00;//这句才是真正关闭阳极正电的
L2=0; //关闭列,这句是使以后的操作不再影响本列状态
P2=0xff;//这句才是关闭阴极正电的语句
CS4=0; //关闭行低,使以后的操作部影响本行状态
i++;
}
}
//第三个16*16点阵显示完毕
}
/********第4个16*16点阵显示*********************/
//
void dis4()
{
/************第4个16*16点阵显示***********************/
//第四个16*16点阵开始显示
uchar i,j;
for(i=48;i<56;i++)
{
for(j=0;j<8;j++)//特别注意这里每组点阵的每行扫描8遍,人眼看起来才完整,否则会有残缺不亮
{
P2=hang[i%48];
CS3=1;
P0=tab[i*2];
L3=1;
delay(1);
P0=0x00;
L3=0;
P0=tab[i*2+1];
L4=1;
delay(1);
P0=0x00;//这句才是真正关闭阳极正电的
L4=0; //关闭列,这句是使以后的操作不再影响本列状态
P2=0xff;//这句才是关闭阴极正电的语句
CS3=0; //关闭行低,使以后的操作部影响本行状态
i++;
}
}
for(i=56;i<64;i++)
{
for(j=0;j<8;j++)//特别注意这里每组点阵的每行扫描8遍,人眼看起来才完整,否则会有残缺不亮
{
P2=hang[i%56];
CS4=1;
P0=tab[i*2];
L3=1;
delay(1);
P0=0x00;
L3=0;
P0=tab[i*2+1];
L4=1;
delay(1);
P0=0x00;//这句才是真正关闭阳极正电的
L4=0; //关闭列,这句是使以后的操作不再影响本列状态
P2=0xff;//这句才是关闭阴极正电的语句
CS4=0; //关闭行低,使以后的操作部影响本行状态
i++;
}
}
//第四个16*16点阵显示完毕
}
//
void delayus()
{
uchar i=3;
while(i--);
}
void delay(uint k)
{
uint data i,j;
for(i=0;i
{
for(j=0;j<155;j++)
{;}
}
}
返回列表