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

📄 vs1001.lis

📁 使用硬盘制作mp3的源程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 021E 00E0              ldi R16,256
 0220 11E0              ldi R17,1
 0222 9A01              movw R18,R20
 0224 0E940000          xcall empy16s
 0228 1801              movw R2,R16
 022A 240E              add R2,R20
 022C 351E              adc R3,R21
 022E 4A80              ldd R4,y+2
 0230 5B80              ldd R5,y+3
 0232 4214              cp R4,R2
 0234 5304              cpc R5,R3
 0236 11F0              breq L38
 0238                   .dbline 129
 0238 0027              clr R16
 023A 07C0              xjmp L33
 023C           L38:
 023C                   .dbline 130
 023C           L35:
 023C                   .dbline 123
 023C 4F5F              subi R20,255  ; offset = 1
 023E 5F4F              sbci R21,255
 0240           L37:
 0240                   .dbline 123
 0240 4431              cpi R20,20
 0242 E0E0              ldi R30,0
 0244 5E07              cpc R21,R30
 0246 68F2              brlo L34
 0248                   .dbline 131
 0248           ;       }
 0248           ; return 1;
 0248 01E0              ldi R16,1
 024A                   .dbline -2
 024A           L33:
 024A AA96              adiw R28,42
 024C 0E940000          xcall pop_gset1
 0250                   .dbline 0 ; func end
 0250 0895              ret
 0252                   .dbsym l buf 2 A[40:20]i
 0252                   .dbsym r j 20 i
 0252                   .dbend
 0252                   .dbfunc e Sine_On _Sine_On fV
 0252           ;              i -> <dead>
 0252           ;            buf -> y+0
 0252           ;           Freq -> R20
                        .even
 0252           _Sine_On::
 0252 0E940000          xcall push_gset1
 0256 402F              mov R20,R16
 0258 2497              sbiw R28,4
 025A                   .dbline -1
 025A                   .dbline 138
 025A           ; }
 025A           ; 
 025A           ; //*************************************
 025A           ; // void Sine_On(unsigned char Freq)
 025A           ; //*************************************
 025A           ; void Sine_On(unsigned char Freq)
 025A           ; {
 025A                   .dbline 141
 025A           ; unsigned char i,buf[4];
 025A           ; 
 025A           ; buf[0] = 0x53;
 025A 83E5              ldi R24,83
 025C 8883              std y+0,R24
 025E                   .dbline 142
 025E           ; buf[1] = 0xef;
 025E 8FEE              ldi R24,239
 0260 8983              std y+1,R24
 0262                   .dbline 143
 0262           ; buf[2] = 0x6e;
 0262 8EE6              ldi R24,110
 0264 8A83              std y+2,R24
 0266                   .dbline 144
 0266           ; buf[3] = Freq;
 0266 4B83              std y+3,R20
 0268                   .dbline 145
 0268           ; VS1001_Stream(&buf[0],4);
 0268 24E0              ldi R18,4
 026A 8E01              movw R16,R28
 026C 27DF              xcall _VS1001_Stream
 026E                   .dbline 147
 026E           ; 
 026E           ; buf[0] = 0x00;
 026E 2224              clr R2
 0270 2882              std y+0,R2
 0272                   .dbline 148
 0272           ; buf[1] = 0x00;
 0272 2982              std y+1,R2
 0274                   .dbline 149
 0274           ; buf[2] = 0x00;
 0274 2A82              std y+2,R2
 0276                   .dbline 150
 0276           ; buf[3] = 0x00;
 0276 2B82              std y+3,R2
 0278                   .dbline 151
 0278           ; VS1001_Stream(&buf[0],4);
 0278 24E0              ldi R18,4
 027A 8E01              movw R16,R28
 027C 1FDF              xcall _VS1001_Stream
 027E                   .dbline -2
 027E           L40:
 027E 2496              adiw R28,4
 0280 0E940000          xcall pop_gset1
 0284                   .dbline 0 ; func end
 0284 0895              ret
 0286                   .dbsym l i 1 c
 0286                   .dbsym l buf 0 A[4:4]c
 0286                   .dbsym r Freq 20 c
 0286                   .dbend
 0286                   .dbfunc e Sine_Off _Sine_Off fV
 0286           ;              i -> <dead>
 0286           ;            buf -> y+0
                        .even
 0286           _Sine_Off::
 0286 2497              sbiw R28,4
 0288                   .dbline -1
 0288                   .dbline 158
 0288           ; }
 0288           ; 
 0288           ; //*************************************
 0288           ; // void Sine_Off(void)
 0288           ; //*************************************
 0288           ; void Sine_Off(void)
 0288           ; {
 0288                   .dbline 161
 0288           ; unsigned char i,buf[4];
 0288           ; 
 0288           ; buf[0] = 0x45;
 0288 85E4              ldi R24,69
 028A 8883              std y+0,R24
 028C                   .dbline 162
 028C           ; buf[1] = 0x78;
 028C 88E7              ldi R24,120
 028E 8983              std y+1,R24
 0290                   .dbline 163
 0290           ; buf[2] = 0x69;
 0290 89E6              ldi R24,105
 0292 8A83              std y+2,R24
 0294                   .dbline 164
 0294           ; buf[3] = 0x74;
 0294 84E7              ldi R24,116
 0296 8B83              std y+3,R24
 0298                   .dbline 165
 0298           ; VS1001_Stream(&buf[0],4);
 0298 24E0              ldi R18,4
 029A 8E01              movw R16,R28
 029C 0FDF              xcall _VS1001_Stream
 029E                   .dbline 167
 029E           ; 
 029E           ; buf[0] = 0x00;
 029E 2224              clr R2
 02A0 2882              std y+0,R2
 02A2                   .dbline 168
 02A2           ; buf[1] = 0x00;
 02A2 2982              std y+1,R2
 02A4                   .dbline 169
 02A4           ; buf[2] = 0x00;
 02A4 2A82              std y+2,R2
 02A6                   .dbline 170
 02A6           ; buf[3] = 0x00;
 02A6 2B82              std y+3,R2
 02A8                   .dbline 171
 02A8           ; VS1001_Stream(&buf[0],4);
 02A8 24E0              ldi R18,4
 02AA 8E01              movw R16,R28
 02AC 07DF              xcall _VS1001_Stream
 02AE                   .dbline -2
 02AE           L47:
 02AE 2496              adiw R28,4
 02B0                   .dbline 0 ; func end
 02B0 0895              ret
 02B2                   .dbsym l i 1 c
 02B2                   .dbsym l buf 0 A[4:4]c
 02B2                   .dbend
 02B2                   .dbfunc e Sine_Sweep _Sine_Sweep fV
 02B2           ;              i -> R20
                        .even
 02B2           _Sine_Sweep::
 02B2 0E940000          xcall push_gset1
 02B6                   .dbline -1
 02B6                   .dbline 178
 02B6           ; }
 02B6           ; 
 02B6           ; //*************************************
 02B6           ; // void Sine_Sweep(void)
 02B6           ; //*************************************
 02B6           ; void Sine_Sweep(void)
 02B6           ; {
 02B6                   .dbline 181
 02B6           ; unsigned char i;
 02B6           ; 
 02B6           ; for (i=48;i<119;i++)
 02B6 40E3              ldi R20,48
 02B8 08C0              xjmp L58
 02BA           L55:
 02BA                   .dbline 182
 02BA                   .dbline 183
 02BA E5DF              xcall _Sine_Off
 02BC                   .dbline 184
 02BC 042F              mov R16,R20
 02BE C9DF              xcall _Sine_On
 02C0                   .dbline 185
 02C0 09E1              ldi R16,25
 02C2 10E0              ldi R17,0
 02C4 0E940000          xcall _delay_ms
 02C8                   .dbline 186
 02C8           L56:
 02C8                   .dbline 181
 02C8 4395              inc R20
 02CA           L58:
 02CA                   .dbline 181
 02CA 4737              cpi R20,119
 02CC B0F3              brlo L55
 02CE                   .dbline 187
 02CE           ;       {
 02CE           ;       Sine_Off();
 02CE           ;       Sine_On(i);
 02CE           ;       delay_ms(25);
 02CE           ;       }
 02CE           ; Sine_Off();
 02CE DBDF              xcall _Sine_Off
 02D0                   .dbline -2
 02D0           L54:
 02D0 0E940000          xcall pop_gset1
 02D4                   .dbline 0 ; func end
 02D4 0895              ret
 02D6                   .dbsym r i 20 c
 02D6                   .dbend
 02D6                   .dbfunc e VS1001_SetVolume _VS1001_SetVolume fV
 02D6           ;            buf -> y+2
 02D6           ;          Right -> R20
 02D6           ;           Left -> R22
                        .even
 02D6           _VS1001_SetVolume::
 02D6 0E940000          xcall push_gset2
 02DA 422F              mov R20,R18
 02DC 602F              mov R22,R16
 02DE 2697              sbiw R28,6
 02E0                   .dbline -1
 02E0                   .dbline 194
 02E0           ; }
 02E0           ; 
 02E0           ; //*************************************
 02E0           ; // void VS1001_SetVolume(unsigned char Left,unsigned char Right)
 02E0           ; //*************************************
 02E0           ; void VS1001_SetVolume(unsigned char Left,unsigned char Right)
 02E0           ; {
 02E0                   .dbline 197
 02E0           ; unsigned int buf[2];
 02E0           ; 
 02E0           ; buf[0] = (((unsigned int)Left) << 8) | ((unsigned int)Right);
 02E0 362E              mov R3,R22
 02E2 242E              mov R2,R20
 02E4 3B82              std y+3,R3
 02E6 2A82              std y+2,R2
 02E8                   .dbline 198
 02E8           ; VS1001_Write(11,1,buf);
 02E8 CE01              movw R24,R28
 02EA 0296              adiw R24,2
 02EC 9983              std y+1,R25
 02EE 8883              std y+0,R24
 02F0 21E0              ldi R18,1
 02F2 30E0              ldi R19,0
 02F4 0BE0              ldi R16,11
 02F6 BEDE              xcall _VS1001_Write
 02F8                   .dbline -2
 02F8           L59:
 02F8 2696              adiw R28,6
 02FA 0E940000          xcall pop_gset2
 02FE                   .dbline 0 ; func end
 02FE 0895              ret
 0300                   .dbsym l buf 2 A[4:2]i
 0300                   .dbsym r Right 20 c
 0300                   .dbsym r Left 22 c
 0300                   .dbend

⌨️ 快捷键说明

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