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

📄 display_board2.0.lis

📁 一个LED特效显示程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 03B6                   .dbline 280
 03B6           ;    }
 03B6           L63:
 03B6                   .dbline 281
 03B6           ;    if(HeadEN ==1)                            //循环检测文件起始标志
 03B6 80912700          lds R24,_HeadEN
 03BA 8130              cpi R24,1
 03BC 01F5              brne L69
 03BE                   .dbline 282
 03BE           ;    {
 03BE                   .dbline 283
 03BE           ;       Head[HeadLoad] =data;
 03BE 80E0              ldi R24,<_Head
 03C0 90E0              ldi R25,>_Head
 03C2 E0912600          lds R30,_HeadLoad
 03C6 FF27              clr R31
 03C8 E80F              add R30,R24
 03CA F91F              adc R31,R25
 03CC 4083              std z+0,R20
 03CE                   .dbline 284
 03CE           ;       HeadLoad++;
 03CE 80912600          lds R24,_HeadLoad
 03D2 8F5F              subi R24,255    ; addi 1
 03D4 80932600          sts _HeadLoad,R24
 03D8                   .dbline 285
 03D8           ;         if(HeadLoad ==3)
 03D8 8330              cpi R24,3
 03DA 89F4              brne L71
 03DC                   .dbline 286
 03DC           ;         { 
 03DC                   .dbline 287
 03DC           ;            if((Head[0] ==76) && (Head[1] ==69) &&(Head[2] ==68))//文件起始表示吻合
 03DC 80910000          lds R24,_Head
 03E0 8C34              cpi R24,76
 03E2 69F4              brne L73
 03E4 80910100          lds R24,_Head+1
 03E8 8534              cpi R24,69
 03EA 49F4              brne L73
 03EC 80910200          lds R24,_Head+2
 03F0 8434              cpi R24,68
 03F2 29F4              brne L73
 03F4                   .dbline 288
 03F4           ;                {
 03F4                   .dbline 289
 03F4           ;                    HeadEN =0;
 03F4 2224              clr R2
 03F6 20922700          sts _HeadEN,R2
 03FA                   .dbline 290
 03FA           ;                        FileEnd =0;
 03FA 20922500          sts _FileEnd,R2
 03FE                   .dbline 291
 03FE           ;                }
 03FE           L73:
 03FE                   .dbline 292
 03FE           ;       }
 03FE           L71:
 03FE                   .dbline 293
 03FE           L69:
 03FE                   .dbline -2
 03FE           L60:
 03FE 0E940000          xcall pop_gset1
 0402                   .dbline 0 ; func end
 0402 0895              ret
 0404                   .dbsym r data 20 c
 0404                   .dbend
 0404                   .dbfunc e Disp_Model _Disp_Model fV
 0404           ;       PFileMax -> R20,R21
 0404           ;    file_length -> R22,R23
                        .even
 0404           _Disp_Model::
 0404 0E940000          xcall push_gset2
 0408                   .dbline -1
 0408                   .dbline 301
 0408           ;    }
 0408           ; }
 0408           ; /**************************************************
 0408           ; 
 0408           ;                        显示效果处理    
 0408           ;                        
 0408           ; ****************************************************/
 0408           ; void Disp_Model(void)
 0408           ; {   
 0408                   .dbline 302
 0408           ;     unsigned int file_length =0;
 0408 6627              clr R22
 040A 7727              clr R23
 040C                   .dbline 306
 040C           ;       int PFileMax;
 040C           ;       //DispModel =RAM_Read(2) & (RAM_Read(3)<<8);                     //model控制字节
 040C           ;       //PFileMax =(RAM_Read(0) & RAM_Read(1)<<8)>>3;       //计算缓冲区域的最大列数
 040C           ;        if(ModelDelayTime ==0)
 040C 20902D00          lds R2,_ModelDelayTime
 0410 30902E00          lds R3,_ModelDelayTime+1
 0414 2220              tst R2
 0416 09F0              breq X5
 0418 92C0              xjmp L78
 041A           X5:
 041A 3320              tst R3
 041C 09F0              breq X6
 041E 8FC0              xjmp L78
 0420           X6:
 0420           X1:
 0420                   .dbline 307
 0420           ;       {
 0420                   .dbline 308
 0420           ;            switch(DispModel)
 0420 60912C00          lds R22,_DispModel
 0424 7727              clr R23
 0426 6030              cpi R22,0
 0428 6707              cpc R22,R23
 042A B9F0              breq L83
 042C           X2:
 042C 6130              cpi R22,1
 042E E0E0              ldi R30,0
 0430 7E07              cpc R23,R30
 0432 F9F0              breq L84
 0434 6230              cpi R22,2
 0436 E0E0              ldi R30,0
 0438 7E07              cpc R23,R30
 043A 29F1              breq L85
 043C 6330              cpi R22,3
 043E E0E0              ldi R30,0
 0440 7E07              cpc R23,R30
 0442 09F4              brne X7
 0444 68C0              xjmp L81
 0446           X7:
 0446 6430              cpi R22,4
 0448 E0E0              ldi R30,0
 044A 7E07              cpc R23,R30
 044C 31F1              breq L87
 044E 6530              cpi R22,5
 0450 E0E0              ldi R30,0
 0452 7E07              cpc R23,R30
 0454 09F4              brne X8
 0456 5FC0              xjmp L81
 0458           X8:
 0458 5EC0              xjmp L80
 045A           X3:
 045A                   .dbline 309
 045A           ;                {
 045A           L83:
 045A                   .dbline 311
 045A           ;               case 0:
 045A           ;                   {                //基本显示
 045A                   .dbline 312
 045A           ;                          PDataYMin =4;
 045A 84E0              ldi R24,4
 045C 90E0              ldi R25,0
 045E 90932400          sts _PDataYMin+1,R25
 0462 80932300          sts _PDataYMin,R24
 0466                   .dbline 313
 0466           ;                          PDataYMax =154;
 0466 8AE9              ldi R24,154
 0468 90932200          sts _PDataYMax+1,R25
 046C 80932100          sts _PDataYMax,R24
 0470                   .dbline 314
 0470           ;                          break;
 0470 52C0              xjmp L81
 0472           L84:
 0472                   .dbline 317
 0472           ;                       }
 0472           ;                       case 1:
 0472           ;                   {                    //滚屏
 0472                   .dbline 318
 0472           ;                          PDataY++;
 0472 80911F00          lds R24,_PDataY
 0476 90912000          lds R25,_PDataY+1
 047A 0196              adiw R24,1
 047C 90932000          sts _PDataY+1,R25
 0480 80931F00          sts _PDataY,R24
 0484                   .dbline 319
 0484           ;                          break;
 0484 48C0              xjmp L81
 0486           L85:
 0486                   .dbline 322
 0486           ;                   }
 0486           ;                       case 2:
 0486           ;                   {                            //反向滚屏
 0486                   .dbline 323
 0486           ;                          PDataY--;
 0486 80911F00          lds R24,_PDataY
 048A 90912000          lds R25,_PDataY+1
 048E 0197              sbiw R24,1
 0490 90932000          sts _PDataY+1,R25
 0494 80931F00          sts _PDataY,R24
 0498                   .dbline 324
 0498           ;                          break;
 0498 3EC0              xjmp L81
 049A           X4:
 049A                   .dbline 327
 049A           ;                   }
 049A           ;                       case 3:
 049A           ;                   {  
 049A                   .dbline 328
 049A           ;                          break;
 049A           L87:
 049A                   .dbline 331
 049A           ;                   }
 049A           ;                       case 4:
 049A           ;                   {                //覆盖模式
 049A                   .dbline 332
 049A           ;                          if(ModelContJuge =1)
 049A 81E0              ldi R24,1
 049C 80932F00          sts _ModelContJuge,R24
 04A0 8823              tst R24
 04A2 99F0              breq L88
 04A4                   .dbline 333
 04A4           ;                          {
 04A4                   .dbline 334
 04A4           ;                              PDataYMax++;
 04A4 80912100          lds R24,_PDataYMax
 04A8 90912200          lds R25,_PDataYMax+1
 04AC 0196              adiw R24,1
 04AE 90932200          sts _PDataYMax+1,R25
 04B2 80932100          sts _PDataYMax,R24
 04B6                   .dbline 335
 04B6           ;                                  PDataYMin++;
 04B6 80912300          lds R24,_PDataYMin
 04BA 90912400          lds R25,_PDataYMin+1
 04BE 0196              adiw R24,1
 04C0 90932400          sts _PDataYMin+1,R25
 04C4 80932300          sts _PDataYMin,R24
 04C8                   .dbline 336
 04C8           ;                          }
 04C8 12C0              xjmp L89
 04CA           L88:
 04CA                   .dbline 338
 04CA           ;                          else
 04CA           ;                          {
 04CA                   .dbline 339
 04CA           ;                              PDataYMax--;
 04CA 80912100          lds R24,_PDataYMax
 04CE 90912200          lds R25,_PDataYMax+1
 04D2 0197              sbiw R24,1
 04D4 90932200          sts _PDataYMax+1,R25
 04D8 80932100          sts _PDataYMax,R24
 04DC                   .dbline 340
 04DC           ;                                  PDataYMin--;
 04DC 80912300          lds R24,_PDataYMin
 04E0 90912400          lds R25,_PDataYMin+1
 04E4 0197              sbiw R24,1
 04E6 90932400          sts _PDataYMin+1,R25
 04EA 80932300          sts _PDataYMin,R24
 04EE                   .dbline 341
 04EE           ;                          }
 04EE           L89:
 04EE                   .dbline 342
 04EE           ;                          if(PDataYMax >PFileMax)
 04EE 20902100          lds R2,_PDataYMax
 04F2 30902200          lds R3,_PDataYMax+1
 04F6 4215              cp R20,R2
 04F8 5305              cpc R21,R3
 04FA 1CF4              brge L90
 04FC                   .dbline 343
 04FC           ;                          {   
 04FC                   .dbline 344
 04FC           ;                                 ModelContJuge =0;
 04FC 2224              clr R2
 04FE 20922F00          sts _ModelContJuge,R2
 0502                   .dbline 345
 0502           ;                          }
 0502           L90:
 0502                   .dbline 346
 0502           ;                          if(PDataYMax <PFileMax)
 0502 20902100          lds R2,_PDataYMax
 0506 30902200          lds R3,_PDataYMax+1
 050A 2416              cp R2,R20
 050C 3506              cpc R3,R21
 050E 1CF4              brge L81
 0510                   .dbline 347
 0510           ;                          {   
 0510                   .dbline 348
 0510           ;                                 ModelContJuge =1;
 0510 81E0              ldi R24,1
 0512 80932F00          sts _ModelContJuge,R24
 0516                   .dbline 349
 0516           ;                          }
 0516                   .dbline 350
 0516           ;                          break;
 0516                   .dbline 353
 0516           ;                   }
 0516           ;                       case 5:
 0516           ;                   {
 0516                   .dbline 354
 0516           ;                          break;      
 0516           L80:
 0516           L81:
 0516                   .dbline 357
 0516 04E0              ldi R16,4
 0518 10E0              ldi R17,0
 051A DADE              xcall _RAM_Read
 051C 202E              mov R2,R16
 051E 05E0              ldi R16,5
 0520 10E0              ldi R17,0
 0522 2F92              push R2
 0524 D5DE              xcall _RAM_Read
 0526 2F90              pop R2
 0528 402E              mov R4,R16
 052A 5524              clr R5
 052C 542C              mov R5,R4
 052E 4424              clr R4
 0530 3324              clr R3
 0532 2420              and R2,R4
 0534 3520              and R3,R5
 0536 30922E00          sts _ModelDelayTime+1,R3
 053A 20922D00          sts _ModelDelayTime,R2
 053E                   .dbline 358
 053E           L78:
 053E                   .dbline -2
 053E           L77:
 053E 0E940000          xcall pop_gset2
 0542                   .dbline 0 ; func end
 0542 0895              ret
 0544                   .dbsym r PFileMax 20 I
 0544                   .dbsym r file_length 22 i
 0544                   .dbend
 0544                   .dbfunc e KEY_event _KEY_event 

⌨️ 快捷键说明

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