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

📄 12232.lis

📁 AVR单片机做的MP3
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module _12232.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\ICCFIL~1\五键MP3ICC\12232.c
 0000                   .dbfunc e delay_1ms _delay_1ms fV
 0000           ;              i -> R16,R17
                        .even
 0000           _delay_1ms::
 0000                   .dbline -1
 0000                   .dbline 10
 0000           ; #include <iom16v.h> 
 0000           ; #include <macros.h> 
 0000           ; #include<12232.h>
 0000           ; #include<main.h>
 0000           ; #include<fat16.h>
 0000           ; uint16 zikustart;
 0000           ; extern BPB_SecPerClus;
 0000           ; extern BUFFER[512];
 0000           ; void delay_1ms(void) 
 0000           ; { 
 0000                   .dbline 12
 0000 0027              clr R16
 0002 1127              clr R17
 0004 02C0              rjmp L8
 0006           L5:
 0006                   .dbline 12
 0006           L6:
 0006                   .dbline 12
 0006 0F5F              subi R16,255  ; offset = 1
 0008 1F4F              sbci R17,255
 000A           L8:
 000A                   .dbline 12
 000A           ;    unsigned int i; 
 000A           ;    for(i=0;i<1142;i++); 
 000A 0637              cpi R16,118
 000C E4E0              ldi R30,4
 000E 1E07              cpc R17,R30
 0010 D0F3              brlo L5
 0012                   .dbline -2
 0012           L4:
 0012                   .dbline 0 ; func end
 0012 0895              ret
 0014                   .dbsym r i 16 i
 0014                   .dbend
 0014                   .dbfunc e delay_10us _delay_10us fV
 0014           ;              i -> R16
                        .even
 0014           _delay_10us::
 0014                   .dbline -1
 0014                   .dbline 16
 0014           ; } 
 0014           ; 
 0014           ; void delay_10us(void) 
 0014           ; { 
 0014                   .dbline 18
 0014 0027              clr R16
 0016 01C0              rjmp L13
 0018           L10:
 0018                   .dbline 18
 0018           L11:
 0018                   .dbline 18
 0018 0395              inc R16
 001A           L13:
 001A                   .dbline 18
 001A           ;    unsigned char i; 
 001A           ;    for(i=0;i<10;i++); 
 001A 0A30              cpi R16,10
 001C E8F3              brlo L10
 001E                   .dbline -2
 001E           L9:
 001E                   .dbline 0 ; func end
 001E 0895              ret
 0020                   .dbsym r i 16 c
 0020                   .dbend
 0020                   .dbfunc e delay _delay fV
 0020           ;              i -> R20,R21
 0020           ;              n -> R22,R23
                        .even
 0020           _delay::
 0020 00D0              rcall push_gset2
 0022 B801              movw R22,R16
 0024                   .dbline -1
 0024                   .dbline 22
 0024           ; } 
 0024           ; 
 0024           ; void delay(unsigned int n) 
 0024           ; { 
 0024                   .dbline 24
 0024 4427              clr R20
 0026 5527              clr R21
 0028 03C0              rjmp L18
 002A           L15:
 002A                   .dbline 24
 002A EADF              rcall _delay_1ms
 002C           L16:
 002C                   .dbline 24
 002C 4F5F              subi R20,255  ; offset = 1
 002E 5F4F              sbci R21,255
 0030           L18:
 0030                   .dbline 24
 0030           ;    unsigned int i; 
 0030           ;    for(i=0;i<n;i++)delay_1ms(); 
 0030 4617              cp R20,R22
 0032 5707              cpc R21,R23
 0034 D0F3              brlo L15
 0036                   .dbline -2
 0036           L14:
 0036 00D0              rcall pop_gset2
 0038                   .dbline 0 ; func end
 0038 0895              ret
 003A                   .dbsym r i 20 i
 003A                   .dbsym r n 22 i
 003A                   .dbend
 003A                   .dbfunc e OUTMD _OUTMD fV
 003A           ;              i -> R20
                        .even
 003A           _OUTMD::
 003A 00D0              rcall push_gset1
 003C 402F              mov R20,R16
 003E                   .dbline -1
 003E                   .dbline 27
 003E           ; } 
 003E           ; void OUTMD(unsigned char i) 
 003E           ; { 
 003E                   .dbline 28
 003E           ;     delay_10us(); 
 003E EADF              rcall _delay_10us
 0040                   .dbline 29
 0040           ;    lcd_control_port = 0xff; 
 0040 8FEF              ldi R24,255
 0042 8BBB              out 0x1b,R24
 0044                   .dbline 30
 0044           ;    lcd_control_port &= ~RW; 
 0044 D998              cbi 0x1b,1
 0046                   .dbline 31
 0046           ;     delay_10us(); 
 0046 E6DF              rcall _delay_10us
 0048                   .dbline 32
 0048           ;    lcd_control_port |= A0;    
 0048 D89A              sbi 0x1b,0
 004A                   .dbline 33
 004A           ;     delay_10us(); 
 004A E4DF              rcall _delay_10us
 004C                   .dbline 34
 004C           ;    DATA=i; 
 004C 42BB              out 0x12,R20
 004E                   .dbline 35
 004E           ;     delay_10us(); 
 004E E2DF              rcall _delay_10us
 0050                   .dbline 36
 0050           ;    lcd_control_port &= ~E1; 
 0050 DB98              cbi 0x1b,3
 0052                   .dbline -2
 0052           L19:
 0052 00D0              rcall pop_gset1
 0054                   .dbline 0 ; func end
 0054 0895              ret
 0056                   .dbsym r i 20 c
 0056                   .dbend
 0056                   .dbfunc e OUTMI _OUTMI fV
 0056           ;              i -> R20
                        .even
 0056           _OUTMI::
 0056 00D0              rcall push_gset1
 0058 402F              mov R20,R16
 005A                   .dbline -1
 005A                   .dbline 41
 005A           ;     
 005A           ; } 
 005A           ; 
 005A           ; void OUTMI(unsigned char i) 
 005A           ; { 
 005A                   .dbline 42
 005A           ;     delay_10us(); 
 005A DCDF              rcall _delay_10us
 005C                   .dbline 43
 005C           ;    lcd_control_port = 0xff; 
 005C 8FEF              ldi R24,255
 005E 8BBB              out 0x1b,R24
 0060                   .dbline 44
 0060           ;    lcd_control_port &= ~RW; 
 0060 D998              cbi 0x1b,1
 0062                   .dbline 45
 0062           ;     delay_10us(); 
 0062 D8DF              rcall _delay_10us
 0064                   .dbline 46
 0064           ;    lcd_control_port &= ~A0;    
 0064 D898              cbi 0x1b,0
 0066                   .dbline 47
 0066           ;     delay_10us();
 0066 D6DF              rcall _delay_10us
 0068                   .dbline 48
 0068           ;    DATA=i; 
 0068 42BB              out 0x12,R20
 006A                   .dbline 49
 006A           ;     delay_10us(); 
 006A D4DF              rcall _delay_10us
 006C                   .dbline 50
 006C           ;    lcd_control_port &= ~E1;
 006C DB98              cbi 0x1b,3
 006E                   .dbline -2
 006E           L20:
 006E 00D0              rcall pop_gset1
 0070                   .dbline 0 ; func end
 0070 0895              ret
 0072                   .dbsym r i 20 c
 0072                   .dbend
 0072                   .dbfunc e OUTSD _OUTSD fV
 0072           ;              i -> R20
                        .even
 0072           _OUTSD::
 0072 00D0              rcall push_gset1
 0074 402F              mov R20,R16
 0076                   .dbline -1
 0076                   .dbline 55
 0076           ;     
 0076           ; } 
 0076           ; 
 0076           ; void OUTSD(unsigned char i) 
 0076           ; { 
 0076                   .dbline 56
 0076           ;     delay_10us(); 
 0076 CEDF              rcall _delay_10us
 0078                   .dbline 57
 0078           ;    lcd_control_port = 0xff; 
 0078 8FEF              ldi R24,255
 007A 8BBB              out 0x1b,R24
 007C                   .dbline 58
 007C           ;    lcd_control_port &= ~RW; 
 007C D998              cbi 0x1b,1
 007E                   .dbline 59
 007E           ;     delay_10us(); 
 007E CADF              rcall _delay_10us
 0080                   .dbline 60
 0080           ;    lcd_control_port |= A0;    
 0080 D89A              sbi 0x1b,0
 0082                   .dbline 61
 0082           ;     delay_10us(); 
 0082 C8DF              rcall _delay_10us
 0084                   .dbline 62
 0084           ;    DATA=i; 
 0084 42BB              out 0x12,R20
 0086                   .dbline 63
 0086           ;     delay_10us(); 
 0086 C6DF              rcall _delay_10us
 0088                   .dbline 64
 0088           ;    lcd_control_port &=~E2; 
 0088 DA98              cbi 0x1b,2
 008A                   .dbline -2
 008A           L21:
 008A 00D0              rcall pop_gset1
 008C                   .dbline 0 ; func end
 008C 0895              ret
 008E                   .dbsym r i 20 c
 008E                   .dbend
 008E                   .dbfunc e OUTSI _OUTSI fV
 008E           ;              i -> R20
                        .even
 008E           _OUTSI::
 008E 00D0              rcall push_gset1
 0090 402F              mov R20,R16
 0092                   .dbline -1
 0092                   .dbline 69
 0092           ; 
 0092           ; } 
 0092           ; 
 0092           ; void OUTSI(unsigned char i) 
 0092           ; { 
 0092                   .dbline 70
 0092           ;     delay_10us(); 
 0092 C0DF              rcall _delay_10us
 0094                   .dbline 71
 0094           ;    lcd_control_port = 0xff; 
 0094 8FEF              ldi R24,255
 0096 8BBB              out 0x1b,R24
 0098                   .dbline 72
 0098           ;    lcd_control_port &= ~RW; 
 0098 D998              cbi 0x1b,1
 009A                   .dbline 73
 009A           ;     delay_10us(); 
 009A BCDF              rcall _delay_10us
 009C                   .dbline 74
 009C           ;    lcd_control_port &= ~A0;    
 009C D898              cbi 0x1b,0
 009E                   .dbline 75
 009E           ;     delay_10us(); 
 009E BADF              rcall _delay_10us
 00A0                   .dbline 76
 00A0           ;    DATA=i; 
 00A0 42BB              out 0x12,R20
 00A2                   .dbline 77
 00A2           ;     delay_10us(); 
 00A2 B8DF              rcall _delay_10us
 00A4                   .dbline 78
 00A4           ;    lcd_control_port &=~E2; 
 00A4 DA98              cbi 0x1b,2
 00A6                   .dbline -2
 00A6           L22:
 00A6 00D0              rcall pop_gset1
 00A8                   .dbline 0 ; func end
 00A8 0895              ret
 00AA                   .dbsym r i 20 c
 00AA                   .dbend
 00AA                   .dbfunc e lcdini _lcdini fV
                        .even
 00AA           _lcdini::
 00AA                   .dbline -1
 00AA                   .dbline 83
 00AA           ;     
 00AA           ; } 
 00AA           ; 
 00AA           ; void lcdini(void) 
 00AA           ; { 
 00AA                   .dbline 84
 00AA           ;   DATA=0xff; 
 00AA 8FEF              ldi R24,255
 00AC 82BB              out 0x12,R24
 00AE                   .dbline 85
 00AE           ;   lcd_data_ddr|=0xff; 
 00AE 81B3              in R24,0x11
 00B0 8F6F              ori R24,255
 00B2 81BB              out 0x11,R24
 00B4                   .dbline 86
 00B4           ;   lcd_control_port|=0xff; 
 00B4 8BB3              in R24,0x1b
 00B6 8F6F              ori R24,255
 00B8 8BBB              out 0x1b,R24
 00BA                   .dbline 87
 00BA           ;   lcd_control_ddr=0x0f;
 00BA 8FE0              ldi R24,15
 00BC 8ABB              out 0x1a,R24
 00BE                   .dbline 88
 00BE           ;   lcd_light_ddr|=0x02;

⌨️ 快捷键说明

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