📄 训练项目八:液晶显示.lst
字号:
NO DEBUG INFORMATION AVAILABLE!
__start:
__text_start:
55 EFCF LDI R28,0xFF
56 E0DF LDI R29,0xF
57 BFCD OUT 0x3D,R28
58 BFDE OUT 0x3E,R29
59 51C0 SUBI R28,0x10
5A 40D0 SBCI R29,0
5B EA0A LDI R16,0xAA
5C 8308 STD Y+0,R16
5D 2400 CLR R0
5E EAEA LDI R30,0xAA
5F E0F0 LDI R31,0
60 E010 LDI R17,0
61 3AEA CPI R30,0xAA
62 07F1 CPC R31,R17
63 F011 BEQ 0x0066
64 9201 ST R0,Z+
65 CFFB RJMP 0x0061
66 8300 STD Z+0,R16
67 E6E0 LDI R30,0x60
68 E0F0 LDI R31,0
69 E6A0 LDI R26,0x60
6A E0B0 LDI R27,0
6B E010 LDI R17,0
6C E000 LDI R16,0
6D BF0B OUT 0x3B,R16
6E 3AEA CPI R30,0xAA
6F 07F1 CPC R31,R17
70 F021 BEQ 0x0075
71 95C8 LPM
72 9631 ADIW R30,1
73 920D ST R0,X+
74 CFF9 RJMP 0x006E
75 940E 00E0 CALL _main
_exit:
77 CFFF RJMP _exit
_timeDelay:
78 92AA ST R10,-Y
79 24AA CLR R10
7A C001 RJMP 0x007C
7B 94A3 INC R10
7C 2C2A MOV R2,R10
7D 2433 CLR R3
7E 1620 CP R2,R16
7F 0631 CPC R3,R17
80 F3D0 BCS 0x007B
81 90A9 LD R10,Y+
82 9508 RET
_lcdWrite:
83 990F SBIC 0x01,7
84 CFFE RJMP _lcdWrite
85 9AC0 SBI 0x18,0
86 BB0B OUT 0x1B,R16
87 98C0 CBI 0x18,0
88 9A1E SBI 0x03,6
89 9B0F SBIS 0x01,7
8A CFFE RJMP 0x0089
8B 9508 RET
_lcdInitiate:
8C 9AB8 SBI 0x17,0
8D B388 IN R24,0x18
8E 7F8E ANDI R24,0xFE
8F BB88 OUT 0x18,R24
90 E480 LDI R24,0x40
91 B982 OUT 0x02,R24
92 EF8F LDI R24,0xFF
93 B983 OUT 0x03,R24
94 E00A LDI R16,0xA
95 E010 LDI R17,0
96 DFE1 RCALL _timeDelay
97 9508 RET
_lcdClear:
98 EF04 LDI R16,0xF4
99 DFE9 RCALL _lcdWrite
9A 9508 RET
_characterDisplay:
9B 940E 00FF CALL push_xgsetF00C
9D 2EA2 MOV R10,R18
9E 2F60 MOV R22,R16
9F 814E LDD R20,Y+6
A0 815F LDD R21,Y+7
A1 C013 RJMP 0x00B5
A2 EF01 LDI R16,0xF1
A3 DFDF RCALL _lcdWrite
A4 2F06 MOV R16,R22
A5 DFDD RCALL _lcdWrite
A6 2D0A MOV R16,R10
A7 DFDB RCALL _lcdWrite
A8 01FA MOVW R30,R20
A9 8100 LDD R16,Z+0
AA DFD8 RCALL _lcdWrite
AB 5F4F SUBI R20,0xFF
AC 4F5F SBCI R21,0xFF
AD 3163 CPI R22,0x13
AE F028 BCS 0x00B4
AF E064 LDI R22,4
B0 2D8A MOV R24,R10
B1 5F88 SUBI R24,0xF8
B2 2EA8 MOV R10,R24
B3 C001 RJMP 0x00B5
B4 9563 INC R22
B5 01FA MOVW R30,R20
B6 8020 LDD R2,Z+0
B7 2022 TST R2
B8 F749 BNE 0x00A2
B9 940C 0106 JMP pop_xgsetF00C
_chineseDisplay:
BB 940E 00FF CALL push_xgsetF00C
BD 2EA2 MOV R10,R18
BE 2F60 MOV R22,R16
BF 814E LDD R20,Y+6
C0 815F LDD R21,Y+7
C1 C018 RJMP 0x00DA
C2 EF00 LDI R16,0xF0
C3 DFBF RCALL _lcdWrite
C4 2F06 MOV R16,R22
C5 DFBD RCALL _lcdWrite
C6 2D0A MOV R16,R10
C7 DFBB RCALL _lcdWrite
C8 01FA MOVW R30,R20
C9 8100 LDD R16,Z+0
CA 5A00 SUBI R16,0xA0
CB DFB7 RCALL _lcdWrite
CC 5F4F SUBI R20,0xFF
CD 4F5F SBCI R21,0xFF
CE 01FA MOVW R30,R20
CF 8100 LDD R16,Z+0
D0 5A00 SUBI R16,0xA0
D1 DFB1 RCALL _lcdWrite
D2 5F4F SUBI R20,0xFF
D3 4F5F SBCI R21,0xFF
D4 3069 CPI R22,0x9
D5 F018 BCS 0x00D9
D6 E062 LDI R22,2
D7 94A3 INC R10
D8 C001 RJMP 0x00DA
D9 9563 INC R22
DA 01FA MOVW R30,R20
DB 8020 LDD R2,Z+0
DC 2022 TST R2
DD F721 BNE 0x00C2
DE 940C 0106 JMP pop_xgsetF00C
_main:
E0 9722 SBIW R28,2
E1 940E 008C CALL _lcdInitiate
E3 940E 0098 CALL _lcdClear
E5 24AA CLR R10
E6 24BB CLR R11
E7 C014 RJMP 0x00FC
E8 E783 LDI R24,0x73
E9 E090 LDI R25,0
EA 8399 STD Y+1,R25
EB 8388 STD Y+0,R24
EC 2722 CLR R18
ED 2733 CLR R19
EE E004 LDI R16,4
EF E010 LDI R17,0
F0 940E 009B CALL _characterDisplay
F2 E680 LDI R24,0x60
F3 E090 LDI R25,0
F4 8399 STD Y+1,R25
F5 8388 STD Y+0,R24
F6 E022 LDI R18,2
F7 E030 LDI R19,0
F8 E002 LDI R16,2
F9 E010 LDI R17,0
FA 940E 00BB CALL _chineseDisplay
FC CFEB RJMP 0x00E8
FD 9622 ADIW R28,2
FE 9508 RET
push_xgsetF00C:
FF 937A ST R23,-Y
100 936A ST R22,-Y
101 935A ST R21,-Y
102 934A ST R20,-Y
103 92BA ST R11,-Y
104 92AA ST R10,-Y
105 9508 RET
pop_xgsetF00C:
106 90A9 LD R10,Y+
107 90B9 LD R11,Y+
108 9149 LD R20,Y+
109 9159 LD R21,Y+
10A 9169 LD R22,Y+
10B 9179 LD R23,Y+
10C 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -