📄 main.lis
字号:
012A 11F0 breq L57
012C .dbline 94
012C ; }
012C 01E0 ldi R16,1
012E 1CC0 xjmp L38
0130 L57:
0130 .dbline 96
0130 ; }
0130 ; }
0130 .dbline 96
0130 81EA ldi R24,161
0132 83B9 out 0x3,R24
0134 .dbline 96
0134 84E8 ldi R24,132
0136 86BF out 0x36,R24
0138 .dbline 96
0138 .dbline 96
0138 .dbline 97
0138 L59:
0138 .dbline 97
0138 L60:
0138 .dbline 97
0138 ; }
0138 26B6 in R2,0x36
013A 27FE sbrs R2,7
013C FDCF rjmp L59
013E .dbline 97
013E .dbline 97
013E .dbline 98
013E ; }
013E 81B1 in R24,0x1
0140 887F andi R24,248
0142 8034 cpi R24,64
0144 11F0 breq L62
0146 .dbline 99
0146 ; }
0146 01E0 ldi R16,1
0148 0FC0 xjmp L38
014A L62:
014A .dbline 101
014A ; }
014A ; }
014A 84E8 ldi R24,132
014C 86BF out 0x36,R24
014E .dbline 102
014E L64:
014E .dbline 102
014E L65:
014E .dbline 102
014E ; }
014E 26B6 in R2,0x36
0150 27FE sbrs R2,7
0152 FDCF rjmp L64
0154 .dbline 102
0154 .dbline 102
0154 .dbline 103
0154 ; }
0154 81B1 in R24,0x1
0156 887F andi R24,248
0158 8835 cpi R24,88
015A 11F0 breq L67
015C .dbline 104
015C ; }
015C 01E0 ldi R16,1
015E 04C0 xjmp L38
0160 L67:
0160 .dbline 106
0160 ; }
0160 ; }
0160 43B1 in R20,0x3
0162 .dbline 107
0162 ; }
0162 84E9 ldi R24,148
0164 86BF out 0x36,R24
0166 .dbline 108
0166 ; }
0166 042F mov R16,R20
0168 .dbline -2
0168 L38:
0168 0E940000 xcall pop_gset1
016C .dbline 0 ; func end
016C 0895 ret
016E .dbsym r temp 20 c
016E .dbsym r RegAddress 16 i
016E .dbend
016E .dbfile D:\avr\+++精华+++\24c02/1602.h
016E .dbfunc e LCD_init _LCD_init fV
.even
016E _LCD_init::
016E .dbline -1
016E .dbline 45
016E .dbline 46
016E 8AB3 in R24,0x1a
0170 806F ori R24,240
0172 8ABB out 0x1a,R24
0174 .dbline 47
0174 A79A sbi 0x14,7
0176 .dbline 48
0176 A69A sbi 0x14,6
0178 .dbline 49
0178 08E2 ldi R16,40
017A 14D0 xcall _LCD_write_command
017C .dbline 50
017C 0DD0 xcall _LCD_en_write
017E .dbline 51
017E 08E2 ldi R16,40
0180 10E0 ldi R17,0
0182 40DF xcall _delay_nus
0184 .dbline 52
0184 08E2 ldi R16,40
0186 0ED0 xcall _LCD_write_command
0188 .dbline 53
0188 0CE0 ldi R16,12
018A 0CD0 xcall _LCD_write_command
018C .dbline 54
018C 01E0 ldi R16,1
018E 0AD0 xcall _LCD_write_command
0190 .dbline 55
0190 02E0 ldi R16,2
0192 10E0 ldi R17,0
0194 50DF xcall _delay_nms
0196 .dbline -2
0196 L69:
0196 .dbline 0 ; func end
0196 0895 ret
0198 .dbend
0198 .dbfunc e LCD_en_write _LCD_en_write fV
.even
0198 _LCD_en_write::
0198 .dbline -1
0198 .dbline 59
0198 .dbline 60
0198 AF9A sbi 0x15,7
019A .dbline 61
019A 01E0 ldi R16,1
019C 10E0 ldi R17,0
019E 32DF xcall _delay_nus
01A0 .dbline 62
01A0 AF98 cbi 0x15,7
01A2 .dbline -2
01A2 L70:
01A2 .dbline 0 ; func end
01A2 0895 ret
01A4 .dbend
01A4 .dbfunc e LCD_write_command _LCD_write_command fV
01A4 ; command -> R20
.even
01A4 _LCD_write_command::
01A4 0E940000 xcall push_gset1
01A8 402F mov R20,R16
01AA .dbline -1
01AA .dbline 66
01AA .dbline 67
01AA 00E1 ldi R16,16
01AC 10E0 ldi R17,0
01AE 2ADF xcall _delay_nus
01B0 .dbline 68
01B0 AE98 cbi 0x15,6
01B2 .dbline 69
01B2 8BB3 in R24,0x1b
01B4 8F70 andi R24,15
01B6 8BBB out 0x1b,R24
01B8 .dbline 70
01B8 842F mov R24,R20
01BA 807F andi R24,240
01BC 2BB2 in R2,0x1b
01BE 282A or R2,R24
01C0 2BBA out 0x1b,R2
01C2 .dbline 71
01C2 EADF xcall _LCD_en_write
01C4 .dbline 72
01C4 842F mov R24,R20
01C6 8F70 andi R24,#0x0F
01C8 8295 swap R24
01CA 482F mov R20,R24
01CC .dbline 73
01CC 8BB3 in R24,0x1b
01CE 8F70 andi R24,15
01D0 8BBB out 0x1b,R24
01D2 .dbline 74
01D2 842F mov R24,R20
01D4 807F andi R24,240
01D6 2BB2 in R2,0x1b
01D8 282A or R2,R24
01DA 2BBA out 0x1b,R2
01DC .dbline 75
01DC DDDF xcall _LCD_en_write
01DE .dbline -2
01DE L71:
01DE 0E940000 xcall pop_gset1
01E2 .dbline 0 ; func end
01E2 0895 ret
01E4 .dbsym r command 20 c
01E4 .dbend
01E4 .dbfunc e LCD_write_data _LCD_write_data fV
01E4 ; data -> R20
.even
01E4 _LCD_write_data::
01E4 0E940000 xcall push_gset1
01E8 402F mov R20,R16
01EA .dbline -1
01EA .dbline 80
01EA .dbline 81
01EA 00E1 ldi R16,16
01EC 10E0 ldi R17,0
01EE 0ADF xcall _delay_nus
01F0 .dbline 82
01F0 AE9A sbi 0x15,6
01F2 .dbline 83
01F2 8BB3 in R24,0x1b
01F4 8F70 andi R24,15
01F6 8BBB out 0x1b,R24
01F8 .dbline 84
01F8 842F mov R24,R20
01FA 807F andi R24,240
01FC 2BB2 in R2,0x1b
01FE 282A or R2,R24
0200 2BBA out 0x1b,R2
0202 .dbline 85
0202 CADF xcall _LCD_en_write
0204 .dbline 86
0204 842F mov R24,R20
0206 8F70 andi R24,#0x0F
0208 8295 swap R24
020A 482F mov R20,R24
020C .dbline 87
020C 8BB3 in R24,0x1b
020E 8F70 andi R24,15
0210 8BBB out 0x1b,R24
0212 .dbline 88
0212 842F mov R24,R20
0214 807F andi R24,240
0216 2BB2 in R2,0x1b
0218 282A or R2,R24
021A 2BBA out 0x1b,R2
021C .dbline 89
021C BDDF xcall _LCD_en_write
021E .dbline -2
021E L72:
021E 0E940000 xcall pop_gset1
0222 .dbline 0 ; func end
0222 0895 ret
0224 .dbsym r data 20 c
0224 .dbend
0224 .dbfunc e LCD_set_xy _LCD_set_xy fV
0224 ; address -> R20
0224 ; y -> R20
0224 ; x -> R22
.even
0224 _LCD_set_xy::
0224 0E940000 xcall push_gset2
0228 422F mov R20,R18
022A 602F mov R22,R16
022C .dbline -1
022C .dbline 94
022C .dbline 96
022C 4423 tst R20
022E 19F4 brne L74
0230 .dbline 96
0230 462F mov R20,R22
0232 4058 subi R20,128 ; addi 128
0234 02C0 xjmp L75
0236 L74:
0236 .dbline 97
0236 462F mov R20,R22
0238 4054 subi R20,64 ; addi 192
023A L75:
023A .dbline 98
023A 042F mov R16,R20
023C B3DF xcall _LCD_write_command
023E .dbline -2
023E L73:
023E 0E940000 xcall pop_gset2
0242 .dbline 0 ; func end
0242 0895 ret
0244 .dbsym r address 20 c
0244 .dbsym r y 20 c
0244 .dbsym r x 22 c
0244 .dbend
0244 .dbfunc e LCD_write_string _LCD_write_string fV
0244 ; s -> R20,R21
0244 ; Y -> R10
0244 ; X -> R22
.even
0244 _LCD_write_string::
0244 0E940000 xcall push_gset3
0248 A22E mov R10,R18
024A 602F mov R22,R16
024C 4E81 ldd R20,y+6
024E 5F81 ldd R21,y+7
0250 .dbline -1
0250 .dbline 102
0250 .dbline 103
0250 2A2D mov R18,R10
0252 062F mov R16,R22
0254 E7DF xcall _LCD_set_xy
0256 05C0 xjmp L78
0258 L77:
0258 .dbline 105
0258 .dbline 106
0258 FA01 movw R30,R20
025A 0081 ldd R16,z+0
025C C3DF xcall _LCD_write_data
025E .dbline 107
025E 4F5F subi R20,255 ; offset = 1
0260 5F4F sbci R21,255
0262 .dbline 108
0262 L78:
0262 .dbline 104
0262 FA01 movw R30,R20
0264 2080 ldd R2,z+0
0266 2220 tst R2
0268 B9F7 brne L77
026A .dbline -2
026A L76:
026A 0E940000 xcall pop_gset3
026E .dbline 0 ; func end
026E 0895 ret
0270 .dbsym r s 20 pc
0270 .dbsym r Y 10 c
0270 .dbsym r X 22 c
0270 .dbend
0270 .dbfunc e LCD_write_char _LCD_write_char fV
0270 ; data -> y+4
0270 ; Y -> R22
0270 ; X -> R20
.even
0270 _LCD_write_char::
0270 0E940000 xcall push_gset2
0274 622F mov R22,R18
0276 402F mov R20,R16
0278 .dbline -1
0278 .dbline 113
0278 ; }
0278 ; }
0278 ; }
0278 ; }
0278 ; }
0278 .dbline 114
0278 ; }
0278 262F mov R18,R22
027A 042F mov R16,R20
027C D3DF xcall _LCD_set_xy
027E .dbline 115
027E ; }
027E 0C81 ldd R16,y+4
0280 B1DF xcall _LCD_write_data
0282 .dbline -2
0282 L80:
0282 0E940000 xcall pop_gset2
0286 .dbline 0 ; func end
0286 0895 ret
0288 .dbsym l data 4 c
0288 .dbsym r Y 22 c
0288 .dbsym r X 20 c
0288 .dbend
0288 .dbfile D:\avr\+++精华+++\24c02\main.c
0288 .dbfunc e main _main fV
0288 ; i -> R20
.even
0288 _main::
0288 2197 sbiw R28,1
028A .dbline -1
028A .dbline 7
028A .dbline 9
028A 71DF xcall _LCD_init
028C 28C0 xjmp L83
028E L82:
028E .dbline 11
028E .dbline 12
028E 2227 clr R18
0290 0EE6 ldi R16,110
0292 E0DE xcall _I2C_Write
0294 .dbline 13
0294 21E0 ldi R18,1
0296 03E6 ldi R16,99
0298 DDDE xcall _I2C_Write
029A .dbline 14
029A 22E0 ldi R18,2
029C 05E6 ldi R16,101
029E DADE xcall _I2C_Write
02A0 .dbline 15
02A0 23E0 ldi R18,3
02A2 00E7 ldi R16,112
02A4 D7DE xcall _I2C_Write
02A6 .dbline 16
02A6 24E0 ldi R18,4
02A8 05E7 ldi R16,117
02AA D4DE xcall _I2C_Write
02AC .dbline 18
02AC 0027 clr R16
02AE 1127 clr R17
02B0 0EDF xcall _I2C_Read
02B2 402F mov R20,R16
02B4 .dbline 19
02B4 4883 std y+0,R20
02B6 2227 clr R18
02B8 0027 clr R16
02BA DADF xcall _LCD_write_char
02BC .dbline 20
02BC 01E0 ldi R16,1
02BE 10E0 ldi R17,0
02C0 06DF xcall _I2C_Read
02C2 .dbline 21
02C2 90DF xcall _LCD_write_data
02C4 .dbline 22
02C4 02E0 ldi R16,2
02C6 10E0 ldi R17,0
02C8 02DF xcall _I2C_Read
02CA .dbline 23
02CA 8CDF xcall _LCD_write_data
02CC .dbline 24
02CC 03E0 ldi R16,3
02CE 10E0 ldi R17,0
02D0 FEDE xcall _I2C_Read
02D2 .dbline 25
02D2 88DF xcall _LCD_write_data
02D4 .dbline 26
02D4 04E0 ldi R16,4
02D6 10E0 ldi R17,0
02D8 FADE xcall _I2C_Read
02DA 402F mov R20,R16
02DC .dbline 27
02DC 83DF xcall _LCD_write_data
02DE .dbline 28
02DE L83:
02DE .dbline 10
02DE D7CF xjmp L82
02E0 X0:
02E0 .dbline -2
02E0 L81:
02E0 2196 adiw R28,1
02E2 .dbline 0 ; func end
02E2 0895 ret
02E4 .dbsym r i 20 c
02E4 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -