📄 erpfg.lst
字号:
147 DFCA RCALL _LCD_DELAY
(0138) for(Y=0;*DISP!='\0';Y++)
148 24AA CLR R10
149 C008 RJMP 0x0152
(0139) {
(0140) LCD_DELAY();
14A DFC7 RCALL _LCD_DELAY
(0141) LCD_WRI_DATA(*DISP);
14B 01FA MOVW R30,R20
14C 8100 LDD R16,Z+0
14D DFB0 RCALL _LCD_WRI_DATA
(0142) LCD_DELAY();DISP++;
14E DFC3 RCALL _LCD_DELAY
14F 5F4F SUBI R20,0xFF
150 4F5F SBCI R21,0xFF
151 94A3 INC R10
152 01FA MOVW R30,R20
153 8020 LDD R2,Z+0
154 2022 TST R2
155 F7A1 BNE 0x014A
156 940C 0253 JMP pop_xgset300C
_shuzi_disp:
number --> Y,+0
NUMber --> R10
ADD --> R12
158 92AA ST R10,-Y
159 92CA ST R12,-Y
15A 2EA2 MOV R10,R18
15B 2EC0 MOV R12,R16
15C 9761 SBIW R28,0x11
(0143) }
(0144) }
(0145)
(0146) void shuzi_disp(unsigned char ADD,unsigned char NUMber) //一位数字显示
(0147) {
(0148) unsigned char number[]={"0123456789abcdef"};
15D EE8F LDI R24,0xEF
15E E090 LDI R25,0
15F 01FE MOVW R30,R28
160 E101 LDI R16,0x11
161 E010 LDI R17,0
162 93FA ST R31,-Y
163 93EA ST R30,-Y
164 939A ST R25,-Y
165 938A ST R24,-Y
166 940E 0262 CALL asgncblk
(0149) WDR();
168 95A8 WDR
(0150) LCD_WRI_ORDER(ADD); LCD_DELAY();
169 2D0C MOV R16,R12
16A DF7D RCALL _LCD_WRI_ORDER
16B DFA6 RCALL _LCD_DELAY
(0151) LCD_WRI_DATA(number[NUMber]); LCD_DELAY();
16C 01CE MOVW R24,R28
16D 2DEA MOV R30,R10
16E 27FF CLR R31
16F 0FE8 ADD R30,R24
170 1FF9 ADC R31,R25
171 8100 LDD R16,Z+0
172 DF8B RCALL _LCD_WRI_DATA
173 DF9E RCALL _LCD_DELAY
174 9661 ADIW R28,0x11
175 90C9 LD R12,Y+
176 90A9 LD R10,Y+
177 9508 RET
_NUM_DISPLAY_LCD:
GW --> R10
SW --> R12
SWS --> R10
BW --> R22
QW --> R20
WW --> R14
number --> Y,+0
NUMber --> R10
ADD --> R12
178 940E 0243 CALL push_xgsetF0FC
17A 0159 MOVW R10,R18
17B 2EC0 MOV R12,R16
17C 972C SBIW R28,0xC
(0152) }
(0153) void NUM_DISPLAY_LCD(unsigned char ADD,unsigned int NUMber)//数字显示
(0154) {
(0155) unsigned char WW;
(0156) unsigned char QW;
(0157) unsigned char BW;
(0158) unsigned char SW;
(0159) unsigned char SWS;
(0160) unsigned char GW;
(0161) unsigned char number[]={"0123456789 "};
17D E080 LDI R24,0
17E E091 LDI R25,1
17F 01FE MOVW R30,R28
180 E00C LDI R16,0xC
181 E010 LDI R17,0
182 93FA ST R31,-Y
183 93EA ST R30,-Y
184 939A ST R25,-Y
185 938A ST R24,-Y
186 940E 0262 CALL asgncblk
(0162) WDR();
188 95A8 WDR
(0163) LCD_WRI_ORDER(ADD);
189 2D0C MOV R16,R12
18A DF5D RCALL _LCD_WRI_ORDER
(0164) LCD_DELAY();
18B DF86 RCALL _LCD_DELAY
(0165) WW=NUMber/10000;
18C E120 LDI R18,0x10
18D E237 LDI R19,0x27
18E 0185 MOVW R16,R10
18F 940E 0206 CALL div16u
191 2EE0 MOV R14,R16
(0166) QW=(NUMber%10000)/1000;
192 E120 LDI R18,0x10
193 E237 LDI R19,0x27
194 0185 MOVW R16,R10
195 940E 0204 CALL mod16u
197 EE28 LDI R18,0xE8
198 E033 LDI R19,3
199 940E 0206 CALL div16u
19B 2F40 MOV R20,R16
(0167) BW=(NUMber%1000)/100;
19C EE28 LDI R18,0xE8
19D E033 LDI R19,3
19E 0185 MOVW R16,R10
19F 940E 0204 CALL mod16u
1A1 E624 LDI R18,0x64
1A2 E030 LDI R19,0
1A3 940E 0206 CALL div16u
1A5 2F60 MOV R22,R16
(0168) SWS=(NUMber%1000)%100;
1A6 EE28 LDI R18,0xE8
1A7 E033 LDI R19,3
1A8 0185 MOVW R16,R10
1A9 940E 0204 CALL mod16u
1AB E624 LDI R18,0x64
1AC E030 LDI R19,0
1AD 940E 0204 CALL mod16u
1AF 2EA0 MOV R10,R16
(0169) SW=SWS/10;
1B0 E01A LDI R17,0xA
1B1 940E 0222 CALL div8u
1B3 2EC0 MOV R12,R16
(0170) GW=SWS%10;
1B4 E01A LDI R17,0xA
1B5 2D0A MOV R16,R10
1B6 940E 0220 CALL mod8u
1B8 2EA0 MOV R10,R16
(0171) if(WW)
1B9 20EE TST R14
1BA F041 BEQ 0x01C3
(0172) LCD_WRI_DATA(number[WW]);
1BB 01CE MOVW R24,R28
1BC 2DEE MOV R30,R14
1BD 27FF CLR R31
1BE 0FE8 ADD R30,R24
1BF 1FF9 ADC R31,R25
1C0 8100 LDD R16,Z+0
1C1 DF3C RCALL _LCD_WRI_DATA
1C2 C002 RJMP 0x01C5
(0173) else
(0174) LCD_WRI_DATA(number[10]);
1C3 850A LDD R16,Y+10
1C4 DF39 RCALL _LCD_WRI_DATA
(0175) LCD_DELAY();
1C5 DF4C RCALL _LCD_DELAY
(0176) if(QW||WW)
1C6 2344 TST R20
1C7 F411 BNE 0x01CA
1C8 20EE TST R14
1C9 F041 BEQ 0x01D2
(0177) LCD_WRI_DATA(number[QW]);
1CA 01CE MOVW R24,R28
1CB 2FE4 MOV R30,R20
1CC 27FF CLR R31
1CD 0FE8 ADD R30,R24
1CE 1FF9 ADC R31,R25
1CF 8100 LDD R16,Z+0
1D0 DF2D RCALL _LCD_WRI_DATA
1D1 C002 RJMP 0x01D4
(0178) else
(0179) LCD_WRI_DATA(number[10]);
1D2 850A LDD R16,Y+10
1D3 DF2A RCALL _LCD_WRI_DATA
(0180) LCD_DELAY();
1D4 DF3D RCALL _LCD_DELAY
(0181) if(BW||QW||WW)
1D5 2366 TST R22
1D6 F421 BNE 0x01DB
1D7 2344 TST R20
1D8 F411 BNE 0x01DB
1D9 20EE TST R14
1DA F041 BEQ 0x01E3
(0182) LCD_WRI_DATA(number[BW]);
1DB 01CE MOVW R24,R28
1DC 2FE6 MOV R30,R22
1DD 27FF CLR R31
1DE 0FE8 ADD R30,R24
1DF 1FF9 ADC R31,R25
1E0 8100 LDD R16,Z+0
1E1 DF1C RCALL _LCD_WRI_DATA
1E2 C002 RJMP 0x01E5
(0183) else
(0184) LCD_WRI_DATA(number[10]);
1E3 850A LDD R16,Y+10
1E4 DF19 RCALL _LCD_WRI_DATA
(0185) LCD_DELAY();
1E5 DF2C RCALL _LCD_DELAY
(0186) if(SW!=0||BW||QW||WW)
1E6 20CC TST R12
1E7 F431 BNE 0x01EE
1E8 2366 TST R22
1E9 F421 BNE 0x01EE
1EA 2344 TST R20
1EB F411 BNE 0x01EE
1EC 20EE TST R14
1ED F041 BEQ 0x01F6
(0187) LCD_WRI_DATA(number[SW]);
1EE 01CE MOVW R24,R28
1EF 2DEC MOV R30,R12
1F0 27FF CLR R31
1F1 0FE8 ADD R30,R24
1F2 1FF9 ADC R31,R25
1F3 8100 LDD R16,Z+0
1F4 DF09 RCALL _LCD_WRI_DATA
1F5 C002 RJMP 0x01F8
(0188) else
(0189) LCD_WRI_DATA(number[10]);
1F6 850A LDD R16,Y+10
1F7 DF06 RCALL _LCD_WRI_DATA
(0190) LCD_DELAY();
1F8 DF19 RCALL _LCD_DELAY
(0191) LCD_WRI_DATA(number[GW]);
1F9 01CE MOVW R24,R28
1FA 2DEA MOV R30,R10
1FB 27FF CLR R31
1FC 0FE8 ADD R30,R24
1FD 1FF9 ADC R31,R25
1FE 8100 LDD R16,Z+0
1FF DEFE RCALL _LCD_WRI_DATA
(0192) LCD_DELAY();
FILE: <library>
200 DF11 RCALL _LCD_DELAY
201 962C ADIW R28,0xC
202 940C 0238 JMP pop_xgsetF0FC
mod16u:
204 9468 BSET 6
205 C001 RJMP xdiv16u
div16u:
206 94E8 BCLR 6
xdiv16u:
207 92EA ST R14,-Y
208 92FA ST R15,-Y
209 938A ST R24,-Y
20A 24EE CLR R14
20B 24FF CLR R15
20C E180 LDI R24,0x10
20D 0F00 LSL R16
20E 1F11 ROL R17
20F 1CEE ROL R14
210 1CFF ROL R15
211 16E2 CP R14,R18
212 06F3 CPC R15,R19
213 F018 BCS 0x0217
214 1AE2 SUB R14,R18
215 0AF3 SBC R15,R19
216 9503 INC R16
217 958A DEC R24
218 F7A1 BNE 0x020D
219 F416 BRTC 0x021C
21A 2D0E MOV R16,R14
21B 2D1F MOV R17,R15
21C 9189 LD R24,Y+
21D 90F9 LD R15,Y+
21E 90E9 LD R14,Y+
21F 9508 RET
mod8u:
220 9468 BSET 6
221 C001 RJMP xdiv8u
div8u:
222 94E8 BCLR 6
xdiv8u:
223 932A ST R18,-Y
224 92FA ST R15,-Y
225 92EA ST R14,-Y
226 24FF CLR R15
227 24EE CLR R14
228 E120 LDI R18,0x10
229 0F00 LSL R16
22A 1CFF ROL R15
22B 1CEE ROL R14
22C 16E1 CP R14,R17
22D F010 BCS 0x0230
22E 1AE1 SUB R14,R17
22F 9503 INC R16
230 952A DEC R18
231 F7B9 BNE 0x0229
232 F40E BRTC 0x0234
233 2D0E MOV R16,R14
234 90E9 LD R14,Y+
235 90F9 LD R15,Y+
236 9129 LD R18,Y+
237 9508 RET
pop_xgsetF0FC:
238 90A9 LD R10,Y+
239 90B9 LD R11,Y+
23A 90C9 LD R12,Y+
23B 90D9 LD R13,Y+
23C 90E9 LD R14,Y+
23D 90F9 LD R15,Y+
23E 9149 LD R20,Y+
23F 9159 LD R21,Y+
240 9169 LD R22,Y+
241 9179 LD R23,Y+
242 9508 RET
push_xgsetF0FC:
243 937A ST R23,-Y
244 936A ST R22,-Y
push_xgset30FC:
245 935A ST R21,-Y
246 934A ST R20,-Y
push_xgset00FC:
247 92FA ST R15,-Y
248 92EA ST R14,-Y
push_xgset003C:
249 92DA ST R13,-Y
24A 92CA ST R12,-Y
24B 92BA ST R11,-Y
24C 92AA ST R10,-Y
24D 9508 RET
push_xgset300C:
24E 935A ST R21,-Y
24F 934A ST R20,-Y
250 92BA ST R11,-Y
251 92AA ST R10,-Y
252 9508 RET
pop_xgset300C:
253 90A9 LD R10,Y+
254 90B9 LD R11,Y+
255 9149 LD R20,Y+
256 9159 LD R21,Y+
257 9508 RET
push_xgsetF000:
258 937A ST R23,-Y
259 936A ST R22,-Y
25A 935A ST R21,-Y
25B 934A ST R20,-Y
25C 9508 RET
pop_xgsetF000:
25D 9149 LD R20,Y+
25E 9159 LD R21,Y+
25F 9169 LD R22,Y+
260 9179 LD R23,Y+
261 9508 RET
asgncblk:
262 93AA ST R26,-Y
263 93BA ST R27,-Y
264 93EA ST R30,-Y
265 93FA ST R31,-Y
266 920A ST R0,-Y
267 81AF LDD R26,Y+7
268 85B8 LDD R27,Y+8
269 81ED LDD R30,Y+5
26A 81FE LDD R31,Y+6
26B 3000 CPI R16,0
26C 0701 CPC R16,R17
26D F031 BEQ 0x0274
26E 95C8 LPM
26F 920D ST R0,X+
270 9631 ADIW R30,1
271 5001 SUBI R16,1
272 4010 SBCI R17,0
273 CFF7 RJMP 0x026B
274 9009 LD R0,Y+
275 91F9 LD R31,Y+
276 91E9 LD R30,Y+
277 91B9 LD R27,Y+
278 91A9 LD R26,Y+
279 9624 ADIW R28,4
27A 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -