📄 12232.lis
字号:
.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 + -