?? 5按鍵_sd卡mp3程序.lst
字號(hào):
FILE: <library>
__text_start:
__start:
0AE5 EFCF LDI R28,0xFF
0AE6 E1D0 LDI R29,0x10
0AE7 BFCD OUT 0x3D,R28
0AE8 BFDE OUT 0x3E,R29
0AE9 51C0 SUBI R28,0x10
0AEA 40D0 SBCI R29,0
0AEB EA0A LDI R16,0xAA
0AEC 8308 STD Y+0,R16
0AED 2400 CLR R0
0AEE E5E6 LDI R30,0x56
0AEF E0F1 LDI R31,1
0AF0 E013 LDI R17,3
0AF1 3CE0 CPI R30,0xC0
0AF2 07F1 CPC R31,R17
0AF3 F011 BEQ 0x0AF6
0AF4 9201 ST R0,Z+
0AF5 CFFB RJMP 0x0AF1
0AF6 8300 STD Z+0,R16
0AF7 E7E4 LDI R30,0x74
0AF8 E1F5 LDI R31,0x15
0AF9 E0A0 LDI R26,0
0AFA E0B1 LDI R27,1
0AFB E115 LDI R17,0x15
0AFC 3CEA CPI R30,0xCA
0AFD 07F1 CPC R31,R17
0AFE F021 BEQ 0x0B03
0AFF 95C8 LPM
0B00 9631 ADIW R30,1
0B01 920D ST R0,X+
0B02 CFF9 RJMP 0x0AFC
0B03 940E1061 CALL _main
_exit:
0B05 CFFF RJMP _exit
_delay_Nus:
b --> R20
n --> R16
0B06 940E13B7 CALL push_gset1
0B08 E041 LDI R20,1
0B09 C001 RJMP 0x0B0B
0B0A 9543 INC R20
0B0B 2E24 MOV R2,R20
0B0C 2433 CLR R3
0B0D 1620 CP R2,R16
0B0E 0631 CPC R3,R17
0B0F F3D0 BCS 0x0B0A
0B10 940E13BA CALL pop_gset1
0B12 9508 RET
_spi_init:
0B13 EB8F LDI R24,0xBF
0B14 BB87 OUT 0x17,R24
0B15 E583 LDI R24,0x53
0B16 B98D OUT 0x0D,R24
0B17 2422 CLR R2
0B18 B82E OUT 0x0E,R2
0B19 9508 RET
_Write_Byte_SPI:
byte --> R16
0B1A B90F OUT 0x0F,R16
0B1B 9B77 SBIS 0x0E,7
0B1C CFFE RJMP 0x0B1B
0B1D 9508 RET
_Read_Byte_SPI:
0B1E EF8F LDI R24,0xFF
0B1F B98F OUT 0x0F,R24
0B20 9B77 SBIS 0x0E,7
0B21 CFFE RJMP 0x0B20
0B22 B10F IN R16,0x0F
0B23 9508 RET
_mp3_port_init:
0B24 DFEE RCALL _spi_init
0B25 B387 IN R24,0x17
0B26 608B ORI R24,0xB
0B27 BB87 OUT 0x17,R24
0B28 98BA CBI 0x17,2
0B29 B388 IN R24,0x18
0B2A 608B ORI R24,0xB
0B2B BB88 OUT 0x18,R24
0B2C 9508 RET
_vs1011_cmd_write:
data --> R20
address --> R22
0B2D 940E13CE CALL push_gset2
0B2F 01A9 MOVW R20,R18
0B30 2F60 MOV R22,R16
0B31 9AC3 SBI 0x18,3
0B32 98C0 CBI 0x18,0
0B33 E002 LDI R16,2
0B34 DFE5 RCALL _Write_Byte_SPI
0B35 2F06 MOV R16,R22
0B36 DFE3 RCALL _Write_Byte_SPI
0B37 018A MOVW R16,R20
0B38 2F01 MOV R16,R17
0B39 2711 CLR R17
0B3A DFDF RCALL _Write_Byte_SPI
0B3B 2F04 MOV R16,R20
0B3C DFDD RCALL _Write_Byte_SPI
0B3D 9AC0 SBI 0x18,0
0B3E 940E13AB CALL pop_gset2
0B40 9508 RET
_vs1011_data_write:
data --> R20
0B41 940E13B7 CALL push_gset1
0B43 2F40 MOV R20,R16
0B44 98C3 CBI 0x18,3
0B45 2F04 MOV R16,R20
0B46 DFD3 RCALL _Write_Byte_SPI
0B47 9AC3 SBI 0x18,3
0B48 9AC0 SBI 0x18,0
0B49 940E13BA CALL pop_gset1
0B4B 9508 RET
_vs1011_read:
temp1 --> R22
temp --> R20
address --> R10
0B4C 940E13D2 CALL push_gset3
0B4E 2EA0 MOV R10,R16
0B4F 2766 CLR R22
0B50 2744 CLR R20
0B51 2755 CLR R21
0B52 9AC3 SBI 0x18,3
0B53 98C0 CBI 0x18,0
0B54 E003 LDI R16,3
0B55 DFC4 RCALL _Write_Byte_SPI
0B56 2D0A MOV R16,R10
0B57 DFC2 RCALL _Write_Byte_SPI
0B58 DFC5 RCALL _Read_Byte_SPI
0B59 2F40 MOV R20,R16
0B5A 2755 CLR R21
0B5B 2F54 MOV R21,R20
0B5C 2744 CLR R20
0B5D DFC0 RCALL _Read_Byte_SPI
0B5E 2F60 MOV R22,R16
0B5F 2E26 MOV R2,R22
0B60 2433 CLR R3
0B61 2942 OR R20,R2
0B62 2953 OR R21,R3
0B63 9AC0 SBI 0x18,0
0B64 018A MOVW R16,R20
0B65 940E13AE CALL pop_gset3
0B67 9508 RET
_vs1011_init:
0B68 E302 LDI R16,0x32
0B69 E010 LDI R17,0
0B6A DF9B RCALL _delay_Nus
0B6B E020 LDI R18,0
0B6C E038 LDI R19,0x8
0B6D 2700 CLR R16
0B6E DFBE RCALL _vs1011_cmd_write
0B6F E725 LDI R18,0x75
0B70 E030 LDI R19,0
0B71 E002 LDI R16,2
0B72 DFBA RCALL _vs1011_cmd_write
0B73 E020 LDI R18,0
0B74 E938 LDI R19,0x98
0B75 E003 LDI R16,3
0B76 DFB6 RCALL _vs1011_cmd_write
0B77 E320 LDI R18,0x30
0B78 E330 LDI R19,0x30
0B79 E00B LDI R16,0xB
0B7A CFB2 RJMP _vs1011_cmd_write
_delay_1us:
0B7B 0000 NOP
0B7C 9508 RET
_lcd_port:
0B7D E083 LDI R24,3
0B7E BB84 OUT 0x14,R24
0B7F B385 IN R24,0x15
0B80 6083 ORI R24,3
0B81 BB85 OUT 0x15,R24
0B82 EF8F LDI R24,0xFF
0B83 BB81 OUT 0x11,R24
0B84 9AAA SBI 0x15,2
0B85 9508 RET
_LCD_write_byte:
command --> R18
data --> R16
0B86 98A9 CBI 0x15,1
0B87 2322 TST R18
0B88 F411 BNE 0x0B8B
0B89 98A8 CBI 0x15,0
0B8A C001 RJMP 0x0B8C
0B8B 9AA8 SBI 0x15,0
0B8C B90F OUT 0x0F,R16
0B8D 9B77 SBIS 0x0E,7
0B8E CFFE RJMP 0x0B8D
0B8F 9AA9 SBI 0x15,1
0B90 9508 RET
_LCD_set_XY:
Y --> R22
X --> R20
0B91 940E13CE CALL push_gset2
0B93 2F62 MOV R22,R18
0B94 2F40 MOV R20,R16
0B95 2722 CLR R18
0B96 2F06 MOV R16,R22
0B97 6400 ORI R16,0x40
0B98 DFED RCALL _LCD_write_byte
0B99 2722 CLR R18
0B9A 2F04 MOV R16,R20
0B9B 6800 ORI R16,0x80
0B9C DFE9 RCALL _LCD_write_byte
0B9D 940E13AB CALL pop_gset2
0B9F 9508 RET
_LCD_write_char:
line --> R20
c --> R22
0BA0 940E13CE CALL push_gset2
0BA2 2F60 MOV R22,R16
0BA3 5260 SUBI R22,0x20
0BA4 2744 CLR R20
0BA5 C00F RJMP 0x0BB5
0BA6 E021 LDI R18,1
0BA7 E086 LDI R24,6
0BA8 9F86 MUL R24,R22
0BA9 0110 MOVW R2,R0
0BAA E88C LDI R24,0x8C
0BAB E090 LDI R25,0
0BAC 0E28 ADD R2,R24
0BAD 1E39 ADC R3,R25
0BAE 2FE4 MOV R30,R20
0BAF 27FF CLR R31
0BB0 0DE2 ADD R30,R2
0BB1 1DF3 ADC R31,R3
0BB2 9104 LPM R16,0(Z)
0BB3 DFD2 RCALL _LCD_write_byte
0BB4 9543 INC R20
0BB5 3046 CPI R20,6
0BB6 F378 BCS 0x0BA6
0BB7 940E13AB CALL pop_gset2
0BB9 9508 RET
_LCD_write_english_string:
s --> R20
Y --> R10
X --> R22
0BBA 940E13D2 CALL push_gset3
0BBC 2EA2 MOV R10,R18
0BBD 2F60 MOV R22,R16
0BBE 814E LDD R20,Y+6
0BBF 815F LDD R21,Y+7
0BC0 2D2A MOV R18,R10
0BC1 2F06 MOV R16,R22
0BC2 DFCE RCALL _LCD_set_XY
0BC3 C005 RJMP 0x0BC9
0BC4 01FA MOVW R30,R20
0BC5 8100 LDD R16,Z+0
0BC6 DFD9 RCALL _LCD_write_char
0BC7 5F4F SUBI R20,0xFF
0BC8 4F5F SBCI R21,0xFF
0BC9 01FA MOVW R30,R20
0BCA 8020 LDD R2,Z+0
0BCB 2022 TST R2
0BCC F7B9 BNE 0x0BC4
0BCD 940E13AE CALL pop_gset3
0BCF 9508 RET
_LCD_clear:
i --> R20
0BD0 940E13B7 CALL push_gset1
0BD2 2722 CLR R18
0BD3 E00C LDI R16,0xC
0BD4 DFB1 RCALL _LCD_write_byte
0BD5 2722 CLR R18
0BD6 E800 LDI R16,0x80
0BD7 DFAE RCALL _LCD_write_byte
0BD8 2744 CLR R20
0BD9 2755 CLR R21
0BDA C005 RJMP 0x0BE0
0BDB E021 LDI R18,1
0BDC 2700 CLR R16
0BDD DFA8 RCALL _LCD_write_byte
0BDE 5F4F SUBI R20,0xFF
0BDF 4F5F SBCI R21,0xFF
0BE0 3F48 CPI R20,0xF8
0BE1 E0E1 LDI R30,1
0BE2 075E CPC R21,R30
0BE3 F3B8 BCS 0x0BDB
0BE4 940E13BA CALL pop_gset1
0BE6 9508 RET
_LCD_init:
0BE7 9892 CBI 0x12,2
0BE8 DF92 RCALL _delay_1us
0BE9 9A92 SBI 0x12,2
0BEA DF90 RCALL _delay_1us
0BEB 2722 CLR R18
0BEC E201 LDI R16,0x21
0BED DF98 RCALL _LCD_write_byte
0BEE 2722 CLR R18
0BEF EC08 LDI R16,0xC8
0BF0 DF95 RCALL _LCD_write_byte
0BF1 2722 CLR R18
0BF2 E006 LDI R16,6
0BF3 DF92 RCALL _LCD_write_byte
0BF4 2722 CLR R18
0BF5 E103 LDI R16,0x13
0BF6 DF8F RCALL _LCD_write_byte
0BF7 DF83 RCALL _delay_1us
0BF8 2722 CLR R18
0BF9 E200 LDI R16,0x20
0BFA DF8B RCALL _LCD_write_byte
0BFB DFD4 RCALL _LCD_clear
0BFC 2722 CLR R18
0BFD E00C LDI R16,0xC
0BFE CF87 RJMP _LCD_write_byte
_ReadBlock:
temp --> Y+0
LBA --> Y+4
0BFF 940E12D9 CALL push_arg4
0C01 9724 SBIW R28,4
0C02 E089 LDI R24,0x9
0C03 E090 LDI R25,0
0C04 01FE MOVW R30,R28
0C05 8024 LDD R2,Z+4
0C06 8035 LDD R3,Z+5
0C07 8046 LDD R4,Z+6
0C08 8057 LDD R5,Z+7
0C09 938A ST R24,-Y
0C0A 0181 MOVW R16,R2
0C0B 0192 MOVW R18,R4
0C0C 940E1403 CALL lsl32
0C0E 01FE MOVW R30,R28
0C0F 8300 STD Z+0,R16
0C10 8311 STD Z+1,R17
0C11 8322 STD Z+2,R18
0C12 8333 STD Z+3,R19
0C13 01FE MOVW R30,R28
0C14 8100 LDD R16,Z+0
0C15 8111 LDD R17,Z+1
0C16 8122 LDD R18,Z+2
0C17 8133 LDD R19,Z+3
0C18 940E126E CALL _SD_Read_Block
0C1A 9628 ADIW R28,0x8
0C1B 9508 RET
_fatClustToSect:
clust --> Y+4
0C1C 940E12D9 CALL push_arg4
0C1E 940E13CE CALL push_gset2
0C20 E042 LDI R20,2
0C21 E050 LDI R21,0
0C22 E060 LDI R22,0
0C23 E070 LDI R23,0
0C24 01FE MOVW R30,R28
0C25 8024 LDD R2,Z+4
0C26 8035 LDD R3,Z+5
0C27 8046 LDD R4,Z+6
0C28 8057 LDD R5,Z+7
0C29 1A24 SUB R2,R20
0C2A 0A35 SBC R3,R21
0C2B 0A46 SBC R4,R22
0C2C 0A57 SBC R5,R23
0C2D 90600162 LDS R6,_SectorsPerCluster
0C2F 90700163 LDS R7,_SectorsPerCluster+1
0C31 2488 CLR R8
0C32 2499 CLR R9
0C33 929A ST R9,-Y
0C34 928A ST R8,-Y
0C35 927A ST R7,-Y
0C36 926A ST R6,-Y
0C37 0181 MOVW R16,R2
0C38 0192 MOVW R18,R4
0C39 940E137B CALL empy32u
0C3B 0118 MOVW R2,R16
0C3C 0129 MOVW R4,R18
0C3D 90800168 LDS R8,_FirstDataSector+2
0C3F 90900169 LDS R9,_FirstDataSector+3
0C41 90600166 LDS R6,_FirstDataSector
0C43 90700167 LDS R7,_FirstDataSector+1
0C45 0C26 ADD R2,R6
0C46 1C37 ADC R3,R7
0C47 1C48 ADC R4,R8
0C48 1C59 ADC R5,R9
0C49 0181 MOVW R16,R2
0C4A 0192 MOVW R18,R4
0C4B 940E13AB CALL pop_gset2
0C4D 9624 ADIW R28,4
0C4E 9508 RET
_fatClusterSize:
0C4F 91000162 LDS R16,_SectorsPerCluster
0C51 91100163 LDS R17,_SectorsPerCluster+1
0C53 9508 RET
_fatInit:
t2 --> R10
t1 --> R12
data --> R10
bpb --> R10
0C54 940E13D6 CALL push_gset4
0C56 9722 SBIW R28,2
0C57 E000 LDI R16,0
0C58 E010 LDI R17,0
0C59 E020 LDI R18,0
0C5A E030 LDI R19,0
0C5B DFA3 RCALL _ReadBlock
0C5C E78C LDI R24,0x7C
0C5D E093 LDI R25,3
0C5E E6EB LDI R30,0x6B
0C5F E0F1 LDI R31,1
0C60 E100 LDI R16,0x10
0C61 E010 LDI R17,0
0C62 93FA ST R31,-Y
0C63 93EA ST R30,-Y
0C64 939A ST R25,-Y
0C65 938A ST R24,-Y
0C66 940E141B CALL asgnblk
0C68 91200175 LDS R18,0x175
0C6A 91300176 LDS R19,0x176
0C6C 91000173 LDS R16,0x173
0C6E 91100174 LDS R17,0x174
0C70 DF8E RCALL _ReadBlock
0C71 EC89 LDI R24,0xC9
0C72 E091 LDI R25,1
0C73 015C MOVW R10,R24
0C74 90400175 LDS R4,0x175
0C76 90500176 LDS R5,0x176
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -