📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile D:\avr\+++精华+++\24c02/delay.h
0000 .dbfunc e delay_1us _delay_1us fV
.even
0000 _delay_1us::
0000 .dbline -1
0000 .dbline 16
0000 ; #include <iom16v.h>
0000 ; #include "I2C.h"
0000 ; #include "1602.h"
0000 ; #include "delay.h"
0000 ; void main(void)
0000 ;
0000 ; {
0000 ; unsigned char i;
0000 ; LCD_init();
0000 ; while(1)
0000 ; {
0000 ; I2C_Write('n',0x00);
0000 ; I2C_Write('c',0x01);
0000 ; I2C_Write('e',0x02);
0000 ; I2C_Write('p',0x03);
0000 ; I2C_Write('u',0x04);
0000 .dbline 17
0000 ;
0000 0000 nop
0002 .dbline -2
0002 L1:
0002 .dbline 0 ; func end
0002 0895 ret
0004 .dbend
0004 .dbfunc e delay_nus _delay_nus fV
0004 ; i -> R20,R21
0004 ; n -> R22,R23
.even
0004 _delay_nus::
0004 0E940000 xcall push_gset2
0008 B801 movw R22,R16
000A .dbline -1
000A .dbline 21
000A ; i=I2C_Read(0x00);
000A ; LCD_write_char(0,0,i);
000A ; i=I2C_Read(0x01);
000A ; LCD_write_data(i);
000A .dbline 22
000A ; i=I2C_Read(0x02);
000A 4427 clr R20
000C 5527 clr R21
000E .dbline 23
000E ; LCD_write_data(i);
000E 03C0 xjmp L6
0010 L3:
0010 .dbline 24
0010 F7DF xcall _delay_1us
0012 L4:
0012 .dbline 23
0012 4F5F subi R20,255 ; offset = 1
0014 5F4F sbci R21,255
0016 L6:
0016 .dbline 23
0016 4617 cp R20,R22
0018 5707 cpc R21,R23
001A D0F3 brlo L3
001C .dbline -2
001C L2:
001C 0E940000 xcall pop_gset2
0020 .dbline 0 ; func end
0020 0895 ret
0022 .dbsym r i 20 i
0022 .dbsym r n 22 i
0022 .dbend
0022 .dbfunc e delay_1ms _delay_1ms fV
0022 ; i -> R16,R17
.even
0022 _delay_1ms::
0022 .dbline -1
0022 .dbline 28
0022 ; i=I2C_Read(0x03);
0022 ; LCD_write_data(i);
0022 ; i=I2C_Read(0x04);
0022 ; LCD_write_data(i);
0022 ; }
0022 .dbline 30
0022 0027 clr R16
0024 1127 clr R17
0026 02C0 xjmp L11
0028 L8:
0028 .dbline 30
0028 L9:
0028 .dbline 30
0028 0F5F subi R16,255 ; offset = 1
002A 1F4F sbci R17,255
002C L11:
002C .dbline 30
002C ;
002C ; }
002C 0437 cpi R16,116
002E E4E0 ldi R30,4
0030 1E07 cpc R17,R30
0032 D0F3 brlo L8
0034 .dbline -2
0034 L7:
0034 .dbline 0 ; func end
0034 0895 ret
0036 .dbsym r i 16 i
0036 .dbend
0036 .dbfunc e delay_nms _delay_nms fV
0036 ; i -> R20,R21
0036 ; n -> R22,R23
.even
0036 _delay_nms::
0036 0E940000 xcall push_gset2
003A B801 movw R22,R16
003C .dbline -1
003C .dbline 34
003C ; }
003C ; }
003C ; }
003C ; }
003C .dbline 35
003C ; }
003C 4427 clr R20
003E 5527 clr R21
0040 .dbline 36
0040 ; }
0040 03C0 xjmp L16
0042 L13:
0042 .dbline 37
0042 EFDF xcall _delay_1ms
0044 L14:
0044 .dbline 36
0044 4F5F subi R20,255 ; offset = 1
0046 5F4F sbci R21,255
0048 L16:
0048 .dbline 36
0048 4617 cp R20,R22
004A 5707 cpc R21,R23
004C D0F3 brlo L13
004E .dbline -2
004E L12:
004E 0E940000 xcall pop_gset2
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbsym r i 20 i
0054 .dbsym r n 22 i
0054 .dbend
0054 .dbfile D:\avr\+++精华+++\24c02/I2C.h
0054 .dbfunc e I2C_Write _I2C_Write fc
0054 ; RegAddress -> R22
0054 ; Wdata -> R20
.even
0054 _I2C_Write::
0054 0E940000 xcall push_gset2
0058 622F mov R22,R18
005A 402F mov R20,R16
005C .dbline -1
005C .dbline 39
005C ; }
005C ; }
005C ; }
005C .dbline 41
005C ; }
005C ; }
005C 84EA ldi R24,164
005E 86BF out 0x36,R24
0060 .dbline 42
0060 L18:
0060 .dbline 42
0060 L19:
0060 .dbline 42
0060 ; }
0060 26B6 in R2,0x36
0062 27FE sbrs R2,7
0064 FDCF rjmp L18
0066 .dbline 42
0066 .dbline 42
0066 .dbline 43
0066 ; }
0066 81B1 in R24,0x1
0068 887F andi R24,248
006A 8830 cpi R24,8
006C 11F0 breq L21
006E .dbline 44
006E ; }
006E 01E0 ldi R16,1
0070 2BC0 xjmp L17
0072 L21:
0072 .dbline 46
0072 ; }
0072 ; }
0072 .dbline 46
0072 80EA ldi R24,160
0074 83B9 out 0x3,R24
0076 .dbline 46
0076 84E8 ldi R24,132
0078 86BF out 0x36,R24
007A .dbline 46
007A .dbline 46
007A .dbline 47
007A L23:
007A .dbline 47
007A L24:
007A .dbline 47
007A ; }
007A 26B6 in R2,0x36
007C 27FE sbrs R2,7
007E FDCF rjmp L23
0080 .dbline 47
0080 .dbline 47
0080 .dbline 48
0080 ; }
0080 81B1 in R24,0x1
0082 887F andi R24,248
0084 8831 cpi R24,24
0086 11F0 breq L26
0088 .dbline 49
0088 ; }
0088 01E0 ldi R16,1
008A 1EC0 xjmp L17
008C L26:
008C .dbline 51
008C ; }
008C ; }
008C .dbline 51
008C 63B9 out 0x3,R22
008E .dbline 51
008E 84E8 ldi R24,132
0090 86BF out 0x36,R24
0092 .dbline 51
0092 .dbline 51
0092 .dbline 52
0092 L28:
0092 .dbline 52
0092 L29:
0092 .dbline 52
0092 ; }
0092 26B6 in R2,0x36
0094 27FE sbrs R2,7
0096 FDCF rjmp L28
0098 .dbline 52
0098 .dbline 52
0098 .dbline 53
0098 ; }
0098 81B1 in R24,0x1
009A 887F andi R24,248
009C 8832 cpi R24,40
009E 11F0 breq L31
00A0 .dbline 54
00A0 ; }
00A0 01E0 ldi R16,1
00A2 12C0 xjmp L17
00A4 L31:
00A4 .dbline 56
00A4 ; }
00A4 ; }
00A4 .dbline 56
00A4 43B9 out 0x3,R20
00A6 .dbline 56
00A6 84E8 ldi R24,132
00A8 86BF out 0x36,R24
00AA .dbline 56
00AA .dbline 56
00AA .dbline 57
00AA L33:
00AA .dbline 57
00AA L34:
00AA .dbline 57
00AA ; }
00AA 26B6 in R2,0x36
00AC 27FE sbrs R2,7
00AE FDCF rjmp L33
00B0 .dbline 57
00B0 .dbline 57
00B0 .dbline 58
00B0 ; }
00B0 81B1 in R24,0x1
00B2 887F andi R24,248
00B4 8832 cpi R24,40
00B6 11F0 breq L36
00B8 .dbline 59
00B8 ; }
00B8 01E0 ldi R16,1
00BA 06C0 xjmp L17
00BC L36:
00BC .dbline 61
00BC ; }
00BC ; }
00BC 84E9 ldi R24,148
00BE 86BF out 0x36,R24
00C0 .dbline 62
00C0 ; }
00C0 0AE0 ldi R16,10
00C2 10E0 ldi R17,0
00C4 B8DF xcall _delay_nms
00C6 .dbline 63
00C6 ; }
00C6 0027 clr R16
00C8 .dbline -2
00C8 L17:
00C8 0E940000 xcall pop_gset2
00CC .dbline 0 ; func end
00CC 0895 ret
00CE .dbsym r RegAddress 22 c
00CE .dbsym r Wdata 20 c
00CE .dbend
00CE .dbfunc e I2C_Read _I2C_Read fc
00CE ; temp -> R20
00CE ; RegAddress -> R16,R17
.even
00CE _I2C_Read::
00CE 0E940000 xcall push_gset1
00D2 .dbline -1
00D2 .dbline 74
00D2 ; }
00D2 ; }
00D2 ; }
00D2 ; }
00D2 ; }
00D2 ; }
00D2 ; }
00D2 ; }
00D2 ; }
00D2 ; }
00D2 ; }
00D2 .dbline 76
00D2 ; }
00D2 ; }
00D2 84EA ldi R24,164
00D4 86BF out 0x36,R24
00D6 .dbline 77
00D6 L39:
00D6 .dbline 77
00D6 L40:
00D6 .dbline 77
00D6 ; }
00D6 26B6 in R2,0x36
00D8 27FE sbrs R2,7
00DA FDCF rjmp L39
00DC .dbline 77
00DC .dbline 77
00DC .dbline 78
00DC ; }
00DC 81B1 in R24,0x1
00DE 887F andi R24,248
00E0 8830 cpi R24,8
00E2 11F0 breq L42
00E4 .dbline 79
00E4 ; }
00E4 01E0 ldi R16,1
00E6 40C0 xjmp L38
00E8 L42:
00E8 .dbline 81
00E8 ; }
00E8 ; }
00E8 .dbline 81
00E8 80EA ldi R24,160
00EA 83B9 out 0x3,R24
00EC .dbline 81
00EC 84E8 ldi R24,132
00EE 86BF out 0x36,R24
00F0 .dbline 81
00F0 .dbline 81
00F0 .dbline 82
00F0 L44:
00F0 .dbline 82
00F0 L45:
00F0 .dbline 82
00F0 ; }
00F0 26B6 in R2,0x36
00F2 27FE sbrs R2,7
00F4 FDCF rjmp L44
00F6 .dbline 82
00F6 .dbline 82
00F6 .dbline 83
00F6 ; }
00F6 81B1 in R24,0x1
00F8 887F andi R24,248
00FA 8831 cpi R24,24
00FC 11F0 breq L47
00FE .dbline 84
00FE ; }
00FE 01E0 ldi R16,1
0100 33C0 xjmp L38
0102 L47:
0102 .dbline 86
0102 ; }
0102 ; }
0102 .dbline 86
0102 03B9 out 0x3,R16
0104 .dbline 86
0104 84E8 ldi R24,132
0106 86BF out 0x36,R24
0108 .dbline 86
0108 .dbline 86
0108 .dbline 87
0108 L49:
0108 .dbline 87
0108 L50:
0108 .dbline 87
0108 ; }
0108 26B6 in R2,0x36
010A 27FE sbrs R2,7
010C FDCF rjmp L49
010E .dbline 87
010E .dbline 87
010E .dbline 88
010E ; }
010E 81B1 in R24,0x1
0110 887F andi R24,248
0112 8832 cpi R24,40
0114 11F0 breq L52
0116 .dbline 89
0116 ; }
0116 01E0 ldi R16,1
0118 27C0 xjmp L38
011A L52:
011A .dbline 91
011A ; }
011A ; }
011A 84EA ldi R24,164
011C 86BF out 0x36,R24
011E .dbline 92
011E L54:
011E .dbline 92
011E L55:
011E .dbline 92
011E ; }
011E 26B6 in R2,0x36
0120 27FE sbrs R2,7
0122 FDCF rjmp L54
0124 .dbline 92
0124 .dbline 92
0124 .dbline 93
0124 ; }
0124 81B1 in R24,0x1
0126 887F andi R24,248
0128 8031 cpi R24,16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -