📄 vs1003.lis
字号:
00EA .dbline 162
00EA ; VS1003_XRESET_SET(); //使能芯片
00EA AE9A sbi 0x15,6
00EC .dbline 163
00EC ; delay_ms(500);
00EC 04EF ldi R16,244
00EE 11E0 ldi R17,1
00F0 20E0 ldi R18,0
00F2 30E0 ldi R19,0
00F4 0E940000 xcall _delay_ms
00F8 L11:
00F8 .dbline 165
00F8 ;
00F8 ; while(VS1003_DREQ_STATE() != VS1003_DREQ);
00F8 L12:
00F8 .dbline 165
00F8 83B3 in R24,0x13
00FA 8078 andi R24,128
00FC 8038 cpi R24,128
00FE E1F7 brne L11
0100 X1:
0100 .dbline 167
0100 ;
0100 ; VS1003_WriteReg(0x00,0x0804);
0100 24E0 ldi R18,2052
0102 38E0 ldi R19,8
0104 0027 clr R16
0106 81DF xcall _VS1003_WriteReg
0108 L14:
0108 .dbline 169
0108 ;
0108 ; while(VS1003_DREQ_STATE() != VS1003_DREQ);
0108 L15:
0108 .dbline 169
0108 83B3 in R24,0x13
010A 8078 andi R24,128
010C 8038 cpi R24,128
010E E1F7 brne L14
0110 X2:
0110 .dbline 171
0110 ;
0110 ; VS1003_WriteReg(0x03,0x9800);
0110 20E0 ldi R18,38912
0112 38E9 ldi R19,152
0114 03E0 ldi R16,3
0116 79DF xcall _VS1003_WriteReg
0118 L17:
0118 .dbline 173
0118 ;
0118 ; while(VS1003_DREQ_STATE() != VS1003_DREQ);
0118 L18:
0118 .dbline 173
0118 83B3 in R24,0x13
011A 8078 andi R24,128
011C 8038 cpi R24,128
011E E1F7 brne L17
0120 X3:
0120 .dbline 175
0120 ;
0120 ; VS1003_WriteReg(0x05,0xB199);
0120 29E9 ldi R18,45465
0122 31EB ldi R19,177
0124 05E0 ldi R16,5
0126 71DF xcall _VS1003_WriteReg
0128 L20:
0128 .dbline 177
0128 ;
0128 ; while(VS1003_DREQ_STATE() != VS1003_DREQ);
0128 L21:
0128 .dbline 177
0128 83B3 in R24,0x13
012A 8078 andi R24,128
012C 8038 cpi R24,128
012E E1F7 brne L20
0130 X4:
0130 .dbline 179
0130 ;
0130 ; VS1003_WriteReg(0x02,0x0055);
0130 25E5 ldi R18,85
0132 30E0 ldi R19,0
0134 02E0 ldi R16,2
0136 69DF xcall _VS1003_WriteReg
0138 L23:
0138 .dbline 181
0138 ;
0138 ; while(VS1003_DREQ_STATE() != VS1003_DREQ);
0138 L24:
0138 .dbline 181
0138 83B3 in R24,0x13
013A 8078 andi R24,128
013C 8038 cpi R24,128
013E E1F7 brne L23
0140 X5:
0140 .dbline 183
0140 ;
0140 ; VS1003_WriteReg(VS1003_SPI_VOL ,VOL_BUFFER[VOL]);
0140 80E0 ldi R24,<_VOL_BUFFER
0142 90E0 ldi R25,>_VOL_BUFFER
0144 E0910400 lds R30,_VOL
0148 F0910500 lds R31,_VOL+1
014C EE0F lsl R30
014E FF1F rol R31
0150 E80F add R30,R24
0152 F91F adc R31,R25
0154 2081 ldd R18,z+0
0156 3181 ldd R19,z+1
0158 0BE0 ldi R16,11
015A 57DF xcall _VS1003_WriteReg
015C L26:
015C .dbline 185
015C ;
015C ; while(VS1003_DREQ_STATE() != VS1003_DREQ);
015C L27:
015C .dbline 185
015C 83B3 in R24,0x13
015E 8078 andi R24,128
0160 8038 cpi R24,128
0162 E1F7 brne L26
0164 X6:
0164 .dbline 186
0164 ; VS1003_WriteReg(0x05,0xB199);
0164 29E9 ldi R18,45465
0166 31EB ldi R19,177
0168 05E0 ldi R16,5
016A 4FDF xcall _VS1003_WriteReg
016C L29:
016C .dbline 188
016C ;
016C ; while(VS1003_DREQ_STATE() != VS1003_DREQ);
016C L30:
016C .dbline 188
016C 83B3 in R24,0x13
016E 8078 andi R24,128
0170 8038 cpi R24,128
0172 E1F7 brne L29
0174 X7:
0174 .dbline 189
0174 ; VS1003_WriteReg(0x05,0xB199);
0174 29E9 ldi R18,45465
0176 31EB ldi R19,177
0178 05E0 ldi R16,5
017A 47DF xcall _VS1003_WriteReg
017C L32:
017C .dbline 191
017C ;
017C ; while(VS1003_DREQ_STATE() != VS1003_DREQ);
017C L33:
017C .dbline 191
017C 83B3 in R24,0x13
017E 8078 andi R24,128
0180 8038 cpi R24,128
0182 E1F7 brne L32
0184 X8:
0184 .dbline 193
0184 ;
0184 ; return 1;
0184 01E0 ldi R16,1
0186 .dbline -2
0186 L10:
0186 .dbline 0 ; func end
0186 0895 ret
0188 .dbend
0188 .dbfunc e VS1003_SendNull _VS1003_SendNull fV
0188 ; i -> y+0
.even
0188 _VS1003_SendNull::
0188 2497 sbiw R28,4
018A .dbline -1
018A .dbline 204
018A ;
018A ; }
018A ;
018A ;
018A ; //---------------------------------
018A ; //
018A ; // VS1003空数据发送函数
018A ; //
018A ; //---------------------------------
018A ; void VS1003_SendNull(void)
018A ; {
018A .dbline 205
018A ; uint32 i=0;
018A 80E0 ldi R24,0
018C 90E0 ldi R25,0
018E A0E0 ldi R26,0
0190 B0E0 ldi R27,0
0192 8883 std y+0,R24
0194 9983 std y+1,R25
0196 AA83 std y+2,R26
0198 BB83 std y+3,R27
019A L36:
019A .dbline 207
019A ; do
019A ; {
019A .dbline 208
019A ; if(VS1003_DREQ_STATE()== VS1003_DREQ)
019A 83B3 in R24,0x13
019C 8078 andi R24,128
019E 8038 cpi R24,128
01A0 91F4 brne L39
01A2 X9:
01A2 .dbline 209
01A2 ; {
01A2 .dbline 210
01A2 ; VS1003_WriteDat(0x00);
01A2 0027 clr R16
01A4 68DF xcall _VS1003_WriteDat
01A6 .dbline 211
01A6 ; i++;
01A6 81E0 ldi R24,1
01A8 90E0 ldi R25,0
01AA A0E0 ldi R26,0
01AC B0E0 ldi R27,0
01AE 2880 ldd R2,y+0
01B0 3980 ldd R3,y+1
01B2 4A80 ldd R4,y+2
01B4 5B80 ldd R5,y+3
01B6 280E add R2,R24
01B8 391E adc R3,R25
01BA 4A1E adc R4,R26
01BC 5B1E adc R5,R27
01BE 2882 std y+0,R2
01C0 3982 std y+1,R3
01C2 4A82 std y+2,R4
01C4 5B82 std y+3,R5
01C6 .dbline 212
01C6 ; }
01C6 L39:
01C6 .dbline 213
01C6 ; }while(i<1024);
01C6 L37:
01C6 .dbline 213
01C6 80E0 ldi R24,0
01C8 94E0 ldi R25,4
01CA A0E0 ldi R26,0
01CC B0E0 ldi R27,0
01CE 2880 ldd R2,y+0
01D0 3980 ldd R3,y+1
01D2 4A80 ldd R4,y+2
01D4 5B80 ldd R5,y+3
01D6 2816 cp R2,R24
01D8 3906 cpc R3,R25
01DA 4A06 cpc R4,R26
01DC 5B06 cpc R5,R27
01DE E8F2 brlo L36
01E0 X10:
01E0 .dbline -2
01E0 L35:
01E0 .dbline 0 ; func end
01E0 2496 adiw R28,4
01E2 0895 ret
01E4 .dbsym l i 0 l
01E4 .dbend
.area bss(ram, con, rel)
0000 .dbfile C:\DOCUME~1\浪仔\桌面\教学实验板\M16_VS1003_test\vs1003.c
0000 _num::
0000 .blkb 4
0004 .dbsym e num _num l
0004 _VOL::
0004 .blkb 2
0006 .dbsym e VOL _VOL i
0006 ; }
0006 ;
0006 ;
0006 ;
0006 ;
0006 ;
0006 ;
0006 ;
0006 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -