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

📄 task.lis

📁 LED条屏显示程序,但是对初学者
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 073E 20900000          lds R2,_timer1_over
 0742 2220              tst R2
 0744 09F4              brne X24
 0746 59C1              xjmp L117
 0748           X24:
 0748                   .dbline 276
 0748           ;     {
 0748                   .dbline 277
 0748           ;        timer1_over=0;
 0748 2224              clr R2
 074A 20920000          sts _timer1_over,R2
 074E                   .dbline 278
 074E           ;        switch(disp_state)
 074E 40910100          lds R20,_disp_state
 0752 5527              clr R21
 0754 4030              cpi R20,0
 0756 4507              cpc R20,R21
 0758 A9F0              breq L122
 075A           X20:
 075A 4130              cpi R20,1
 075C E0E0              ldi R30,0
 075E 5E07              cpc R21,R30
 0760 09F4              brne X25
 0762 3BC0              xjmp L130
 0764           X25:
 0764 4330              cpi R20,3
 0766 E0E0              ldi R30,0
 0768 5E07              cpc R21,R30
 076A 09F4              brne X26
 076C B5C0              xjmp L144
 076E           X26:
 076E 4430              cpi R20,4
 0770 E0E0              ldi R30,0
 0772 5E07              cpc R21,R30
 0774 09F4              brne X27
 0776 00C1              xjmp L159
 0778           X27:
 0778 4530              cpi R20,5
 077A E0E0              ldi R30,0
 077C 5E07              cpc R21,R30
 077E 09F4              brne X28
 0780 18C1              xjmp L162
 0782           X28:
 0782 3BC1              xjmp L119
 0784           X21:
 0784                   .dbline 279
 0784           ;      {case 0:
 0784           L122:
 0784                   .dbline 280
 0784           ;        {
 0784                   .dbline 281
 0784           ;           for(n=0;n<mp3_info.Name_number;n++)
 0784 4427              clr R20
 0786 21C0              xjmp L126
 0788           L123:
 0788                   .dbline 282
 0788           ;                  {
 0788                   .dbline 283
 0788           ;                   if(mp3_info.NAME[n]<0x0060)
 0788 82E0              ldi R24,2
 078A 849F              mul R24,R20
 078C F001              movw R30,R0
 078E 80E0              ldi R24,<_mp3_info
 0790 90E0              ldi R25,>_mp3_info
 0792 E80F              add R30,R24
 0794 F91F              adc R31,R25
 0796 8081              ldd R24,z+0
 0798 9181              ldd R25,z+1
 079A 8036              cpi R24,96
 079C E0E0              ldi R30,0
 079E 9E07              cpc R25,R30
 07A0 50F4              brsh L128
 07A2                   .dbline 284
 07A2           ;                          disp_number+=6;
 07A2 80910C00          lds R24,L108
 07A6 90910D00          lds R25,L108+1
 07AA 0696              adiw R24,6
 07AC 90930D00          sts L108+1,R25
 07B0 80930C00          sts L108,R24
 07B4 09C0              xjmp L129
 07B6           L128:
 07B6                   .dbline 286
 07B6           ;                       else
 07B6           ;                          disp_number+=12; 
 07B6 80910C00          lds R24,L108
 07BA 90910D00          lds R25,L108+1
 07BE 0C96              adiw R24,12
 07C0 90930D00          sts L108+1,R25
 07C4 80930C00          sts L108,R24
 07C8           L129:
 07C8                   .dbline 287
 07C8           L124:
 07C8                   .dbline 281
 07C8 4395              inc R20
 07CA           L126:
 07CA                   .dbline 281
 07CA 20903400          lds R2,_mp3_info+52
 07CE 4215              cp R20,R2
 07D0 D8F2              brlo L123
 07D2                   .dbline 289
 07D2           ;                   }
 07D2           ;               
 07D2           ;               disp_state=1;
 07D2 81E0              ldi R24,1
 07D4 80930100          sts _disp_state,R24
 07D8                   .dbline 290
 07D8           ;               break;
 07D8 10C1              xjmp L120
 07DA           L130:
 07DA                   .dbline 294
 07DA           ;          }
 07DA           ; 
 07DA           ;   case 1:
 07DA           ;        {
 07DA                   .dbline 296
 07DA           ;          
 07DA           ;           if(disp_i>=disp_number)
 07DA 20900C00          lds R2,L108
 07DE 30900D00          lds R3,L108+1
 07E2 40900E00          lds R4,L109
 07E6 50900F00          lds R5,L109+1
 07EA 4214              cp R4,R2
 07EC 5304              cpc R5,R3
 07EE 90F0              brlo L131
 07F0                   .dbline 297
 07F0           ;           {
 07F0                   .dbline 298
 07F0           ;            buffer_h[disp_point]=0;
 07F0 80E0              ldi R24,<L111
 07F2 90E0              ldi R25,>L111
 07F4 E0910B00          lds R30,L107
 07F8 FF27              clr R31
 07FA E80F              add R30,R24
 07FC F91F              adc R31,R25
 07FE 2224              clr R2
 0800 2082              std z+0,R2
 0802                   .dbline 299
 0802           ;            buffer_l[disp_point]=0; 
 0802 80E0              ldi R24,<L112
 0804 90E0              ldi R25,>L112
 0806 E0910B00          lds R30,L107
 080A FF27              clr R31
 080C E80F              add R30,R24
 080E F91F              adc R31,R25
 0810 2082              std z+0,R2
 0812                   .dbline 300
 0812           ;             }
 0812 59C0              xjmp L132
 0814           L131:
 0814                   .dbline 302
 0814           ;        else 
 0814           ;           {
 0814                   .dbline 303
 0814           ;            if((disp_i%6)==0)
 0814 26E0              ldi R18,6
 0816 30E0              ldi R19,0
 0818 00910E00          lds R16,L109
 081C 10910F00          lds R17,L109+1
 0820 0E940000          xcall mod16u
 0824 0030              cpi R16,0
 0826 0107              cpc R16,R17
 0828 71F5              brne L133
 082A           X22:
 082A                   .dbline 304
 082A           ;                    {
 082A                   .dbline 305
 082A           ;                         for(m=0,n=0;n<disp_i;)
 082A 6627              clr R22
 082C 4427              clr R20
 082E 16C0              xjmp L138
 0830           L135:
 0830                   .dbline 306
 0830           ;                            {
 0830                   .dbline 307
 0830           ;                                 if(mp3_info.NAME[m++]<0x0060)
 0830 262E              mov R2,R22
 0832 3324              clr R3
 0834 6F5F              subi R22,255    ; addi 1
 0836 02E0              ldi R16,2
 0838 10E0              ldi R17,0
 083A 9101              movw R18,R2
 083C 0E940000          xcall empy16s
 0840 F801              movw R30,R16
 0842 80E0              ldi R24,<_mp3_info
 0844 90E0              ldi R25,>_mp3_info
 0846 E80F              add R30,R24
 0848 F91F              adc R31,R25
 084A 8081              ldd R24,z+0
 084C 9181              ldd R25,z+1
 084E 8036              cpi R24,96
 0850 E0E0              ldi R30,0
 0852 9E07              cpc R25,R30
 0854 10F4              brsh L139
 0856                   .dbline 308
 0856           ;                                    n+=6;
 0856 4A5F              subi R20,250    ; addi 6
 0858 01C0              xjmp L140
 085A           L139:
 085A                   .dbline 310
 085A           ;                                 else
 085A           ;                                    n+=12;  
 085A 445F              subi R20,244    ; addi 12
 085C           L140:
 085C                   .dbline 311
 085C           L136:
 085C                   .dbline 305
 085C           L138:
 085C                   .dbline 305
 085C 20900E00          lds R2,L109
 0860 30900F00          lds R3,L109+1
 0864 442E              mov R4,R20
 0866 5524              clr R5
 0868 4214              cp R4,R2
 086A 5304              cpc R5,R3
 086C 08F3              brlo L135
 086E                   .dbline 312
 086E           ;                                 }
 086E           ;                         if(n==disp_i)
 086E 5524              clr R5
 0870 4214              cp R4,R2
 0872 5304              cpc R5,R3
 0874 41F4              brne L141
 0876                   .dbline 313
 0876           ;                           {Abtain_code(m,piont_24_code);
 0876                   .dbline 313
 0876 20E0              ldi R18,<L113
 0878 30E0              ldi R19,>L113
 087A 062F              mov R16,R22
 087C 0E940000          xcall _Abtain_code
 0880                   .dbline 314
 0880           ;                                disp_j=0;
 0880 2224              clr R2
 0882 20921000          sts L110,R2
 0886                   .dbline 315
 0886           ;                               }
 0886           L141:
 0886                   .dbline 316
 0886           ;                        }
 0886           L133:
 0886                   .dbline 317
 0886           ;            buffer_h[disp_point]=piont_24_code[disp_j];
 0886 80E0              ldi R24,<L113
 0888 90E0              ldi R25,>L113
 088A E0911000          lds R30,L110
 088E FF27              clr R31
 0890 E80F              add R30,R24
 0892 F91F              adc R31,R25
 0894 2080              ldd R2,z+0
 0896 80E0              ldi R24,<L111
 0898 90E0              ldi R25,>L111
 089A E0910B00          lds R30,L107
 089E FF27              clr R31
 08A0 E80F              add R30,R24
 08A2 F91F              adc R31,R25
 08A4 2082              std z+0,R2
 08A6                   .dbline 318
 08A6           ;            buffer_l[disp_point]=piont_24_code[disp_j+12];
 08A6 80E0              ldi R24,<L113+12
 08A8 90E0              ldi R25,>L113+12
 08AA E0911000          lds R30,L110
 08AE FF27              clr R31
 08B0 E80F              add R30,R24
 08B2 F91F              adc R31,R25
 08B4 2080              ldd R2,z+0
 08B6 80E0              ldi R24,<L112
 08B8 90E0              ldi R25,>L112
 08BA E0910B00          lds R30,L107
 08BE FF27              clr R31
 08C0 E80F              add R30,R24
 08C2 F91F              adc R31,R25
 08C4 2082              std z+0,R2
 08C6                   .dbline 319
 08C6           ;           }
 08C6           L132:
 08C6                   .dbline 320
 08C6           ;                 disp_j++;
 08C6 80911000          lds R24,L110
 08CA 8F5F              subi R24,255    ; addi 1
 08CC 80931000          sts L110,R24
 08D0                   .dbline 321
 08D0           ;           disp_state=3;
 08D0 83E0              ldi R24,3
 08D2 80930100          sts _disp_state,R24
 08D6                   .dbline 322
 08D6           ;           break;
 08D6 91C0              xjmp L120
 08D8           L144:
 08D8                   .dbline 326
 08D8           ;          }
 08D8           ; 
 08D8           ;   case 3:
 08D8           ;        {
 08D8                   .dbline 327
 08D8           ;          LCD_set_XY(6,2);
 08D8 22E0              ldi R18,2
 08DA 06E0              ldi R16,6
 08DC 0E940000          xcall _LCD_set_XY
 08E0                   .dbline 328
 08E0           ;        for (n=0; n<72; n++)
 08E0 4427              clr R20
 08E2 18C0              xjmp L148
 08E4           L145:
 08E4                   .dbline 329
 08E4           ;        {
 08E4                   .dbline 330
 08E4           ;          if(++disp_point>71)
 08E4 80910B00          lds R24,L107
 08E8 8F5F              subi R24,255    ; addi 1
 08EA 282E              mov R2,R24
 08EC 20920B00          sts L107,R2
 08F0 87E4              ldi R24,71
 08F2 8215              cp R24,R2
 08F4 18F4              brsh L149
 08F6                   .dbline 331
 08F6           ;            {disp_point=0; 
 08F6                   .dbline 331
 08F6 2224              clr R2
 08F8 20920B00          sts L107,R2
 08FC                   .dbline 332
 08FC           ;                 }
 08FC           L149:
 08FC                   .dbline 333
 08FC 21E0              ldi R18,1
 08FE 80E0              ldi R24,<L111
 0900 90E0              ldi R25,>L111
 0902 E0910B00          lds R30,L107
 0906 FF27              clr R31
 0908 E80F              add R30,R24
 090A F91F              adc R31,R25
 090C 0081              ldd R16,z+0
 090E 0E940000          xcall _LCD_write_byte
 0912                   .dbline 334
 0912           L146:
 0912                

⌨️ 快捷键说明

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