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

📄 task.lis

📁 LED条屏显示程序,但是对初学者
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0402 09F0              breq X10
 0404 41C0              xjmp L50
 0406           X10:
 0406                   .dbline 132
 0406           ;               if((UNICODE_point>0)&(CHINALIB_point>0))
 0406 40E0              ldi R20,0
 0408 50E0              ldi R21,0
 040A 60E0              ldi R22,0
 040C 70E0              ldi R23,0
 040E 40900200          lds R4,_UNICODE_point+2
 0412 50900300          lds R5,_UNICODE_point+2+1
 0416 20900000          lds R2,_UNICODE_point
 041A 30900100          lds R3,_UNICODE_point+1
 041E 2416              cp R2,R20
 0420 3506              cpc R3,R21
 0422 4606              cpc R4,R22
 0424 5706              cpc R5,R23
 0426 21F0              breq L55
 0428 81E0              ldi R24,1
 042A 90E0              ldi R25,0
 042C 6C01              movw R12,R24
 042E 02C0              xjmp L56
 0430           L55:
 0430 CC24              clr R12
 0432 DD24              clr R13
 0434           L56:
 0434 40E0              ldi R20,0
 0436 50E0              ldi R21,0
 0438 60E0              ldi R22,0
 043A 70E0              ldi R23,0
 043C 40900200          lds R4,_CHINALIB_point+2
 0440 50900300          lds R5,_CHINALIB_point+2+1
 0444 20900000          lds R2,_CHINALIB_point
 0448 30900100          lds R3,_CHINALIB_point+1
 044C 2416              cp R2,R20
 044E 3506              cpc R3,R21
 0450 4606              cpc R4,R22
 0452 5706              cpc R5,R23
 0454 21F0              breq L57
 0456 81E0              ldi R24,1
 0458 90E0              ldi R25,0
 045A 5C01              movw R10,R24
 045C 02C0              xjmp L58
 045E           L57:
 045E AA24              clr R10
 0460 BB24              clr R11
 0462           L58:
 0462 1601              movw R2,R12
 0464 2A20              and R2,R10
 0466 3B20              and R3,R11
 0468 2220              tst R2
 046A 11F4              brne X2
 046C 3320              tst R3
 046E 61F0              breq L53
 0470           X2:
 0470                   .dbline 133
 0470           ;            LCD_write_String(6,2,8,buffer,0);
 0470 2224              clr R2
 0472 2C82              std y+4,R2
 0474 80E0              ldi R24,<_buffer
 0476 90E0              ldi R25,>_buffer
 0478 9B83              std y+3,R25
 047A 8A83              std y+2,R24
 047C 88E0              ldi R24,8
 047E 8883              std y+0,R24
 0480 22E0              ldi R18,2
 0482 06E0              ldi R16,6
 0484 0E940000          xcall _LCD_write_String
 0488           L53:
 0488           L50:
 0488                   .dbline 135
 0488           ;          
 0488           ;               if((MP3_current_number==1)|(play_state==0))
 0488 80910000          lds R24,_MP3_current_number
 048C 8130              cpi R24,1
 048E 21F4              brne L61
 0490 81E0              ldi R24,1
 0492 90E0              ldi R25,0
 0494 6C01              movw R12,R24
 0496 02C0              xjmp L62
 0498           L61:
 0498 CC24              clr R12
 049A DD24              clr R13
 049C           L62:
 049C 20900000          lds R2,_play_state
 04A0 2220              tst R2
 04A2 21F4              brne L63
 04A4 81E0              ldi R24,1
 04A6 90E0              ldi R25,0
 04A8 5C01              movw R10,R24
 04AA 02C0              xjmp L64
 04AC           L63:
 04AC AA24              clr R10
 04AE BB24              clr R11
 04B0           L64:
 04B0 1601              movw R2,R12
 04B2 2A28              or R2,R10
 04B4 3B28              or R3,R11
 04B6 2220              tst R2
 04B8 11F4              brne X3
 04BA 3320              tst R3
 04BC 79F0              breq L59
 04BE           X3:
 04BE                   .dbline 136
 04BE           ;                 {SONG_state=song_stop;
 04BE                   .dbline 136
 04BE 2224              clr R2
 04C0 20920000          sts _SONG_state,R2
 04C4                   .dbline 137
 04C4           ;                  if(play_state!=2)
 04C4 80910000          lds R24,_play_state
 04C8 8230              cpi R24,2
 04CA 59F0              breq L60
 04CC                   .dbline 138
 04CC           ;                    {play_state=0;
 04CC                   .dbline 138
 04CC 20920000          sts _play_state,R2
 04D0                   .dbline 139
 04D0           ;                     LCD_write_tubiao(0,5,0);
 04D0 2882              std y+0,R2
 04D2 25E0              ldi R18,5
 04D4 0027              clr R16
 04D6 0E940000          xcall _LCD_write_tubiao
 04DA                   .dbline 140
 04DA           ;                        }
 04DA                   .dbline 141
 04DA           ;                 }
 04DA 03C0              xjmp L60
 04DC           L59:
 04DC                   .dbline 143
 04DC           ;               else
 04DC           ;                {SONG_state=song_start;
 04DC                   .dbline 143
 04DC 81E0              ldi R24,1
 04DE 80930000          sts _SONG_state,R24
 04E2                   .dbline 144
 04E2           ;            } 
 04E2           L60:
 04E2                   .dbline 145
 04E2           ;               disp_state=5;
 04E2 85E0              ldi R24,5
 04E4 80930100          sts _disp_state,R24
 04E8                   .dbline 146
 04E8           ;               break;
 04E8           L7:
 04E8           L8:
 04E8                   .dbline -2
 04E8           L1:
 04E8 2D96              adiw R28,13
 04EA 0E940000          xcall pop_gset4
 04EE                   .dbline 0 ; func end
 04EE 0895              ret
 04F0                   .dbsym r doing 10 c
 04F0                   .dbsym l FAT_Clus 5 l
 04F0                   .dbend
 04F0                   .dbfunc e KBOD_task _KBOD_task fV
                        .even
 04F0           _KBOD_task::
 04F0 0E940000          xcall push_gset1
 04F4 2197              sbiw R28,1
 04F6                   .dbline -1
 04F6                   .dbline 153
 04F6           ;          }
 04F6           ;  }
 04F6           ; }
 04F6           ; 
 04F6           ; //=======================================================================
 04F6           ; void KBOD_task(void)
 04F6           ; {
 04F6                   .dbline 154
 04F6           ;  if(key_value!=0)
 04F6 20900000          lds R2,_key_value
 04FA 2220              tst R2
 04FC 09F4              brne X13
 04FE 14C1              xjmp L68
 0500           X13:
 0500                   .dbline 155
 0500           ;  {
 0500                   .dbline 156
 0500           ;   switch(key_value)
 0500 422D              mov R20,R2
 0502 5527              clr R21
 0504 483D              cpi R20,216
 0506 E0E0              ldi R30,0
 0508 5E07              cpc R21,R30
 050A 09F4              brne X14
 050C 80C0              xjmp L85
 050E           X14:
 050E 88ED              ldi R24,216
 0510 90E0              ldi R25,0
 0512 8417              cp R24,R20
 0514 9507              cpc R25,R21
 0516 7CF0              brlt L103
 0518           L102:
 0518 4837              cpi R20,120
 051A E0E0              ldi R30,0
 051C 5E07              cpc R21,R30
 051E 09F4              brne X15
 0520 46C0              xjmp L79
 0522           X15:
 0522 4837              cpi R20,120
 0524 E0E0              ldi R30,0
 0526 5E07              cpc R21,R30
 0528 0CF4              brge X16
 052A FEC0              xjmp L70
 052C           X16:
 052C           L104:
 052C 483B              cpi R20,184
 052E E0E0              ldi R30,0
 0530 5E07              cpc R21,R30
 0532 89F0              breq L73
 0534 F9C0              xjmp L70
 0536           L103:
 0536 483E              cpi R20,232
 0538 E0E0              ldi R30,0
 053A 5E07              cpc R21,R30
 053C 09F4              brne X17
 053E 81C0              xjmp L88
 0540           X17:
 0540 483E              cpi R20,232
 0542 E0E0              ldi R30,0
 0544 5E07              cpc R21,R30
 0546 0CF4              brge X18
 0548 EFC0              xjmp L70
 054A           X18:
 054A           L105:
 054A 403F              cpi R20,240
 054C E0E0              ldi R30,0
 054E 5E07              cpc R21,R30
 0550 09F4              brne X19
 0552 A0C0              xjmp L93
 0554           X19:
 0554 E9C0              xjmp L70
 0556           X11:
 0556                   .dbline 157
 0556           ;   {
 0556           L73:
 0556                   .dbline 159
 0556           ;    case volume_add:
 0556           ;         {
 0556                   .dbline 160
 0556           ;                if(set_volume<8)
 0556 80910000          lds R24,_set_volume
 055A 8830              cpi R24,8
 055C 18F4              brsh L74
 055E                   .dbline 161
 055E           ;                       {set_volume++;
 055E                   .dbline 161
 055E 8F5F              subi R24,255    ; addi 1
 0560 80930000          sts _set_volume,R24
 0564                   .dbline 162
 0564           ;                       }
 0564           L74:
 0564                   .dbline 163
 0564           ;          LCD_set_XY(59,5);
 0564 25E0              ldi R18,5
 0566 0BE3              ldi R16,59
 0568 0E940000          xcall _LCD_set_XY
 056C                   .dbline 164
 056C           ;          key_value=set_volume*3;
 056C 20900000          lds R2,_set_volume
 0570 83E0              ldi R24,3
 0572 829D              mul R24,R2
 0574 00920000          sts _key_value,R0
 0578 04C0              xjmp L77
 057A           L76:
 057A                   .dbline 166
 057A                   .dbline 167
 057A 21E0              ldi R18,1
 057C 0AE5              ldi R16,90
 057E 0E940000          xcall _LCD_write_byte
 0582                   .dbline 168
 0582           L77:
 0582                   .dbline 165
 0582           ;          while(key_value--)
 0582 20900000          lds R2,_key_value
 0586 3324              clr R3
 0588 822D              mov R24,R2
 058A 8150              subi R24,1
 058C 80930000          sts _key_value,R24
 0590 2220              tst R2
 0592 99F7              brne L76
 0594                   .dbline 169
 0594           ;               {
 0594           ;                LCD_write_byte(0x5A,1); 
 0594           ;               }
 0594           ;            sta_SetVolume(59+set_volume*5,1);
 0594 21E0              ldi R18,1
 0596 20900000          lds R2,_set_volume
 059A 85E0              ldi R24,5
 059C 829D              mul R24,R2
 059E 002D              mov R16,R0
 05A0 055C              subi R16,197    ; addi 59
 05A2 0E940000          xcall _sta_SetVolume
 05A6                   .dbline 170
 05A6           ;                key_value=0;
 05A6 2224              clr R2
 05A8 20920000          sts _key_value,R2
 05AC                   .dbline 171
 05AC           ;                break;
 05AC BDC0              xjmp L71
 05AE           L79:
 05AE                   .dbline 174
 05AE           ;                }
 05AE           ;    case volume_sub:
 05AE           ;         {
 05AE                   .dbline 175
 05AE           ;                if (set_volume>1)
 05AE 81E0              ldi R24,1
 05B0 20900000          lds R2,_set_volume
 05B4 8215              cp R24,R2
 05B6 20F4              brsh L80
 05B8                   .dbline 176
 05B8           ;                   {set_volume--;
 05B8                   .dbline 176
 05B8 822D              mov R24,R2
 05BA 8150              subi R24,1
 05BC 80930000          sts _set_volume,R24
 05C0                   .dbline 177
 05C0           ;                   }
 05C0           L80:
 05C0                   .dbline 178
 05C0           ;          LCD_set_XY(59+set_volume*3,5);
 05C0 25E0              ldi R18,5
 05C2 20900000          lds R2,_set_volume
 05C6 83E0              ldi R24,3
 05C8 829D              mul R24,R2
 05CA 002D              mov R16,R0
 05CC 055C              subi R16,197    ; addi 59
 05CE 0E940000          xcall _LCD_set_XY
 05D2                   .dbline 179
 05D2           ;          key_value=3;
 05D2 83E0              ldi R24,3
 05D4 80930000          sts _key_value,R24
 05D8 04C0              xjmp L83
 05DA           L82:
 05DA                   .dbline 181

⌨️ 快捷键说明

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