📄 lcd1602.lst
字号:
FILE: <library>
__text_start:
__start:
0026 E5CF LDI R28,0x5F
0027 E0D2 LDI R29,2
0028 BFCD OUT 0x3D,R28
0029 BFDE OUT 0x3E,R29
002A 51C0 SUBI R28,0x10
002B 40D0 SBCI R29,0
002C EA0A LDI R16,0xAA
002D 8308 STD Y+0,R16
002E 2400 CLR R0
002F E6E0 LDI R30,0x60
0030 E0F0 LDI R31,0
0031 E010 LDI R17,0
0032 36E0 CPI R30,0x60
0033 07F1 CPC R31,R17
0034 F011 BEQ 0x0037
0035 9201 ST R0,Z+
0036 CFFB RJMP 0x0032
0037 8300 STD Z+0,R16
0038 E4EC LDI R30,0x4C
0039 E0F0 LDI R31,0
003A E6A0 LDI R26,0x60
003B E0B0 LDI R27,0
003C E010 LDI R17,0
003D 34EC CPI R30,0x4C
003E 07F1 CPC R31,R17
003F F021 BEQ 0x0044
0040 95C8 LPM
0041 9631 ADIW R30,1
0042 920D ST R0,X+
0043 CFF9 RJMP 0x003D
0044 D05B RCALL _main
_exit:
0045 CFFF RJMP _exit
_DelaymS:
j --> R20
k --> R22
i --> R16
0046 D07C RCALL push_gset2
0047 2744 CLR R20
0048 2755 CLR R21
0049 C00C RJMP 0x0056
004A 2766 CLR R22
004B 2777 CLR R23
004C C002 RJMP 0x004F
004D 5F6F SUBI R22,0xFF
004E 4F7F SBCI R23,0xFF
004F E382 LDI R24,0x32
0050 E090 LDI R25,0
0051 1786 CP R24,R22
0052 0797 CPC R25,R23
0053 F7C8 BCC 0x004D
0054 5F4F SUBI R20,0xFF
0055 4F5F SBCI R21,0xFF
0056 1740 CP R20,R16
0057 0751 CPC R21,R17
0058 F388 BCS 0x004A
0059 D061 RCALL pop_gset2
005A 9508 RET
_init_mcu:
005B EF8F LDI R24,0xFF
005C BB84 OUT 0x14,R24
005D BB81 OUT 0x11,R24
005E 9508 RET
_write_data:
h --> R20
005F D065 RCALL push_gset1
0060 2F40 MOV R20,R16
0061 BB45 OUT 0x15,R20
0062 9A94 SBI 0x12,4
0063 9895 CBI 0x12,5
0064 9896 CBI 0x12,6
0065 E001 LDI R16,1
0066 E010 LDI R17,0
0067 DFDE RCALL _DelaymS
0068 9A96 SBI 0x12,6
0069 D05E RCALL pop_gset1
006A 9508 RET
_write_code:
h --> R20
006B D059 RCALL push_gset1
006C 2F40 MOV R20,R16
006D BB45 OUT 0x15,R20
006E 9894 CBI 0x12,4
006F 9895 CBI 0x12,5
0070 9896 CBI 0x12,6
0071 E001 LDI R16,1
0072 E010 LDI R17,0
0073 DFD2 RCALL _DelaymS
0074 9A96 SBI 0x12,6
0075 D052 RCALL pop_gset1
0076 9508 RET
_init_lcd:
0077 E001 LDI R16,1
0078 DFF2 RCALL _write_code
0079 E308 LDI R16,0x38
007A DFF0 RCALL _write_code
007B E00F LDI R16,0xF
007C DFEE RCALL _write_code
007D E006 LDI R16,6
007E DFEC RCALL _write_code
007F E003 LDI R16,3
0080 DFEA RCALL _write_code
0081 9508 RET
_display_lcd:
i --> R20
p --> R22
0082 D040 RCALL push_gset2
0083 01B8 MOVW R22,R16
0084 E800 LDI R16,0x80
0085 DFE5 RCALL _write_code
0086 2744 CLR R20
0087 C007 RJMP 0x008F
0088 2FE4 MOV R30,R20
0089 27FF CLR R31
008A 0FE6 ADD R30,R22
008B 1FF7 ADC R31,R23
008C 8100 LDD R16,Z+0
008D DFD1 RCALL _write_data
008E 9543 INC R20
008F 3140 CPI R20,0x10
0090 F3B8 BCS 0x0088
0091 EC00 LDI R16,0xC0
0092 DFD8 RCALL _write_code
0093 E140 LDI R20,0x10
0094 C007 RJMP 0x009C
0095 2FE4 MOV R30,R20
0096 27FF CLR R31
0097 0FE6 ADD R30,R22
0098 1FF7 ADC R31,R23
0099 8100 LDD R16,Z+0
009A DFC4 RCALL _write_data
009B 9543 INC R20
009C 3240 CPI R20,0x20
009D F3B8 BCS 0x0095
009E D01C RCALL pop_gset2
009F 9508 RET
_main:
i --> Y+1
buf --> Y+0
00A0 97A2 SBIW R28,0x22
00A1 E28A LDI R24,0x2A
00A2 E090 LDI R25,0
00A3 01FE MOVW R30,R28
00A4 E202 LDI R16,0x22
00A5 E010 LDI R17,0
00A6 93FA ST R31,-Y
00A7 93EA ST R30,-Y
00A8 939A ST R25,-Y
00A9 938A ST R24,-Y
00AA D031 RCALL asgncblk
00AB E604 LDI R16,0x64
00AC E010 LDI R17,0
00AD DF98 RCALL _DelaymS
00AE DFAC RCALL _init_mcu
00AF DFC7 RCALL _init_lcd
00B0 018E MOVW R16,R28
00B1 DFD0 RCALL _display_lcd
00B2 E689 LDI R24,0x69
00B3 8388 STD Y+0,R24
00B4 018E MOVW R16,R28
00B5 DFCC RCALL _display_lcd
00B6 EC00 LDI R16,0xC0
00B7 DFB3 RCALL _write_code
00B8 CFFF RJMP 0x00B8
00B9 96A2 ADIW R28,0x22
00BA 9508 RET
pop_gset2:
00BB E0E2 LDI R30,2
00BC C00C RJMP pop
push_gset5:
00BD 92FA ST R15,-Y
00BE 92EA ST R14,-Y
push_gset4:
00BF 92DA ST R13,-Y
00C0 92CA ST R12,-Y
push_gset3:
00C1 92BA ST R11,-Y
00C2 92AA ST R10,-Y
push_gset2:
00C3 937A ST R23,-Y
00C4 936A ST R22,-Y
push_gset1:
00C5 935A ST R21,-Y
00C6 934A ST R20,-Y
00C7 9508 RET
pop_gset1:
00C8 E0E1 LDI R30,1
pop:
00C9 9149 LD R20,Y+
00CA 9159 LD R21,Y+
00CB FDE0 SBRC R30,0
00CC 9508 RET
00CD 9169 LD R22,Y+
00CE 9179 LD R23,Y+
00CF FDE1 SBRC R30,1
00D0 9508 RET
00D1 90A9 LD R10,Y+
00D2 90B9 LD R11,Y+
00D3 FDE2 SBRC R30,2
00D4 9508 RET
00D5 90C9 LD R12,Y+
00D6 90D9 LD R13,Y+
00D7 FDE3 SBRC R30,3
00D8 9508 RET
00D9 90E9 LD R14,Y+
00DA 90F9 LD R15,Y+
00DB 9508 RET
asgncblk:
00DC 93AA ST R26,-Y
00DD 93BA ST R27,-Y
00DE 93EA ST R30,-Y
00DF 93FA ST R31,-Y
00E0 920A ST R0,-Y
00E1 81AF LDD R26,Y+7
00E2 85B8 LDD R27,Y+8
00E3 81ED LDD R30,Y+5
00E4 81FE LDD R31,Y+6
00E5 3000 CPI R16,0
00E6 0701 CPC R16,R17
00E7 F031 BEQ 0x00EE
00E8 95C8 LPM
00E9 920D ST R0,X+
00EA 9631 ADIW R30,1
00EB 5001 SUBI R16,1
00EC 4010 SBCI R17,0
00ED CFF7 RJMP 0x00E5
00EE 9009 LD R0,Y+
00EF 91F9 LD R31,Y+
00F0 91E9 LD R30,Y+
00F1 91B9 LD R27,Y+
00F2 91A9 LD R26,Y+
00F3 9624 ADIW R28,4
00F4 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -