标题:
单片机LED旋转屏程序疑惑 求解答
[打印本页]
作者:
1085662623
时间:
2020-5-22 19:44
标题:
单片机LED旋转屏程序疑惑 求解答
做了一个LED旋转显示屏,抄了一个程序,有一部分程序一直不能理解,就是下面这部分,运行的流程是什么样子呀,
这里shownum初始化为0;程序没有问题,但是,一直不能理解为什么这样能够达到显示效果,数据输送到P1,P0,然后如何循环显示的,为什么数组的字模数据存在showdat[160+i],
uchar xdata ShowDat[176];
void EX0_int() interrupt 0 //外部中断0
{
ShowNum=0;
ms++;
}
void timer0() interrupt 1 //定时中断0 中断处理
{
TH0=0xfe; //0.37ms 11.0592M 晶振
TL0=0xab;
if(ShowNum<80)
{
P1=ShowDat[ShowNum*2];
P0=ShowDat[ShowNum*2+1];
ShowDat[ShowNum*2]=ShowDat[ShowNum*2+2];
ShowDat[ShowNum*2+1]=ShowDat[ShowNum*2+3];
ShowNum++;
QuanOK=1;
}
else
{
P1=P0=0xff;
if(ms==8)
{
ms=0;
QuanOK=0;
for(i=0;i<16;i++)
{
ShowDat[160+i]=Zimo1[ziNum][i];
}
ziNum=(ziNum+1)%61; //重复
}
else
{
if(QuanOK==1&&ms!=0) // 如果全部数据发送完毕 则更新160---176 数据
{
QuanOK=0;
for(i=0;i<7;i++)
{
ShowDat[(80+i)*2]=ShowDat[(80+i)*2+2];
ShowDat[(80+i)*2+1]=ShowDat[(80+i)*2+3];
}
}
}
}
}
复制代码
作者:
1085662623
时间:
2020-5-22 20:51
求各路大佬帮忙注释一下。真心看不懂这部分
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1