⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getdot.lst

📁 keil c 开发的典型动态LED显示屏控制器,cpu为51系列
💻 LST
📖 第 1 页 / 共 3 页
字号:
 408   5                                       }
 409   4                                 }
 410   3                        break;
 411   3                case 11:for(j=0;j<12;j++) {
 412   4                          for(n=0; n<6; n++ ) {
 413   5                                        k = j*24+n;
 414   5                                        if(SelRam)  {
 415   6                                           DotRam1[k] = 0x22;
 416   6                                               DotRam1[k+6] = 0x44;
 417   6                                               DotRam1[k+12] = 0x88;
 418   6                                               DotRam1[k+18] = 0x11;
 419   6                                              }
 420   5                        else    {
 421   6                                           DotRam2[k] = 0x22;
 422   6                                               DotRam2[k+6] = 0x44;
 423   6                                               DotRam2[k+12] = 0x88;
 424   6                                               DotRam2[k+18] = 0x11;
 425   6                                              }
 426   5                                       }
 427   4                                 }
C51 COMPILER V8.05a   GETDOT                                                               04/23/2008 16:28:14 PAGE 8   

 428   3                        break;
 429   3                case 12:for(j=0;j<12;j++) {
 430   4                          for(n=0; n<6; n++ ) {
 431   5                                        k = j*24+n;
 432   5                                        if(SelRam)  {
 433   6                                           DotRam1[k] = 0x11;
 434   6                                               DotRam1[k+6] = 0x22;
 435   6                                               DotRam1[k+12] = 0x44;
 436   6                                               DotRam1[k+18] = 0x88;
 437   6                                              }
 438   5                        else    {
 439   6                                           DotRam2[k] = 0x11;
 440   6                                               DotRam2[k+6] = 0x22;
 441   6                                               DotRam2[k+12] = 0x44;
 442   6                                               DotRam2[k+18] = 0x88;
 443   6                                              }
 444   5                                       }
 445   4                                 }
 446   3                        break;
 447   3      
 448   3            default  :  break;
 449   3           }
 450   2          SelRam = !SelRam;
 451   2          return;
 452   2         }
 453   1        if(CutDownEn==0) return;
 454   1        if(CountTime==BakCountTime) return;
 455   1      
 456   1        BakCountTime = CountTime;
 457   1        k1 = (CountTime/100)*64;
 458   1        k2 = ((CountTime%100)/10)*64;
 459   1        k3 = (CountTime%10)*64;
 460   1      
 461   1        for(j=0; j<32; j++){
 462   2          k = j*6+48;
 463   2              n = j*2;
 464   2              m = n+1; 
 465   2          if(SelRam){
 466   3                         DotRam1[k]   = CharDot[k1+n];
 467   3                             DotRam1[k+1] = CharDot[k1+m];
 468   3                                 DotRam1[k+2] = CharDot[k2+n];
 469   3                             DotRam1[k+3] = CharDot[k2+m];
 470   3                                 DotRam1[k+4] = CharDot[k3+n];
 471   3                             DotRam1[k+5] = CharDot[k3+m];
 472   3           }
 473   2              else      {
 474   3                         DotRam2[k]   = CharDot[k1+n];
 475   3                             DotRam2[k+1] = CharDot[k1+m];
 476   3                                 DotRam2[k+2] = CharDot[k2+n];
 477   3                             DotRam2[k+3] = CharDot[k2+m];
 478   3                                 DotRam2[k+4] = CharDot[k3+n];
 479   3                             DotRam2[k+5] = CharDot[k3+m];
 480   3           }
 481   2         }
 482   1        SelRam = !SelRam;
 483   1        return;
 484   1      }
 485          
 486          void MoveBit( void){
 487   1        SRD = BMov0;
 488   1        SCLK = 0;
 489   1        SCLK = 1;
C51 COMPILER V8.05a   GETDOT                                                               04/23/2008 16:28:14 PAGE 9   

 490   1        SRD = BMov1;
 491   1        SCLK = 0;
 492   1        SCLK = 1;
 493   1        SRD = BMov2;
 494   1        SCLK = 0;
 495   1        SCLK = 1;
 496   1        SRD = BMov3;
 497   1        SCLK = 0;
 498   1        SCLK = 1;
 499   1        SRD = BMov4;
 500   1        SCLK = 0;
 501   1        SCLK = 1;
 502   1        SRD = BMov5;
 503   1        SCLK = 0;
 504   1        SCLK = 1;
 505   1        SRD = BMov6;
 506   1        SCLK = 0;
 507   1        SCLK = 1;
 508   1        SRD = BMov7;
 509   1        SCLK = 0;
 510   1        SCLK = 1;
 511   1       }
 512          
 513          void ScanLed(void)
 514          {
 515   1        unsigned char i,n;
 516   1        unsigned int k;
 517   1      
 518   1        if(Line == 0x0F ) Line = 0x00;
 519   1        else              Line = Line + 0x01; 
 520   1      
 521   1        switch(Line){
 522   2          case 0x00: n = 0;  break;
 523   2          case 0x01: n = 6;  break;
 524   2          case 0x02: n = 12; break;
 525   2          case 0x03: n = 18; break;
 526   2          case 0x04: n = 24; break;
 527   2          case 0x05: n = 30; break;
 528   2          case 0x06: n = 36; break;
 529   2          case 0x07: n = 42; break;
 530   2          case 0x08: n = 48; break;
 531   2          case 0x09: n = 54; break;
 532   2          case 0x0A: n = 60; break;
 533   2          case 0x0B: n = 66; break;
 534   2          case 0x0C: n = 72; break;
 535   2          case 0x0D: n = 78; break;
 536   2          case 0x0E: n = 84; break;
 537   2          case 0x0F: n = 90; break;
 538   2          default  : n = 0;  break;
 539   2         }
 540   1      
 541   1        for(i=0; i<3; i++){
 542   2          switch(i){
 543   3            case 0x00: k = n;     break;
 544   3            case 0x01: k = n+96;  break;
 545   3            case 0x02: k = n+192; break;
 546   3            default  : k = 0;     break;
 547   3           }
 548   2              if(SelRam){
 549   3            BMov = DotRam2[k]; 
 550   3            MoveBit();
 551   3                BMov = DotRam2[k+1]; 
C51 COMPILER V8.05a   GETDOT                                                               04/23/2008 16:28:14 PAGE 10  

 552   3            MoveBit();
 553   3                BMov = DotRam2[k+2]; 
 554   3            MoveBit();
 555   3                BMov = DotRam2[k+3]; 
 556   3            MoveBit();
 557   3                BMov = DotRam2[k+4]; 
 558   3            MoveBit();
 559   3                BMov = DotRam2[k+5];
 560   3            MoveBit();
 561   3               }
 562   2          else{
 563   3            BMov = DotRam1[k]; 
 564   3            MoveBit();
 565   3                BMov = DotRam1[k+1]; 
 566   3            MoveBit();
 567   3                BMov = DotRam1[k+2]; 
 568   3            MoveBit();
 569   3                BMov = DotRam1[k+3]; 
 570   3            MoveBit();
 571   3                BMov = DotRam1[k+4]; 
 572   3            MoveBit();
 573   3                BMov = DotRam1[k+5];
 574   3            MoveBit();
 575   3               }
 576   2         }
 577   1        _nop_();
 578   1      
 579   1        OE = 0;
 580   1        _nop_();
 581   1        STR = 0;
 582   1        _nop_();
 583   1        _nop_();
 584   1        _nop_();
 585   1        _nop_();
 586   1        STR = 1;
 587   1        _nop_();
 588   1        _nop_();
 589   1      
 590   1        L0 = Line&0x01;
 591   1        L1 = Line&0x02;
 592   1        L2 = Line&0x04;
 593   1        L3 = Line&0x08;
 594   1        OE = 1;
 595   1        _nop_();
 596   1        _nop_();
 597   1      
 598   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   3769    ----
   CONSTANT SIZE    =    896    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      3      13
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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