📄 16x128ss.c
字号:
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
};
/************主函数***************/
void main()
{
uchar i,j; //i:每个字的显示循环;j每个字的显示码除以2;k每列刷新次数//
uchar b=0; //显示偏移控制,char类型最多只能显示14个汉字+一个空白位字符//
uchar a=0; // 画面刷新次数//
uchar m;
P1=0xff;P2=0xff;
while(1)
{
if((sel1==1)&(sel2==1)&(sel3==1)) //show(d0);
{
j=0;
if(a>0) //移动间隔时间;取值0--255//
{
a=0;
m++;
if(m==8)m=0,b+=1;
if(b==28)b=0;
}
for(i=0;i<32;i+=2)
{
l=0;
sendbyte(d0[b+10][j]);
sendbyte(d0[b+9][j]);
sendbyte(d0[b+8][j]);
sendbyte(d0[b+7][j]);
sendbyte(d0[b+6][j]);
sendbyte(d0[b+5][j]);
sendbyte(d0[b+4][j]);
sendbyte(d0[b+3][j]);
sendbyte(d0[b+2][j]);
sendbyte(d0[b+1][j]);
l=m;
sendbyte(d0[b+0][j]);
P1=0xff;
P2=0xff;
STTP=0;
STTP=1;
P2=h1[i];//选行
P1=h1[i+1];
delay();
j+=1;
}
a++;
}
if((sel1==0)&(sel2==1)&(sel3==1)) //show(d1);
{
j=0;
if(a>0) //移动间隔时间;取值0--255//
{
a=0;
m++;
if(m==8)m=0,b+=1;
if(b==28)b=0;
}
for(i=0;i<32;i+=2)
{
l=0;
sendbyte(d1[b+10][j]);
sendbyte(d1[b+9][j]);
sendbyte(d1[b+8][j]);
sendbyte(d1[b+7][j]);
sendbyte(d1[b+6][j]);
sendbyte(d1[b+5][j]);
sendbyte(d1[b+4][j]);
sendbyte(d1[b+3][j]);
sendbyte(d1[b+2][j]);
sendbyte(d1[b+1][j]);
l=m;
sendbyte(d1[b+0][j]);
P1=0xff;
P2=0xff;
STTP=0;
STTP=1;
P2=h1[i];//选行
P1=h1[i+1];
delay();
j+=1;
}
a++;
}
if((sel1==1)&(sel2==0)&(sel3==1)) //show(d2);
{ j=0;
if(a>0) //移动间隔时间;取值0--255//
{
a=0;
m++;
if(m==8)m=0,b+=1;
if(b==28)b=0;
}
for(i=0;i<32;i+=2)
{
l=0;
sendbyte(d2[b+10][j]);
sendbyte(d2[b+9][j]);
sendbyte(d2[b+8][j]);
sendbyte(d2[b+7][j]);
sendbyte(d2[b+6][j]);
sendbyte(d2[b+5][j]);
sendbyte(d2[b+4][j]);
sendbyte(d2[b+3][j]);
sendbyte(d2[b+2][j]);
sendbyte(d2[b+1][j]);
l=m;
sendbyte(d2[b+0][j]);
P1=0xff;
P2=0xff;
STTP=0;
STTP=1;
P2=h1[i];//选行
P1=h1[i+1];
delay();
j+=1;
}
a++;
}
if((sel1==1)&(sel2==0)&(sel3==1)) //show(d3);
{ j=0;
if(a>0) //移动间隔时间;取值0--255//
{
a=0;
m++;
if(m==8)m=0,b+=1;
if(b==28)b=0;
}
for(i=0;i<32;i+=2)
{
l=0;
sendbyte(d3[b+10][j]);
sendbyte(d3[b+9][j]);
sendbyte(d3[b+8][j]);
sendbyte(d3[b+7][j]);
sendbyte(d3[b+6][j]);
sendbyte(d3[b+5][j]);
sendbyte(d3[b+4][j]);
sendbyte(d3[b+3][j]);
sendbyte(d3[b+2][j]);
sendbyte(d3[b+1][j]);
l=m;
sendbyte(d3[b+0][j]);
P1=0xff;
P2=0xff;
STTP=0;
STTP=1;
P2=h1[i];//选行
P1=h1[i+1];
delay();
j+=1;
}
a++;
}
}
}
void sendbyte(uchar byte) //发送字节子程序//
{
for(c=l;c<8;c++)
{
clk=0;
DAT =byte&0x80;
byte<<=1;
clk=1;
}
}
void delay(void)
{
uchar i;
for(i=0;i<150;i++);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -