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

📄 playedit.lis

📁 mega128+VS1003做的mp3的程序 可以用WINAVR编译
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 053C           ; /*
 053C           ; 编辑
 053C           ; */                                    
 053C           ; void Play_Edit(uchar data)
 053C           ; {
 053C                   .dbline 134
 053C           ;  uchar day;
 053C           ;  uchar temp;
 053C           ;  uchar active[8];
 053C           ;  uchar move;
 053C           ;  struct fileinfor FILE[8];
 053C           ;  uint point;
 053C           ;  //检查空间
 053C           ; 
 053C           ;  point = 0;
 053C 0024              clr R0
 053E 1124              clr R1
 0540 FE01              movw R30,R28
 0542 E05F              subi R30,240  ; addi 272
 0544 FE4F              sbci R31,254
 0546 1182              std z+1,R1
 0548 0082              std z+0,R0
 054A                   .dbline 135
 054A           ;  point += 8*data*sizeof(FILE[0]);
 054A 88E0              ldi R24,8
 054C 849F              mul R24,R20
 054E 80E2              ldi R24,32
 0550 809D              mul R24,R0
 0552 FE01              movw R30,R28
 0554 E05F              subi R30,240  ; addi 272
 0556 FE4F              sbci R31,254
 0558 0081              ldd R16,z+0
 055A 1181              ldd R17,z+1
 055C 000D              add R16,R0
 055E 111D              adc R17,R1
 0560 FE01              movw R30,R28
 0562 E05F              subi R30,240  ; addi 272
 0564 FE4F              sbci R31,254
 0566 1183              std z+1,R17
 0568 0083              std z+0,R16
 056A                   .dbline 137
 056A           ;  
 056A           ;  for(day=0; day<8; day++)
 056A 6627              clr R22
 056C 1DC0              xjmp L91
 056E           L88:
 056E                   .dbline 138
 056E                   .dbline 139
 056E FE01              movw R30,R28
 0570 E05F              subi R30,240  ; addi 272
 0572 FE4F              sbci R31,254
 0574 8081              ldd R24,z+0
 0576 9181              ldd R25,z+1
 0578 8096              adiw R24,32
 057A FE01              movw R30,R28
 057C E05F              subi R30,240  ; addi 272
 057E FE4F              sbci R31,254
 0580 9183              std z+1,R25
 0582 8083              std z+0,R24
 0584                   .dbline 140
 0584 80E2              ldi R24,32
 0586 90E0              ldi R25,0
 0588 9983              std y+1,R25
 058A 8883              std y+0,R24
 058C 869F              mul R24,R22
 058E 9001              movw R18,R0
 0590 CE01              movw R24,R28
 0592 4096              adiw R24,16
 0594 280F              add R18,R24
 0596 391F              adc R19,R25
 0598 FE01              movw R30,R28
 059A E05F              subi R30,240  ; addi 272
 059C FE4F              sbci R31,254
 059E 0081              ldd R16,z+0
 05A0 1181              ldd R17,z+1
 05A2 0E940000          xcall _EEPROMReadBytes
 05A6                   .dbline 141
 05A6           L89:
 05A6                   .dbline 137
 05A6 6395              inc R22
 05A8           L91:
 05A8                   .dbline 137
 05A8 6830              cpi R22,8
 05AA 08F3              brlo L88
 05AC                   .dbline 142
 05AC           ;     {
 05AC           ;        point += sizeof(FILE[day]);
 05AC           ;        EEPROMReadBytes(point,&FILE[day],sizeof(FILE[day]));
 05AC           ;     } 
 05AC           ;  day = 0;
 05AC 6627              clr R22
 05AE                   .dbline 143
 05AE           ;  for(temp=0; temp<8; temp++)
 05AE 4427              clr R20
 05B0 13C0              xjmp L95
 05B2           L92:
 05B2                   .dbline 144
 05B2           ;  {
 05B2                   .dbline 145
 05B2           ;   if(FILE[temp].active == 0x55) {active[day] = temp;day++;} 
 05B2 80E2              ldi R24,32
 05B4 849F              mul R24,R20
 05B6 F001              movw R30,R0
 05B8 CE01              movw R24,R28
 05BA 8C96              adiw R24,44
 05BC E80F              add R30,R24
 05BE F91F              adc R31,R25
 05C0 8081              ldd R24,z+0
 05C2 8535              cpi R24,85
 05C4 41F4              brne L96
 05C6                   .dbline 145
 05C6                   .dbline 145
 05C6 CE01              movw R24,R28
 05C8 0896              adiw R24,8
 05CA E62F              mov R30,R22
 05CC FF27              clr R31
 05CE E80F              add R30,R24
 05D0 F91F              adc R31,R25
 05D2 4083              std z+0,R20
 05D4                   .dbline 145
 05D4 6395              inc R22
 05D6                   .dbline 145
 05D6           L96:
 05D6                   .dbline 146
 05D6           L93:
 05D6                   .dbline 143
 05D6 4395              inc R20
 05D8           L95:
 05D8                   .dbline 143
 05D8 4830              cpi R20,8
 05DA 58F3              brlo L92
 05DC                   .dbline 147
 05DC           ;  } 
 05DC           ;  active[day] = 0xff;
 05DC CE01              movw R24,R28
 05DE 0896              adiw R24,8
 05E0 E62F              mov R30,R22
 05E2 FF27              clr R31
 05E4 E80F              add R30,R24
 05E6 F91F              adc R31,R25
 05E8 8FEF              ldi R24,255
 05EA 8083              std z+0,R24
 05EC                   .dbline 148
 05EC           ;  Print_val(day);
 05EC 062F              mov R16,R22
 05EE 1127              clr R17
 05F0 0E940000          xcall _Print_val
 05F4                   .dbline 149
 05F4           ;  day = 0;
 05F4 6627              clr R22
 05F6                   .dbline 150
 05F6           ;  temp = 0;
 05F6 4427              clr R20
 05F8 BFC1              xjmp L100
 05FA           L99:
 05FA                   .dbline 151
 05FA           ;  while(1){ //显示出来
 05FA                   .dbline 152
 05FA           ;                   show_clear();
 05FA 0E940000          xcall _show_clear
 05FE                   .dbline 153
 05FE           ;                       show_lcd(0, 0, 192, 2, &show_main[0],0);
 05FE 2224              clr R2
 0600 3324              clr R3
 0602 3F82              std y+7,R3
 0604 2E82              std y+6,R2
 0606 80E0              ldi R24,<_show_main
 0608 90E0              ldi R25,>_show_main
 060A 9D83              std y+5,R25
 060C 8C83              std y+4,R24
 060E 82E0              ldi R24,2
 0610 90E0              ldi R25,0
 0612 9B83              std y+3,R25
 0614 8A83              std y+2,R24
 0616 80EC              ldi R24,192
 0618 9983              std y+1,R25
 061A 8883              std y+0,R24
 061C 2227              clr R18
 061E 3327              clr R19
 0620 0027              clr R16
 0622 1127              clr R17
 0624 0E940000          xcall _show_lcd
 0628                   .dbline 154
 0628           ;                       move = 0;
 0628 EE24              clr R14
 062A                   .dbline 155
 062A           ;                                    if(active[day]   == 0xff) goto NEXT; 
 062A CE01              movw R24,R28
 062C 0896              adiw R24,8
 062E E62F              mov R30,R22
 0630 FF27              clr R31
 0632 E80F              add R30,R24
 0634 F91F              adc R31,R25
 0636 8081              ldd R24,z+0
 0638 8F3F              cpi R24,255
 063A 09F4              brne L102
 063C                   .dbline 155
 063C 71C0              xjmp L104
 063E           L102:
 063E                   .dbline 156
 063E           ;                                if(active[day]   != 0xff){move += 1; 
 063E CE01              movw R24,R28
 0640 0896              adiw R24,8
 0642 E62F              mov R30,R22
 0644 FF27              clr R31
 0646 E80F              add R30,R24
 0648 F91F              adc R31,R25
 064A 8081              ldd R24,z+0
 064C 8F3F              cpi R24,255
 064E B1F0              breq L105
 0650                   .dbline 156
 0650                   .dbline 156
 0650 E394              inc R14
 0652                   .dbline 157
 0652           ;                                                                                     show_name(&FILE[active[day]],2,0);
 0652 2224              clr R2
 0654 3324              clr R3
 0656 3982              std y+1,R3
 0658 2882              std y+0,R2
 065A 22E0              ldi R18,2
 065C 30E0              ldi R19,0
 065E CE01              movw R24,R28
 0660 0896              adiw R24,8
 0662 E62F              mov R30,R22
 0664 FF27              clr R31
 0666 E80F              add R30,R24
 0668 F91F              adc R31,R25
 066A 2080              ldd R2,z+0
 066C 80E2              ldi R24,32
 066E 829D              mul R24,R2
 0670 8001              movw R16,R0
 0672 CE01              movw R24,R28
 0674 4096              adiw R24,16
 0676 080F              add R16,R24
 0678 191F              adc R17,R25
 067A 87D1              xcall _show_name
 067C                   .dbline 158
 067C           ;                                                                                        }
 067C           L105:
 067C                   .dbline 159
 067C           ;                                    if(active[day+1]   == 0xff) goto NEXT;                                                                                                                              
 067C CE01              movw R24,R28
 067E 0996              adiw R24,9
 0680 E62F              mov R30,R22
 0682 FF27              clr R31
 0684 E80F              add R30,R24
 0686 F91F              adc R31,R25
 0688 8081              ldd R24,z+0
 068A 8F3F              cpi R24,255
 068C 09F4              brne L107
 068E                   .dbline 159
 068E 48C0              xjmp L104
 0690           L107:
 0690                   .dbline 160
 0690           ;                                        if(active[day+1] != 0xff) {move += 1;
 0690 CE01              movw R24,R28
 0692 0996              adiw R24,9
 0694 E62F              mov R30,R22
 0696 FF27              clr R31
 0698 E80F              add R30,R24
 069A F91F              adc R31,R25
 069C 8081              ldd R24,z+0
 069E 8F3F              cpi R24,255
 06A0 B1F0              breq L110
 06A2                   .dbline 160
 06A2                   .dbline 160
 06A2 E394              inc R14
 06A4                   .dbline 161
 06A4           ;                                                                 show_name(&FILE[active[day+1]],4,0);
 06A4 2224              clr R2
 06A6 3324              clr R3
 06A8 3982              std y+1,R3
 06AA 2882              std y+0,R2
 06AC 24E0              ldi R18,4
 06AE 30E0              ldi R19,0
 06B0 CE01              movw R24,R28
 06B2 0996              adiw R24,9
 06B4 E62F              mov R30,R22
 06B6 FF27              clr R31
 06B8 E80F              add R30,R24
 06BA F91F              adc R31,R25
 06BC 2080              ldd R2,z+0
 06BE 80E2              ldi R24,32
 06C0 829D              mul R24,R2
 06C2 8001              movw R16,R0
 06C4 CE01              movw R24,R28
 06C6 4096              adiw R24,16
 06C8 080F              add R16,R24
 06CA 191F              adc R17,R25
 06CC 5ED1              xcall _show_name
 06CE                   .dbline 162
 06CE           ;                                                                                        } 
 06CE           L110:
 06CE                   .dbline 163
 06CE           ;                                        if(active[day+2]   == 0xff) goto NEXT;
 06CE CE01              movw R24,R28
 06D0 0A96              adiw R24,10
 06D2 E62F              mov R30,R22
 06D4 FF27              clr R31
 06D6 E80F              add R30,R24
 06D8 F91F              adc R31,R25
 06DA 8081              ldd R24,z+0
 06DC 8F3F              cpi R24,255
 06DE 09F4              brne L114
 06E0                   .dbline 163
 06E0 1FC0              xjmp L104
 06E2           L114:
 06E2                   .dbline 164
 06E2           ;                                    if(active[day+2] != 0xff) {move += 1;
 06E2 CE01              movw R24,R28
 06E4 0A96              adiw R24,10
 06E6 E62F              mov R30,R22
 06E8 FF27              clr R31
 06EA E80F              add R30,R24
 06EC F91F              adc R31,R25
 06EE 8081              ldd R24,z+0
 06F0 8F3F              cpi R24,255
 06F2 B1F0              breq L117
 06F4                   .dbline 164
 06F4                   .dbline 164
 06F4 E394              inc R14
 06F6                   .dbline 165
 06F6           ;                                                                 show_name(&FILE[active[day+2]],6,0);
 06F6 2224              clr R2
 06F8 3324              clr R3

⌨️ 快捷键说明

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