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

📄 main.lis

📁 采用Mega16+VS1011B+SD卡制作的Mp3
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0518           ;   PrintConstAscStr(0,0,ScreenStr12[16],16);
 0518 80E1              ldi R24,16
 051A 8A83              std y+2,R24
 051C 80E0              ldi R24,<_ScreenStr12+256
 051E 90E0              ldi R25,>_ScreenStr12+256
 0520 9983              std y+1,R25
 0522 8883              std y+0,R24
 0524 2227              clr R18
 0526 0027              clr R16
 0528 0E940000          xcall _PrintConstAscStr
 052C                   .dbline 249
 052C           ;   PrintConstAscStr(1,0,ScreenStr12[17],16);
 052C 80E1              ldi R24,16
 052E 8A83              std y+2,R24
 0530 80E0              ldi R24,<_ScreenStr12+272
 0532 90E0              ldi R25,>_ScreenStr12+272
 0534 9983              std y+1,R25
 0536 8883              std y+0,R24
 0538 2227              clr R18
 053A 01E0              ldi R16,1
 053C 0E940000          xcall _PrintConstAscStr
 0540                   .dbline 250
 0540           ;   PrintConstAscStr(3,0,ScreenStr12[18],16);
 0540 80E1              ldi R24,16
 0542 8A83              std y+2,R24
 0544 80E0              ldi R24,<_ScreenStr12+288
 0546 90E0              ldi R25,>_ScreenStr12+288
 0548 9983              std y+1,R25
 054A 8883              std y+0,R24
 054C 2227              clr R18
 054E 03E0              ldi R16,3
 0550 0E940000          xcall _PrintConstAscStr
 0554                   .dbline 251
 0554           ;   PrintConstAscStr(6,0,ScreenStr12[20],6);
 0554 86E0              ldi R24,6
 0556 8A83              std y+2,R24
 0558 80E0              ldi R24,<_ScreenStr12+320
 055A 90E0              ldi R25,>_ScreenStr12+320
 055C 9983              std y+1,R25
 055E 8883              std y+0,R24
 0560 2227              clr R18
 0562 06E0              ldi R16,6
 0564 0E940000          xcall _PrintConstAscStr
 0568                   .dbline 252
 0568           ;   PrintConstAscStr(6,64,ScreenStr12[21],6);
 0568 86E0              ldi R24,6
 056A 8A83              std y+2,R24
 056C 80E0              ldi R24,<_ScreenStr12+336
 056E 90E0              ldi R25,>_ScreenStr12+336
 0570 9983              std y+1,R25
 0572 8883              std y+0,R24
 0574 20E4              ldi R18,64
 0576 06E0              ldi R16,6
 0578 0E940000          xcall _PrintConstAscStr
 057C                   .dbline 255
 057C           ;   
 057C           ;   //默认选中第一项:
 057C           ;   PrintOneASCII(0,0,'>');
 057C 8EE3              ldi R24,62
 057E 8883              std y+0,R24
 0580 2227              clr R18
 0582 0027              clr R16
 0584 0E940000          xcall _PrintOneASCII
 0588                   .dbline 256
 0588           ;   PrintOneASCII(1,0,' ');
 0588 80E2              ldi R24,32
 058A 8883              std y+0,R24
 058C 2227              clr R18
 058E 01E0              ldi R16,1
 0590 0E940000          xcall _PrintOneASCII
 0594                   .dbline 258
 0594           ;   
 0594           ;   SB_Amp=((*VBass)&0xF0)>>4; //取高四位
 0594 ED85              ldd R30,y+13
 0596 FE85              ldd R31,y+14
 0598 8081              ldd R24,z+0
 059A 807F              andi R24,240
 059C 8295              swap R24
 059E 8F70              andi R24,#0x0F
 05A0 A82E              mov R10,R24
 05A2                   .dbline 259
 05A2           ;   SB_Freq=(*VBass)&0x0F;//取低四位
 05A2 6081              ldd R22,z+0
 05A4 6F70              andi R22,15
 05A6                   .dbline 261
 05A6           ;   //显示当前音量:
 05A6           ;   DisplayNumChar(6,16,SB_Amp,2);
 05A6 82E0              ldi R24,2
 05A8 8A83              std y+2,R24
 05AA A882              std y+0,R10
 05AC 20E1              ldi R18,16
 05AE 06E0              ldi R16,6
 05B0 34DD              xcall _DisplayNumChar
 05B2                   .dbline 262
 05B2           ;   DisplayNumChar(6,80,SB_Freq,2);
 05B2 82E0              ldi R24,2
 05B4 8A83              std y+2,R24
 05B6 6883              std y+0,R22
 05B8 20E5              ldi R18,80
 05BA 06E0              ldi R16,6
 05BC 2EDD              xcall _DisplayNumChar
 05BE                   .dbline 264
 05BE           ;   
 05BE           ;   KeyIni();KeyInput();
 05BE 88B3              in R24,0x18
 05C0 8F60              ori R24,15
 05C2 88BB              out 0x18,R24
 05C4                   .dbline 264
 05C4 87B3              in R24,0x17
 05C6 807F              andi R24,240
 05C8 87BB              out 0x17,R24
 05CA DAC0              xjmp L71
 05CC           L70:
 05CC                   .dbline 266
 05CC           ;   while(1)
 05CC           ;   {
 05CC                   .dbline 267
 05CC           ;   if(KeySt02==0)        //--
 05CC 86B3              in R24,0x16
 05CE 8270              andi R24,2
 05D0 86BB              out 0x16,R24
 05D2 8823              tst R24
 05D4 51F5              brne L73
 05D6           X26:
 05D6                   .dbline 268
 05D6           ;   {
 05D6                   .dbline 270
 05D6           ;       //等待该键释放
 05D6           ;       Delay(200);
 05D6 08EC              ldi R16,200
 05D8 10E0              ldi R17,0
 05DA 0E940000          xcall _Delay
 05DE 04C0              xjmp L76
 05E0           L75:
 05E0                   .dbline 271
 05E0           ;       while(KeySt02==0) Delay(200);   
 05E0 08EC              ldi R16,200
 05E2 10E0              ldi R17,0
 05E4 0E940000          xcall _Delay
 05E8           L76:
 05E8                   .dbline 271
 05E8 86B3              in R24,0x16
 05EA 8270              andi R24,2
 05EC 86BB              out 0x16,R24
 05EE 8823              tst R24
 05F0 B9F3              breq L75
 05F2           X27:
 05F2                   .dbline 272
 05F2           ;       if(hl==0) SB_Amp=(--SB_Amp)&0x0F;
 05F2 CC20              tst R12
 05F4 31F4              brne L78
 05F6           X28:
 05F6                   .dbline 272
 05F6 4A2D              mov R20,R10
 05F8 4150              subi R20,1
 05FA 842F              mov R24,R20
 05FC 8F70              andi R24,15
 05FE A82E              mov R10,R24
 0600 07C0              xjmp L79
 0602           L78:
 0602                   .dbline 274
 0602           ;       else 
 0602           ;       {
 0602                   .dbline 275
 0602           ;          SB_Freq=(--SB_Freq)&0x0F; 
 0602 462F              mov R20,R22
 0604 4150              subi R20,1
 0606 642F              mov R22,R20
 0608 6F70              andi R22,15
 060A                   .dbline 276
 060A           ;          if(SB_Freq<2) SB_Freq=2;
 060A 6230              cpi R22,2
 060C 08F4              brsh L80
 060E           X29:
 060E                   .dbline 276
 060E 62E0              ldi R22,2
 0610           L80:
 0610                   .dbline 277
 0610           ;       }
 0610           L79:
 0610                   .dbline 279
 0610           ;       //显示当前音量:
 0610           ;     DisplayNumChar(6,16,SB_Amp,2);
 0610 82E0              ldi R24,2
 0612 8A83              std y+2,R24
 0614 A882              std y+0,R10
 0616 20E1              ldi R18,16
 0618 06E0              ldi R16,6
 061A FFDC              xcall _DisplayNumChar
 061C                   .dbline 280
 061C           ;     DisplayNumChar(6,80,SB_Freq,2);
 061C 82E0              ldi R24,2
 061E 8A83              std y+2,R24
 0620 6883              std y+0,R22
 0622 20E5              ldi R18,80
 0624 06E0              ldi R16,6
 0626 F9DC              xcall _DisplayNumChar
 0628                   .dbline 281
 0628           ;   } 
 0628 8DC0              xjmp L74
 062A           L73:
 062A                   .dbline 282
 062A           ;   else if(KeySt03==0)   //++
 062A 46B3              in R20,0x16
 062C 4470              andi R20,4
 062E 46BB              out 0x16,R20
 0630 4423              tst R20
 0632 39F5              brne L82
 0634           X30:
 0634                   .dbline 283
 0634           ;   {
 0634                   .dbline 285
 0634           ;       //等待该键释放
 0634           ;       Delay(200);
 0634 08EC              ldi R16,200
 0636 10E0              ldi R17,0
 0638 0E940000          xcall _Delay
 063C 04C0              xjmp L85
 063E           L84:
 063E                   .dbline 286
 063E           ;       while(KeySt03==0) Delay(200);    
 063E 08EC              ldi R16,200
 0640 10E0              ldi R17,0
 0642 0E940000          xcall _Delay
 0646           L85:
 0646                   .dbline 286
 0646 46B3              in R20,0x16
 0648 4470              andi R20,4
 064A 46BB              out 0x16,R20
 064C 4423              tst R20
 064E B9F3              breq L84
 0650           X31:
 0650                   .dbline 287
 0650           ;       if(hl==0) SB_Amp=(++SB_Amp)&0x0F;
 0650 CC20              tst R12
 0652 31F4              brne L87
 0654           X32:
 0654                   .dbline 287
 0654 4A2D              mov R20,R10
 0656 4F5F              subi R20,255    ; addi 1
 0658 842F              mov R24,R20
 065A 8F70              andi R24,15
 065C A82E              mov R10,R24
 065E 04C0              xjmp L88
 0660           L87:
 0660                   .dbline 288
 0660           ;       else SB_Freq=(++SB_Freq)&0x0F;
 0660 462F              mov R20,R22
 0662 4F5F              subi R20,255    ; addi 1
 0664 642F              mov R22,R20
 0666 6F70              andi R22,15
 0668           L88:
 0668                   .dbline 290
 0668           ;       //显示当前音量:
 0668           ;     DisplayNumChar(6,16,SB_Amp,2);
 0668 82E0              ldi R24,2
 066A 8A83              std y+2,R24
 066C A882              std y+0,R10
 066E 20E1              ldi R18,16
 0670 06E0              ldi R16,6
 0672 D3DC              xcall _DisplayNumChar
 0674                   .dbline 291
 0674           ;     DisplayNumChar(6,80,SB_Freq,2);
 0674 82E0              ldi R24,2
 0676 8A83              std y+2,R24
 0678 6883              std y+0,R22
 067A 20E5              ldi R18,80
 067C 06E0              ldi R16,6
 067E CDDC              xcall _DisplayNumChar
 0680                   .dbline 292
 0680           ;   }
 0680 61C0              xjmp L83
 0682           L82:
 0682                   .dbline 293
 0682           ;   else if(KeySt04==0)    //确定退出
 0682 46B3              in R20,0x16
 0684 4870              andi R20,8
 0686 46BB              out 0x16,R20
 0688 4423              tst R20
 068A 09F0              breq X43
 068C 38C0              xjmp L89
 068E           X43:
 068E           X33:
 068E                   .dbline 294
 068E           ;   {//等待该键释放
 068E                   .dbline 295
 068E           ;     Delay(200);
 068E 08EC              ldi R16,200
 0690 10E0              ldi R17,0
 0692 0E940000          xcall _Delay
 0696 04C0              xjmp L92
 0698           L91:
 0698                   .dbline 296
 0698           ;       while(KeySt04==0) Delay(200);   
 0698 08EC              ldi R16,200
 069A 10E0              ldi R17,0
 069C 0E940000          xcall _Delay
 06A0           L92:
 06A0                   .dbline 296
 06A0 46B3              in R20,0x16
 06A2 4870              andi R20,8
 06A4 46BB              out 0x16,R20
 06A6 4423              tst R20
 06A8 B9F3              breq L91
 06AA           X34:
 06AA                   .dbline 297
 06AA           ;       hl=(++hl)%2;
 06AA 4C2D              mov R20,R12
 06AC 4F5F              subi R20,255    ; addi 1
 06AE 12E0              ldi R17,2
 06B0 042F              mov R16,R20
 06B2 0E940000          xcall

⌨️ 快捷键说明

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