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

📄 task.lis

📁 LED条屏显示程序,但是对初学者
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 05DA                   .dbline 182
 05DA 21E0              ldi R18,1
 05DC 02E4              ldi R16,66
 05DE 0E940000          xcall _LCD_write_byte
 05E2                   .dbline 183
 05E2           L83:
 05E2                   .dbline 180
 05E2           ;          while(key_value--)
 05E2 20900000          lds R2,_key_value
 05E6 3324              clr R3
 05E8 822D              mov R24,R2
 05EA 8150              subi R24,1
 05EC 80930000          sts _key_value,R24
 05F0 2220              tst R2
 05F2 99F7              brne L82
 05F4                   .dbline 185
 05F4           ;               {
 05F4           ;                LCD_write_byte(0x42,1); 
 05F4           ;               }
 05F4           ;                 
 05F4           ;            sta_SetVolume(59+set_volume*5,1);
 05F4 21E0              ldi R18,1
 05F6 20900000          lds R2,_set_volume
 05FA 85E0              ldi R24,5
 05FC 829D              mul R24,R2
 05FE 002D              mov R16,R0
 0600 055C              subi R16,197    ; addi 59
 0602 0E940000          xcall _sta_SetVolume
 0606                   .dbline 186
 0606           ;            key_value=0;               
 0606 2224              clr R2
 0608 20920000          sts _key_value,R2
 060C                   .dbline 187
 060C           ;                break;
 060C 8DC0              xjmp L71
 060E           L85:
 060E                   .dbline 190
 060E           ;               }
 060E           ;    case next:
 060E           ;         {          
 060E                   .dbline 191
 060E           ;                sta_StartDecoder();
 060E 0E940000          xcall _sta_StartDecoder
 0612                   .dbline 192
 0612           ;                if(play_state==2)
 0612 80910000          lds R24,_play_state
 0616 8230              cpi R24,2
 0618 11F4              brne L86
 061A                   .dbline 193
 061A           ;                   sta_PauseDecoder(); 
 061A 0E940000          xcall _sta_PauseDecoder
 061E           L86:
 061E                   .dbline 194
 061E           ;                sta_SetVolume(59+set_volume*5,1);
 061E 21E0              ldi R18,1
 0620 20900000          lds R2,_set_volume
 0624 85E0              ldi R24,5
 0626 829D              mul R24,R2
 0628 002D              mov R16,R0
 062A 055C              subi R16,197    ; addi 59
 062C 0E940000          xcall _sta_SetVolume
 0630                   .dbline 196
 0630           ;                
 0630           ;                SONG_state=song_over;
 0630 85E0              ldi R24,5
 0632 80930000          sts _SONG_state,R24
 0636                   .dbline 197
 0636           ;                key_value=0;
 0636 2224              clr R2
 0638 20920000          sts _key_value,R2
 063C                   .dbline 198
 063C           ;                disp_state=5;
 063C 80930100          sts _disp_state,R24
 0640                   .dbline 199
 0640           ;                break;
 0640 73C0              xjmp L71
 0642           L88:
 0642                   .dbline 202
 0642           ;               }
 0642           ;    case back:
 0642           ;        {
 0642                   .dbline 203
 0642           ;               if(MP3_current_number==1)
 0642 80910000          lds R24,_MP3_current_number
 0646 8130              cpi R24,1
 0648 31F4              brne L89
 064A                   .dbline 204
 064A           ;                   MP3_current_number=MP3_all_number-1;
 064A 80910000          lds R24,_MP3_all_number
 064E 8150              subi R24,1
 0650 80930000          sts _MP3_current_number,R24
 0654 05C0              xjmp L90
 0656           L89:
 0656                   .dbline 206
 0656           ;               else
 0656           ;                   MP3_current_number=MP3_current_number-2;
 0656 80910000          lds R24,_MP3_current_number
 065A 8250              subi R24,2
 065C 80930000          sts _MP3_current_number,R24
 0660           L90:
 0660                   .dbline 208
 0660           ;                
 0660           ;               sta_StartDecoder();
 0660 0E940000          xcall _sta_StartDecoder
 0664                   .dbline 209
 0664           ;           if(play_state==2)
 0664 80910000          lds R24,_play_state
 0668 8230              cpi R24,2
 066A 11F4              brne L91
 066C                   .dbline 210
 066C           ;                  sta_PauseDecoder(); 
 066C 0E940000          xcall _sta_PauseDecoder
 0670           L91:
 0670                   .dbline 211
 0670           ;               sta_SetVolume(59+set_volume*5,1);
 0670 21E0              ldi R18,1
 0672 20900000          lds R2,_set_volume
 0676 85E0              ldi R24,5
 0678 829D              mul R24,R2
 067A 002D              mov R16,R0
 067C 055C              subi R16,197    ; addi 59
 067E 0E940000          xcall _sta_SetVolume
 0682                   .dbline 213
 0682           ;               
 0682           ;               SONG_state=song_over; 
 0682 85E0              ldi R24,5
 0684 80930000          sts _SONG_state,R24
 0688                   .dbline 214
 0688           ;               key_value=0;
 0688 2224              clr R2
 068A 20920000          sts _key_value,R2
 068E                   .dbline 215
 068E           ;               disp_state=5;
 068E 80930100          sts _disp_state,R24
 0692                   .dbline 216
 0692           ;               break;
 0692 4AC0              xjmp L71
 0694           L93:
 0694                   .dbline 219
 0694           ;               }
 0694           ;    case play:
 0694           ;         {
 0694                   .dbline 220
 0694           ;                key_value=0;
 0694 2224              clr R2
 0696 20920000          sts _key_value,R2
 069A                   .dbline 221
 069A           ;                play_state++;
 069A 80910000          lds R24,_play_state
 069E 8F5F              subi R24,255    ; addi 1
 06A0 80930000          sts _play_state,R24
 06A4                   .dbline 223
 06A4           ;                
 06A4           ;                switch(play_state)
 06A4 482F              mov R20,R24
 06A6 5527              clr R21
 06A8 4130              cpi R20,1
 06AA E0E0              ldi R30,0
 06AC 5E07              cpc R21,R30
 06AE 49F0              breq L97
 06B0 4230              cpi R20,2
 06B2 E0E0              ldi R30,0
 06B4 5E07              cpc R21,R30
 06B6 21F1              breq L100
 06B8 4330              cpi R20,3
 06BA E0E0              ldi R30,0
 06BC 5E07              cpc R21,R30
 06BE 49F1              breq L101
 06C0 33C0              xjmp L71
 06C2           X12:
 06C2                   .dbline 224
 06C2           ;                      {
 06C2           L97:
 06C2                   .dbline 226
 06C2           ;                           case 1:                //播放
 06C2           ;                                   {
 06C2                   .dbline 227
 06C2           ;                                        if(STA013_INIT)
 06C2 20900200          lds R2,_STA013_INIT
 06C6 2220              tst R2
 06C8 91F0              breq L98
 06CA                   .dbline 228
 06CA           ;                                          {sta_Init();
 06CA                   .dbline 228
 06CA 0E940000          xcall _sta_Init
 06CE                   .dbline 229
 06CE           ;                                           sta_StartDecoder();
 06CE 0E940000          xcall _sta_StartDecoder
 06D2                   .dbline 230
 06D2           ;                                               sta_SetVolume(59+set_volume*5,1);
 06D2 21E0              ldi R18,1
 06D4 20900000          lds R2,_set_volume
 06D8 85E0              ldi R24,5
 06DA 829D              mul R24,R2
 06DC 002D              mov R16,R0
 06DE 055C              subi R16,197    ; addi 59
 06E0 0E940000          xcall _sta_SetVolume
 06E4                   .dbline 231
 06E4           ;                                               STA013_INIT--;
 06E4 80910200          lds R24,_STA013_INIT
 06E8 8150              subi R24,1
 06EA 80930200          sts _STA013_INIT,R24
 06EE                   .dbline 232
 06EE           ;                                           }
 06EE           L98:
 06EE                   .dbline 234
 06EE           ;                                               
 06EE           ;                                        SONG_state=song_start;
 06EE 81E0              ldi R24,1
 06F0 80930000          sts _SONG_state,R24
 06F4                   .dbline 235
 06F4           ;                                        LCD_write_tubiao(0,5,1);
 06F4 8883              std y+0,R24
 06F6 25E0              ldi R18,5
 06F8 0027              clr R16
 06FA 0E940000          xcall _LCD_write_tubiao
 06FE                   .dbline 236
 06FE           ;                                        break;
 06FE 14C0              xjmp L71
 0700           L100:
 0700                   .dbline 239
 0700           ;                                       }
 0700           ;                               case 2:                 //暂停
 0700           ;                                   {
 0700                   .dbline 240
 0700           ;                                        sta_PauseDecoder();
 0700 0E940000          xcall _sta_PauseDecoder
 0704                   .dbline 241
 0704           ;                                        LCD_write_tubiao(0,5,2);
 0704 82E0              ldi R24,2
 0706 8883              std y+0,R24
 0708 25E0              ldi R18,5
 070A 0027              clr R16
 070C 0E940000          xcall _LCD_write_tubiao
 0710                   .dbline 242
 0710           ;                                        break;
 0710 0BC0              xjmp L71
 0712           L101:
 0712                   .dbline 245
 0712           ;                                       }
 0712           ;                               case 3:                 //继续
 0712           ;                                   {
 0712                   .dbline 246
 0712           ;                                        play_state=1;
 0712 81E0              ldi R24,1
 0714 80930000          sts _play_state,R24
 0718                   .dbline 247
 0718           ;                                        sta_ResumeDecoder();
 0718 0E940000          xcall _sta_ResumeDecoder
 071C                   .dbline 248
 071C           ;                                        LCD_write_tubiao(0,5,1);
 071C 81E0              ldi R24,1
 071E 8883              std y+0,R24
 0720 25E0              ldi R18,5
 0722 0027              clr R16
 0724 0E940000          xcall _LCD_write_tubiao
 0728                   .dbline 249
 0728           ;                                        break;
 0728                   .dbline 253
 0728           ;                                       }
 0728           ;                          }
 0728           ;                          
 0728           ;                break;
 0728           L70:
 0728           L71:
 0728                   .dbline 256
 0728           L68:
 0728                   .dbline -2
 0728           L67:
 0728 2196              adiw R28,1
 072A 0E940000          xcall pop_gset1
 072E                   .dbline 0 ; func end
 072E 0895              ret
 0730                   .dbend
                        .area bss(ram, con, rel)
 000B                   .dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\task.c
 000B           L107:
 000B                   .blkb 1
 000C           L108:
 000C                   .blkb 2
 000E           L109:
 000E                   .blkb 2
 0010           L110:
 0010                   .blkb 1
 0011           L111:
 0011                   .blkb 72
 0059           L112:
 0059                   .blkb 72
 00A1           L113:
 00A1                   .blkb 24
                        .area text(rom, con, rel)
 0730                   .dbfile E:\MYWORK~1\开发设计\AVR-MP3\mp3开发板光盘\驱动程序\MP3BOA~1.8\task.c
 0730                   .dbfunc e DISP_task _DISP_task fV
 0730                   .dbsym s piont_24_code L113 A[24:24]c
 0730                   .dbsym s buffer_l L112 A[72:72]c
 0730                   .dbsym s buffer_h L111 A[72:72]c
 0730                   .dbsym s disp_j L110 c
 0730                   .dbsym s disp_i L109 i
 0730                   .dbsym s disp_number L108 i
 0730                   .dbsym s disp_point L107 c
 0730           ;              m -> R22
 0730           ;              n -> R20
                        .even
 0730           _DISP_task::
 0730 0E940000          xcall push_gset2
 0734                   .dbline -1
 0734                   .dbline 261
 0734           ;               }
 0734           ;   }
 0734           ;  }
 0734           ; }
 0734           ; 
 0734           ; //=======================================================================
 0734           ; void DISP_task(void)
 0734           ; {
 0734                   .dbline 273
 0734           ;  static uint8 disp_point;
 0734           ;  static uint16 disp_number;
 0734           ;  static uint16 disp_i;
 0734           ;  static uint8 disp_j;
 0734           ;  static uint8 buffer_h[72];
 0734           ;  static uint8 buffer_l[72];
 0734           ;  static uint8 piont_24_code[24];
 0734           ; 
 0734           ;  uint8 n;
 0734           ;  uint8 m;
 0734           ;  
 0734           ;  if(mp3_info.Name_number) 
 0734 20903400          lds R2,_mp3_info+52
 0738 2220              tst R2
 073A 09F4              brne X23
 073C 5EC1              xjmp L114
 073E           X23:
 073E                   .dbline 274
 073E           ;  {
 073E                   .dbline 275
 073E           ;   if(timer1_over)

⌨️ 快捷键说明

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