📄 训练项目七:键盘的使用.lst
字号:
NO DEBUG INFORMATION AVAILABLE!
__start:
__text_start:
4E EFCF LDI R28,0xFF
4F E0DF LDI R29,0xF
50 BFCD OUT 0x3D,R28
51 BFDE OUT 0x3E,R29
52 51C0 SUBI R28,0x10
53 40D0 SBCI R29,0
54 EA0A LDI R16,0xAA
55 8308 STD Y+0,R16
56 2400 CLR R0
57 E6E3 LDI R30,0x63
58 E0F0 LDI R31,0
59 E010 LDI R17,0
5A 36E3 CPI R30,0x63
5B 07F1 CPC R31,R17
5C F011 BEQ 0x005F
5D 9201 ST R0,Z+
5E CFFB RJMP 0x005A
5F 8300 STD Z+0,R16
60 E9E8 LDI R30,0x98
61 E0F0 LDI R31,0
62 E6A0 LDI R26,0x60
63 E0B0 LDI R27,0
64 E010 LDI R17,0
65 E000 LDI R16,0
66 BF0B OUT 0x3B,R16
67 39EB CPI R30,0x9B
68 07F1 CPC R31,R17
69 F021 BEQ 0x006E
6A 95C8 LPM
6B 9631 ADIW R30,1
6C 920D ST R0,X+
6D CFF9 RJMP 0x0067
6E 940E 0071 CALL _main
_exit:
70 CFFF RJMP _exit
_main:
71 24AA CLR R10
72 D0E5 RCALL _init_7279
73 D149 RCALL _s_delay
74 EA04 LDI R16,0xA4
75 E010 LDI R17,0
76 D0F4 RCALL _send
77 C09A RJMP 0x0112
78 9140 0060 LDS R20,k
7A 2755 CLR R21
7B 3441 CPI R20,0x41
7C E0E0 LDI R30,0
7D 075E CPC R21,R30
7E F40C BGE 0x0080
7F C092 RJMP 0x0112
80 E58C LDI R24,0x5C
81 E090 LDI R25,0
82 1784 CP R24,R20
83 0795 CPC R25,R21
84 F40C BGE 0x0086
85 C08C RJMP 0x0112
86 E680 LDI R24,0x60
87 E090 LDI R25,0
88 01FA MOVW R30,R20
89 54E1 SUBI R30,0x41
8A 40F0 SBCI R31,0
8B 0FEE LSL R30
8C 1FFF ROL R31
8D 0FE8 ADD R30,R24
8E 1FF9 ADC R31,R25
8F 9027 ELPM R2,Z+
90 9036 ELPM R3,0(Z)
91 01F1 MOVW R30,R2
92 9409 IJMP
93 9AC2 SBI 0x18,2
94 EC08 LDI R16,0xC8
95 E010 LDI R17,0
96 D0D4 RCALL _send
97 2700 CLR R16
98 2711 CLR R17
99 D0D1 RCALL _send
9A C077 RJMP 0x0112
9B 9AC2 SBI 0x18,2
9C EC08 LDI R16,0xC8
9D E010 LDI R17,0
9E D0CC RCALL _send
9F E001 LDI R16,1
A0 E010 LDI R17,0
A1 D0C9 RCALL _send
A2 C06F RJMP 0x0112
A3 9AC2 SBI 0x18,2
A4 EC08 LDI R16,0xC8
A5 E010 LDI R17,0
A6 D0C4 RCALL _send
A7 E002 LDI R16,2
A8 E010 LDI R17,0
A9 D0C1 RCALL _send
AA C067 RJMP 0x0112
AB 9AC2 SBI 0x18,2
AC EC08 LDI R16,0xC8
AD E010 LDI R17,0
AE D0BC RCALL _send
AF E003 LDI R16,3
B0 E010 LDI R17,0
B1 D0B9 RCALL _send
B2 C05F RJMP 0x0112
B3 9AC2 SBI 0x18,2
B4 EC08 LDI R16,0xC8
B5 E010 LDI R17,0
B6 D0B4 RCALL _send
B7 E004 LDI R16,4
B8 E010 LDI R17,0
B9 D0B1 RCALL _send
BA C057 RJMP 0x0112
BB 9AC2 SBI 0x18,2
BC EC08 LDI R16,0xC8
BD E010 LDI R17,0
BE D0AC RCALL _send
BF E005 LDI R16,5
C0 E010 LDI R17,0
C1 D0A9 RCALL _send
C2 C04F RJMP 0x0112
C3 9AC2 SBI 0x18,2
C4 EC08 LDI R16,0xC8
C5 E010 LDI R17,0
C6 D0A4 RCALL _send
C7 E006 LDI R16,6
C8 E010 LDI R17,0
C9 D0A1 RCALL _send
CA C047 RJMP 0x0112
CB 9AC2 SBI 0x18,2
CC EC08 LDI R16,0xC8
CD E010 LDI R17,0
CE D09C RCALL _send
CF E007 LDI R16,7
D0 E010 LDI R17,0
D1 D099 RCALL _send
D2 C03F RJMP 0x0112
D3 9AC2 SBI 0x18,2
D4 EC08 LDI R16,0xC8
D5 E010 LDI R17,0
D6 D094 RCALL _send
D7 E008 LDI R16,0x8
D8 E010 LDI R17,0
D9 D091 RCALL _send
DA C037 RJMP 0x0112
DB 9AC2 SBI 0x18,2
DC EC08 LDI R16,0xC8
DD E010 LDI R17,0
DE D08C RCALL _send
DF E009 LDI R16,0x9
E0 E010 LDI R17,0
E1 D089 RCALL _send
E2 C02F RJMP 0x0112
E3 9AC2 SBI 0x18,2
E4 EC08 LDI R16,0xC8
E5 E010 LDI R17,0
E6 D084 RCALL _send
E7 E00A LDI R16,0xA
E8 E010 LDI R17,0
E9 D081 RCALL _send
EA C027 RJMP 0x0112
EB 9AC2 SBI 0x18,2
EC EC08 LDI R16,0xC8
ED E010 LDI R17,0
EE D07C RCALL _send
EF E00B LDI R16,0xB
F0 E010 LDI R17,0
F1 D079 RCALL _send
F2 C01F RJMP 0x0112
F3 9AC2 SBI 0x18,2
F4 EC08 LDI R16,0xC8
F5 E010 LDI R17,0
F6 D074 RCALL _send
F7 E00C LDI R16,0xC
F8 E010 LDI R17,0
F9 D071 RCALL _send
FA C017 RJMP 0x0112
FB 9AC2 SBI 0x18,2
FC EC08 LDI R16,0xC8
FD E010 LDI R17,0
FE D06C RCALL _send
FF E00D LDI R16,0xD
100 E010 LDI R17,0
101 D069 RCALL _send
102 C00F RJMP 0x0112
103 9AC2 SBI 0x18,2
104 EC08 LDI R16,0xC8
105 E010 LDI R17,0
106 D064 RCALL _send
107 E00E LDI R16,0xE
108 E010 LDI R17,0
109 D061 RCALL _send
10A C007 RJMP 0x0112
10B 9AC2 SBI 0x18,2
10C EC08 LDI R16,0xC8
10D E010 LDI R17,0
10E D05C RCALL _send
10F E00F LDI R16,0xF
110 E010 LDI R17,0
111 D059 RCALL _send
112 CF65 RJMP 0x0078
113 9508 RET
_key_check:
114 920A ST R0,-Y
115 921A ST R1,-Y
116 922A ST R2,-Y
117 923A ST R3,-Y
118 924A ST R4,-Y
119 925A ST R5,-Y
11A 926A ST R6,-Y
11B 927A ST R7,-Y
11C 928A ST R8,-Y
11D 929A ST R9,-Y
11E 930A ST R16,-Y
11F 931A ST R17,-Y
120 932A ST R18,-Y
121 933A ST R19,-Y
122 938A ST R24,-Y
123 939A ST R25,-Y
124 93AA ST R26,-Y
125 93BA ST R27,-Y
126 93EA ST R30,-Y
127 93FA ST R31,-Y
128 B60F IN R0,0x3F
129 920A ST R0,-Y
12A E081 LDI R24,1
12B E090 LDI R25,0
12C 9390 0062 STS n+1,R25
12E 9380 0061 STS n,R24
130 E105 LDI R16,0x15
131 E010 LDI R17,0
132 D038 RCALL _send
133 D051 RCALL _receive
134 01C8 MOVW R24,R16
135 96CD ADIW R24,0x3D
136 9380 0060 STS k,R24
138 9AC2 SBI 0x18,2
139 9009 LD R0,Y+
13A BE0F OUT 0x3F,R0
13B 91F9 LD R31,Y+
13C 91E9 LD R30,Y+
13D 91B9 LD R27,Y+
13E 91A9 LD R26,Y+
13F 9199 LD R25,Y+
140 9189 LD R24,Y+
141 9139 LD R19,Y+
142 9129 LD R18,Y+
143 9119 LD R17,Y+
144 9109 LD R16,Y+
145 9099 LD R9,Y+
146 9089 LD R8,Y+
147 9079 LD R7,Y+
148 9069 LD R6,Y+
149 9059 LD R5,Y+
14A 9049 LD R4,Y+
14B 9039 LD R3,Y+
14C 9029 LD R2,Y+
14D 9019 LD R1,Y+
14E 9009 LD R0,Y+
14F 9518 RETI
_led_init:
150 B387 IN R24,0x17
151 608C ORI R24,0xC
152 BB87 OUT 0x17,R24
153 9AC2 SBI 0x18,2
154 EA04 LDI R16,0xA4
155 E010 LDI R17,0
156 D014 RCALL _send
157 9508 RET
_init_7279:
158 9478 BSET 7
159 B789 IN R24,0x39
15A 6088 ORI R24,0x8
15B BF89 OUT 0x39,R24
15C 9180 006A LDS R24,0x006A
15E 738F ANDI R24,0x3F
15F 9380 006A STS 0x006A,R24
161 B381 IN R24,0x11
162 7F87 ANDI R24,0xF7
163 BB81 OUT 0x11,R24
164 B387 IN R24,0x17
165 608C ORI R24,0xC
166 BB87 OUT 0x17,R24
167 B382 IN R24,0x12
168 7F8B ANDI R24,0xFB
169 BB82 OUT 0x12,R24
16A 9508 RET
_send:
16B 92AA ST R10,-Y
16C 934A ST R20,-Y
16D 2EA0 MOV R10,R16
16E 9A8A SBI 0x11,2
16F 98C2 CBI 0x18,2
170 D046 RCALL _l_delay
171 2744 CLR R20
172 C00C RJMP 0x017F
173 FEA7 SBRS R10,7
174 C002 RJMP 0x0177
175 9A92 SBI 0x12,2
176 C001 RJMP 0x0178
177 9892 CBI 0x12,2
178 D044 RCALL _s_delay
179 9AC3 SBI 0x18,3
17A D042 RCALL _s_delay
17B 98C3 CBI 0x18,3
17C D040 RCALL _s_delay
17D 0CAA LSL R10
17E 9543 INC R20
17F 3048 CPI R20,0x8
180 F390 BCS 0x0173
181 9892 CBI 0x12,2
182 9149 LD R20,Y+
183 90A9 LD R10,Y+
184 9508 RET
_receive:
185 934A ST R20,-Y
186 936A ST R22,-Y
187 2744 CLR R20
188 B381 IN R24,0x11
189 7F8B ANDI R24,0xFB
18A BB81 OUT 0x11,R24
18B 2766 CLR R22
18C C00B RJMP 0x0198
18D 9AC3 SBI 0x18,3
18E D02E RCALL _s_delay
18F 0F44 LSL R20
190 B380 IN R24,0x10
191 7084 ANDI R24,4
192 3084 CPI R24,4
193 F409 BNE 0x0195
194 6041 ORI R20,1
195 98C3 CBI 0x18,3
196 D026 RCALL _s_delay
197 9563 INC R22
198 3068 CPI R22,0x8
199 F398 BCS 0x018D
19A 9892 CBI 0x12,2
19B 2F04 MOV R16,R20
19C 9169 LD R22,Y+
19D 9149 LD R20,Y+
19E 9508 RET
_delay_1ms:
19F 2700 CLR R16
1A0 2711 CLR R17
1A1 C002 RJMP 0x01A4
1A2 5F0F SUBI R16,0xFF
1A3 4F1F SBCI R17,0xFF
1A4 3D04 CPI R16,0xD4
1A5 E0E8 LDI R30,0x8
1A6 071E CPC R17,R30
1A7 F3D0 BCS 0x01A2
1A8 9508 RET
_delay_nms:
1A9 940E 01C3 CALL push_xgset300C
1AB 0158 MOVW R10,R16
1AC 2744 CLR R20
1AD 2755 CLR R21
1AE C003 RJMP 0x01B2
1AF DFEF RCALL _delay_1ms
1B0 5F4F SUBI R20,0xFF
1B1 4F5F SBCI R21,0xFF
1B2 154A CP R20,R10
1B3 055B CPC R21,R11
1B4 F3D0 BCS 0x01AF
1B5 940C 01C8 JMP pop_xgset300C
_l_delay:
1B7 E201 LDI R16,0x21
1B8 C001 RJMP 0x01BA
1B9 950A DEC R16
1BA 2300 TST R16
1BB F7E9 BNE 0x01B9
1BC 9508 RET
_s_delay:
1BD E00B LDI R16,0xB
1BE C001 RJMP 0x01C0
1BF 950A DEC R16
1C0 2300 TST R16
1C1 F7E9 BNE 0x01BF
1C2 9508 RET
push_xgset300C:
1C3 935A ST R21,-Y
1C4 934A ST R20,-Y
1C5 92BA ST R11,-Y
1C6 92AA ST R10,-Y
1C7 9508 RET
pop_xgset300C:
1C8 90A9 LD R10,Y+
1C9 90B9 LD R11,Y+
1CA 9149 LD R20,Y+
1CB 9159 LD R21,Y+
1CC 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -