led1.lst

来自「该程序可以实现用595与154结合51单片机的16*32LED点阵左右滚动。」· LST 代码 · 共 382 行 · 第 1/3 页

LST
382
字号
C51 COMPILER V8.05a   LED1                                                                 03/26/2009 12:14:40 PAGE 5   

 239   8                                                                                              while(!P1_3);
 240   8                                                                                      }
 241   7                                                                              }
 242   6                                                                              if(P1_0==0) break;
 243   6                                                                      }
 244   5                                                                      if(P1_0==0) break;
 245   5                                                              }
 246   4                                                              if(P1_0==0) 
 247   4                                                              {
 248   5                                                                      while(!P1_0);
 249   5                                                                      break;
 250   5                                                              }                                       
 251   4                                                      }
 252   3                                                      for(m=0;m<10;m++)                          //右移数字字母
 253   3                                                      {
 254   4                                                              for(k=0;k<8;k++)
 255   4                                                              {
 256   5                                                                      for(l=0;l<sp;l++)
 257   5                                                                      {
 258   6                                                                              for(n=0;n<16;n++)       //扫16行
 259   6                                                                              {                                       
 260   7                                                                                      oe=1;
 261   7                                                                                      P0=(P0&0xf0)|n;  
 262   7                                                                                      write_595((tab[n+16*(m+3)]>>k)|(tab[n+16*(m+4)]<<(8-k)));
 263   7                                                                                      write_595((tab[n+16*(m+2)]>>k)|(tab[n+16*(m+3)]<<(8-k)));
 264   7                                                                                      write_595((tab[n+16*(m+1)]>>k)|(tab[n+16*(m+2)]<<(8-k)));
 265   7                                                                                      write_595((tab[n+16*m]>>k)|(tab[n+16*(m+1)]<<(8-k)));
 266   7                                                                                      oe=0;
 267   7                                                                                      delay();
 268   7                                                                                      if(P1_0==0) 
 269   7                                                                                      {
 270   8                                                                                              num=1;
 271   8                                                                                              wd=0;
 272   8                                                                                              time=0;
 273   8                                                                                              open=0;
 274   8                                                                                              break;
 275   8                                                                                      }
 276   7                                                                                      if(P1_3==0)
 277   7                                                                                      {
 278   8                                                                                              sp=sp+5;
 279   8                                                                                              if(sp==40) sp=5;
 280   8                                                                                              while(!P1_3);
 281   8                                                                                      }
 282   7                                                                              }
 283   6                                                                              if(P1_0==0) break;
 284   6                                                                      }
 285   5                                                                      if(P1_0==0) break;
 286   5                                                              }
 287   4                                                              if(P1_0==0) 
 288   4                                                              {
 289   5                                                                      while(!P1_0);
 290   5                                                                      break;
 291   5                                                              }                                       
 292   4                                                      }
 293   3                                              }
 294   2                                              if(num==0&&wd==0&&time==0&&open==1)             //左移汉字
 295   2                                              {
 296   3                                                      for(m=0;m<33;m++)
 297   3                                                      {
 298   4                                                              for(h=0;h<2;h++)
 299   4                                                              {
 300   5                                                                      for(k=0;k<8;k++)
C51 COMPILER V8.05a   LED1                                                                 03/26/2009 12:14:40 PAGE 6   

 301   5                                                                      {
 302   6                                                                              for(l=0;l<sp;l++)
 303   6                                                                              {
 304   7                                                                                      for(n=0;n<16;n++)       //扫16行
 305   7                                                                                      {                                       
 306   8                                                                                              oe=1;
 307   8                                                                                              P0=(P0&0xf0)|n;  
 308   8                                                                                              write_595((hz[n*2+h+m*32]<<k)|(hz[(n*2+(1-h)+32*h+m*32)]>>(8-k)));
 309   8                                                                                              write_595((hz[(n*2+(1-h)+32*h+m*32)]<<k)|(hz[n*2+32+m*32+h]>>(8-k)));
 310   8                                                                                              write_595((hz[n*2+32+m*32+h]<<k)|(hz[n*2+(1-h)+32*h+32+m*32]>>(8-k)));
 311   8                                                                                              write_595((hz[n*2+(1-h)+32*h+32+m*32]<<k)|(hz[n*2+32*2+m*32+h]>>(8-k)));
 312   8                                                                                              oe=0;
 313   8                                                                                              delay();
 314   8                                                                                              if(P1_0==0) 
 315   8                                                                                              {
 316   9                                                                                                      num=0;
 317   9                                                                                                      wd=0;
 318   9                                                                                                      time=0;
 319   9                                                                                                      open=0;
 320   9                                                                                                      break;
 321   9                                                                                              }
 322   8                                                                                              if(P1_3==0)
 323   8                                                                                              {
 324   9                                                                                                      sp=sp+5;
 325   9                                                                                                      if(sp==40) sp=5;
 326   9                                                                                                      while(!P1_3);
 327   9                                                                                              }
 328   8                                                                                      }
 329   7                                                                                      if(P1_0==0) break;      
 330   7                                                                              }
 331   6                                                                       if(P1_0==0) break;
 332   6                                                                      }
 333   5                                                                      if(P1_0==0) break;
 334   5                                                              }
 335   4                                                              if(P1_0==0) 
 336   4                                                              {
 337   5                                                                      while(!P1_0);
 338   5                                                                      break;
 339   5                                                              }
 340   4                                                      }
 341   3                                                                                              
 342   3                                              }
 343   2                                              
 344   2              }while(1);
 345   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2171    ----
   CONSTANT SIZE    =   1440    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       4
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?