标题: 单片机LED旋转屏程序疑惑 求解答 [打印本页]

作者: 1085662623    时间: 2020-5-22 19:44
标题: 单片机LED旋转屏程序疑惑 求解答
做了一个LED旋转显示屏,抄了一个程序,有一部分程序一直不能理解,就是下面这部分,运行的流程是什么样子呀,
这里shownum初始化为0;程序没有问题,但是,一直不能理解为什么这样能够达到显示效果,数据输送到P1,P0,然后如何循环显示的,为什么数组的字模数据存在showdat[160+i],  

  1. uchar xdata ShowDat[176];

  2. void EX0_int() interrupt 0         //外部中断0
  3. {
  4.         ShowNum=0;
  5.         ms++;  
  6.                
  7. }

  8. void timer0() interrupt 1        //定时中断0 中断处理
  9. {
  10.         TH0=0xfe;  //0.37ms     11.0592M 晶振
  11.         TL0=0xab;        
  12.                 if(ShowNum<80)      
  13.         {
  14.                 P1=ShowDat[ShowNum*2];   
  15.                 P0=ShowDat[ShowNum*2+1];               
  16.                 ShowDat[ShowNum*2]=ShowDat[ShowNum*2+2];
  17.                 ShowDat[ShowNum*2+1]=ShowDat[ShowNum*2+3];
  18.                 ShowNum++;
  19.                 QuanOK=1;
  20.         }
  21.         else  
  22.         {
  23.                 P1=P0=0xff;
  24.                 if(ms==8)  
  25.                 {
  26.                         ms=0;
  27.                         QuanOK=0;
  28.                         
  29.                         for(i=0;i<16;i++)
  30.                         {
  31.                                 ShowDat[160+i]=Zimo1[ziNum][i];        
  32.                         }
  33.                         ziNum=(ziNum+1)%61;         //重复
  34.                 }
  35.                
  36.                 else
  37.                 {
  38.                         if(QuanOK==1&&ms!=0) // 如果全部数据发送完毕   则更新160---176 数据
  39.                         {
  40.                                 QuanOK=0;
  41.                                 for(i=0;i<7;i++)
  42.                                 {
  43.                                         ShowDat[(80+i)*2]=ShowDat[(80+i)*2+2];
  44.                                         ShowDat[(80+i)*2+1]=ShowDat[(80+i)*2+3];        
  45.                                 }
  46.                         }
  47.                 }
  48.         }
  49. }
复制代码



作者: 1085662623    时间: 2020-5-22 20:51
求各路大佬帮忙注释一下。真心看不懂这部分




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1