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

📄 main.lis

📁 使用硬盘制作mp3的源程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
                        .module main.c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\DATA\MP3\Code\main.c
 0000                   .dbfunc e main _main fV
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 24
 0000           ; #include <iom128v.h>
 0000           ; #include "fat.h"
 0000           ; #include "ata.h"
 0000           ; #include "vs1001.h"
 0000           ; #include "remote.h"
 0000           ; #include "main.h"
 0000           ; #include "generic.h"
 0000           ; #include <string.h>
 0000           ; #include <stdio.h>
 0000           ; #include <macros.h>
 0000           ; 
 0000           ; #define debug
 0000           ; #define debugport 1
 0000           ; 
 0000           ; //******************************************************************
 0000           ; //*   MAIN Global Variable
 0000           ; //******************************************************************
 0000           ; unsigned char text[255];
 0000           ; 
 0000           ; //*************************************
 0000           ; // void main(void)
 0000           ; //*************************************
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 25
 0000           ; init_sci();
 0000 0E940000          xcall _init_sci
 0004                   .dbline 26
 0004           ; ClrScr();
 0004 0E940000          xcall _ClrScr
 0008                   .dbline 27
 0008           ; tx_char(debugport,0x07); // Bell
 0008 27E0              ldi R18,7
 000A 01E0              ldi R16,1
 000C 0E940000          xcall _tx_char
 0010                   .dbline 28
 0010           ; GotoXY(1,1);
 0010 21E0              ldi R18,1
 0012 01E0              ldi R16,1
 0014 0E940000          xcall _GotoXY
 0018                   .dbline 29
 0018           ; tx_string(debugport,"MP3 Player 1.0\0");
 0018 20E0              ldi R18,<L2
 001A 30E0              ldi R19,>L2
 001C 01E0              ldi R16,1
 001E 0E940000          xcall _tx_string
 0022                   .dbline 30
 0022           ; GotoXY(1,2);
 0022 22E0              ldi R18,2
 0024 01E0              ldi R16,1
 0026 0E940000          xcall _GotoXY
 002A                   .dbline 31
 002A           ; tx_string(debugport,"--------------\0");
 002A 20E0              ldi R18,<L3
 002C 30E0              ldi R19,>L3
 002E 01E0              ldi R16,1
 0030 0E940000          xcall _tx_string
 0034                   .dbline 32
 0034           ; GotoXY(1,3);
 0034 23E0              ldi R18,3
 0036 01E0              ldi R16,1
 0038 0E940000          xcall _GotoXY
 003C                   .dbline 33
 003C           ; if (MCUCSR & 0x01) tx_string(debugport,"-Power ON\0");
 003C 24B6              in R2,0x34
 003E 20FE              sbrs R2,0
 0040 05C0              rjmp L4
 0042                   .dbline 33
 0042 20E0              ldi R18,<L6
 0044 30E0              ldi R19,>L6
 0046 01E0              ldi R16,1
 0048 0E940000          xcall _tx_string
 004C           L4:
 004C                   .dbline 34
 004C           ; GotoXY(1,4);
 004C 24E0              ldi R18,4
 004E 01E0              ldi R16,1
 0050 0E940000          xcall _GotoXY
 0054                   .dbline 35
 0054           ; if (MCUCSR & 0x02) tx_string(debugport,"-Ext RESET\0");
 0054 24B6              in R2,0x34
 0056 21FE              sbrs R2,1
 0058 05C0              rjmp L7
 005A                   .dbline 35
 005A 20E0              ldi R18,<L9
 005C 30E0              ldi R19,>L9
 005E 01E0              ldi R16,1
 0060 0E940000          xcall _tx_string
 0064           L7:
 0064                   .dbline 36
 0064           ; GotoXY(1,5);
 0064 25E0              ldi R18,5
 0066 01E0              ldi R16,1
 0068 0E940000          xcall _GotoXY
 006C                   .dbline 37
 006C           ; if (MCUCSR & 0x04) tx_string(debugport,"-Brown Out\0");
 006C 24B6              in R2,0x34
 006E 22FE              sbrs R2,2
 0070 05C0              rjmp L10
 0072                   .dbline 37
 0072 20E0              ldi R18,<L12
 0074 30E0              ldi R19,>L12
 0076 01E0              ldi R16,1
 0078 0E940000          xcall _tx_string
 007C           L10:
 007C                   .dbline 38
 007C           ; GotoXY(1,6);
 007C 26E0              ldi R18,6
 007E 01E0              ldi R16,1
 0080 0E940000          xcall _GotoXY
 0084                   .dbline 39
 0084           ; if (MCUCSR & 0x08) tx_string(debugport,"-Watch Dog\0");
 0084 24B6              in R2,0x34
 0086 23FE              sbrs R2,3
 0088 05C0              rjmp L13
 008A                   .dbline 39
 008A 20E0              ldi R18,<L15
 008C 30E0              ldi R19,>L15
 008E 01E0              ldi R16,1
 0090 0E940000          xcall _tx_string
 0094           L13:
 0094                   .dbline 40
 0094           ; MCUCSR = 0x0f; // Clear flags
 0094 8FE0              ldi R24,15
 0096 84BF              out 0x34,R24
 0098                   .dbline 42
 0098           ; 
 0098           ; delay_ms(5000);
 0098 08E8              ldi R16,5000
 009A 13E1              ldi R17,19
 009C 0E940000          xcall _delay_ms
 00A0                   .dbline 44
 00A0           ; 
 00A0           ; WDR();
 00A0 A895              wdr
 00A2                   .dbline 45
 00A2           ; WDTCR = 0x0f; // Watch Dog enable
 00A2 8FE0              ldi R24,15
 00A4 81BD              out 0x21,R24
 00A6                   .dbline 47
 00A6           ; 
 00A6           ; ClrScr();
 00A6 0E940000          xcall _ClrScr
 00AA                   .dbline 48
 00AA           ; GotoXY(1,1);
 00AA 21E0              ldi R18,1
 00AC 01E0              ldi R16,1
 00AE 0E940000          xcall _GotoXY
 00B2                   .dbline 49
 00B2           ; tx_string(debugport,"MP3 Player 1.0\0");
 00B2 20E0              ldi R18,<L2
 00B4 30E0              ldi R19,>L2
 00B6 01E0              ldi R16,1
 00B8 0E940000          xcall _tx_string
 00BC                   .dbline 50
 00BC           ; GotoXY(1,2);
 00BC 22E0              ldi R18,2
 00BE 01E0              ldi R16,1
 00C0 0E940000          xcall _GotoXY
 00C4                   .dbline 51
 00C4           ; tx_string(debugport,"--------------\0");
 00C4 20E0              ldi R18,<L3
 00C6 30E0              ldi R19,>L3
 00C8 01E0              ldi R16,1
 00CA 0E940000          xcall _tx_string
 00CE                   .dbline 53
 00CE           ; //while(1) WDR();
 00CE           ; VS1001Init();
 00CE 0E940000          xcall _VS1001Init
 00D2                   .dbline 55
 00D2           ; 
 00D2           ; GotoXY(1,4);
 00D2 24E0              ldi R18,4
 00D4 01E0              ldi R16,1
 00D6 0E940000          xcall _GotoXY
 00DA                   .dbline 56
 00DA           ; if (init_ata(0)) tx_string(debugport,"-ATA OK\0");
 00DA 0027              clr R16
 00DC 0E940000          xcall _init_ata
 00E0 0030              cpi R16,0
 00E2 0107              cpc R16,R17
 00E4 31F0              breq L16
 00E6           X0:
 00E6                   .dbline 56
 00E6 20E0              ldi R18,<L18
 00E8 30E0              ldi R19,>L18
 00EA 01E0              ldi R16,1
 00EC 0E940000          xcall _tx_string
 00F0 05C0              xjmp L17
 00F2           L16:
 00F2                   .dbline 57
 00F2           ; else tx_string(debugport,"-ATA FAIL\0");
 00F2 20E0              ldi R18,<L19
 00F4 30E0              ldi R19,>L19
 00F6 01E0              ldi R16,1
 00F8 0E940000          xcall _tx_string
 00FC           L17:
 00FC                   .dbline 59
 00FC           ; 
 00FC           ; GotoXY(1,5);
 00FC 25E0              ldi R18,5
 00FE 01E0              ldi R16,1
 0100 0E940000          xcall _GotoXY
 0104                   .dbline 60
 0104           ; if (Reg_Test()) tx_string(debugport,"-MP3 OK\0");
 0104 0E940000          xcall _Reg_Test
 0108 0023              tst R16
 010A 31F0              breq L20
 010C                   .dbline 60
 010C 20E0              ldi R18,<L22
 010E 30E0              ldi R19,>L22
 0110 01E0              ldi R16,1
 0112 0E940000          xcall _tx_string
 0116 05C0              xjmp L21
 0118           L20:
 0118                   .dbline 61
 0118           ; else tx_string(debugport,"-MP3 FAIL\0");
 0118 20E0              ldi R18,<L23
 011A 30E0              ldi R19,>L23
 011C 01E0              ldi R16,1
 011E 0E940000          xcall _tx_string
 0122           L21:
 0122                   .dbline 63
 0122           ; 
 0122           ; GotoXY(1,6);
 0122 26E0              ldi R18,6
 0124 01E0              ldi R16,1
 0126 0E940000          xcall _GotoXY
 012A                   .dbline 64
 012A           ; tx_string(debugport," Press a key  \0");
 012A 20E0              ldi R18,<L24
 012C 30E0              ldi R19,>L24
 012E 01E0              ldi R16,1
 0130 0E940000          xcall _tx_string
 0134                   .dbline 66
 0134           ; 
 0134           ; InitFat();
 0134 0E940000          xcall _InitFat
 0138                   .dbline 68
 0138           ; 
 0138           ; VS1001_SetVolume(50,50);
 0138 22E3              ldi R18,50
 013A 02E3              ldi R16,50
 013C 0E940000          xcall _VS1001_SetVolume
 0140                   .dbline 69
 0140           ; Sine_Sweep();
 0140 0E940000          xcall _Sine_Sweep
 0144 01C0              xjmp L26
 0146           L25:
 0146                   .dbline 71
 0146 A895              wdr
 0148           L26:
 0148                   .dbline 71
 0148           ; 
 0148           ; while(!is_char(debugport)) WDR();
 0148 01E0              ldi R16,1
 014A 0E940000          xcall _is_char
 014E 0023              tst R16
 0150 D1F3              breq L25
 0152                   .dbline 72
 0152           ; rx_char(debugport);
 0152 01E0              ldi R16,1
 0154 0E940000          xcall _rx_char
 0158                   .dbline 74
 0158           ; 
 0158           ; DirBrowser(2);
 0158 02E0              ldi R16,2
 015A 10E0              ldi R17,0
 015C 20E0              ldi R18,0
 015E 30E0              ldi R19,0
 0160                   .dbline -2
 0160                   .dbline 75
 0160           ; }
 0160           L1:
 0160                   .dbline 0 ; func end
 0160 00C0              xjmp _DirBrowser
 0162                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile C:\DATA\MP3\Code\main.c
 0000           L29:
 0000                   .blkb 2
                        .area idata
 0000 0000              .word 0
                        .area data(ram, con, rel)
 0002                   .dbfile C:\DATA\MP3\Code\main.c
 0002           L30:
 0002                   .blkb 2
                        .area idata
 0002 0000              .word 0
                        .area data(ram, con, rel)
 0004                   .dbfile C:\DATA\MP3\Code\main.c
                        .area bss(ram, con, rel)
 0000                   .dbfile C:\DATA\MP3\Code\main.c
 0000           L31:
 0000                   .blkb 2
                        .area text(rom, con, rel)
 0162                   .dbfile C:\DATA\MP3\Code\main.c
 0162                   .dbfunc e DirBrowser _DirBrowser fV
 0162                   .dbsym s FilePtrSave L31 I
 0162                   .dbsym s Page L30 I
 0162                   .dbsym s FilePtr L29 I
 0162           ;        MaxFile -> R10,R11
 0162           ;             ch -> R12
 0162           ;        Cluster -> y+16
                        .even
 0162           _DirBrowser::
 0162 0E940000          xcall push_arg4
 0166 0E940000          xcall push_gset4
 016A 2897              sbiw R28,8
 016C                   .dbline -1
 016C                   .dbline 81
 016C           ; 
 016C           ; //*************************************
 016C           ; // void DirBrowser(unsigned long Cluster)
 016C           ; //*************************************
 016C           ; void DirBrowser(unsigned long Cluster)
 016C           ; {
 016C                   .dbline 90
 016C           ; extern unsigned char text[255];
 016C           ; extern struct FileInfo File;
 016C           ; unsigned char ch;
 016C           ; unsigned int MaxFile;
 016C           ; static int FilePtr = 0;
 016C           ; static int Page = 0;
 016C           ; static int FilePtrSave;
 016C           ; 
 016C           ; ClrScr();
 016C 0E940000          xcall _ClrScr
 0170                   .dbline 91
 0170           ; GotoXY(1,1);
 0170 21E0              ldi R18,1
 0172 01E0              ldi R16,1

⌨️ 快捷键说明

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