📄 displa.lst
字号:
0161 918001D9 LDS R24,intemp
0163 3081 CPI R24,1
0164 F409 BNE 0x0166
0165 9A5C SBI 0x0B,4
(0127) if(intemp>=2) { PORTD|= BIT(5);}
0166 918001D9 LDS R24,intemp
0168 3082 CPI R24,2
0169 F008 BCS 0x016B
016A 9A5D SBI 0x0B,5
(0128) sandchar_display(co,co);
016B E020 LDI R18,0
016C E031 LDI R19,1
016D E000 LDI R16,0
016E E011 LDI R17,1
016F D655 RCALL _sandchar_display
(0129) display_flash(135,0,1);
0170 E081 LDI R24,1
0171 8388 STD Y+0,R24
0172 2722 CLR R18
0173 E807 LDI R16,0x87
0174 D659 RCALL _display_flash
(0130) SEI();
0175 9478 BSET 7
0176 9622 ADIW R28,2
0177 DB0F RCALL pop_gset2
0178 9508 RET
_menu:
intm_m --> R10
reset_m --> R14
ccc --> R12
timebit --> R10
pontmp --> R10
tdbit --> Y+17
in_m --> R12
cbit --> Y+16
fbit --> Y+15
0179 DB15 RCALL push_gset5
017A 9762 SBIW R28,0x12
(0131) }
(0132) //--------------------------------------------------------------------------------------------------------------------------------------------按键菜单
(0133) void menu(void)
(0134) {
(0135) unsigned char pontmp,timebit, fbit,cbit,tdbit,ccc;
(0136) unsigned char reset_m,in_m,intm_m;
(0137) pontmp=pontdata;
017B 90A001DB LDS R10,pontdata
(0138) fbit=0; cbit=5 ; tdbit=0; timebit=0;
017D 2400 CLR R0
017E 860F STD Y+15,R0
017F E085 LDI R24,5
0180 8B88 STD Y+16,R24
0181 8A09 STD Y+17,R0
0182 24AA CLR R10
(0139) key=GetKey();
0183 D7EA RCALL _GetKey
0184 93000199 STS key,R16
0186 DC7F RCALL 0x0E06
(0140) keybit=0; keytime=0;
(0141) switch (key)
0187 2EA0 MOV R10,R16
0188 24BB CLR R11
0189 01C5 MOVW R24,R10
018A 308C CPI R24,0xC
018B E0E0 LDI R30,0
018C 079E CPC R25,R30
018D F409 BNE 0x018F
018E C53B RJMP 0x06CA
018F E08C LDI R24,0xC
0190 158A CP R24,R10
0191 059B CPC R25,R11
0192 F034 BLT 0x0199
0193 01C5 MOVW R24,R10
0194 3087 CPI R24,7
0195 E0E0 LDI R30,0
0196 079E CPC R25,R30
0197 F099 BEQ 0x01AB
0198 C5E9 RJMP 0x0782
0199 01C5 MOVW R24,R10
019A 3183 CPI R24,0x13
019B E0E0 LDI R30,0
019C 079E CPC R25,R30
019D F409 BNE 0x019F
019E C52D RJMP 0x06CC
019F 3183 CPI R24,0x13
01A0 E0E0 LDI R30,0
01A1 079E CPC R25,R30
01A2 F40C BGE 0x01A4
01A3 C5DE RJMP 0x0782
01A4 01C5 MOVW R24,R10
01A5 3187 CPI R24,0x17
01A6 E0E0 LDI R30,0
01A7 079E CPC R25,R30
01A8 F409 BNE 0x01AA
01A9 C1A9 RJMP 0x0353
01AA C5D7 RJMP 0x0782
(0142) {
(0143) case set:
(0144) sandcnd_display(psx,timeset[0],0);
01AB 2422 CLR R2
01AC 822A STD Y+2,R2
01AD 904001F3 LDS R4,timeset+2
01AF 905001F4 LDS R5,timeset+3
01B1 902001F1 LDS R2,timeset
01B3 903001F2 LDS R3,timeset+1
01B5 DD27 RCALL 0x0EDD
01B6 D5F6 RCALL _sandcnd_display
01B7 C199 RJMP 0x0351
(0145) while(1)
(0146) {
(0147) o=psx;
01B8 E482 LDI R24,0x42
01B9 DC0B RCALL 0x0DC5
(0148) o[1]=10;
01BA E08A LDI R24,0xA
01BB DC61 RCALL 0x0E1D
01BC 8381 STD Z+1,R24
01BD DC5F RCALL 0x0E1D
(0149) o[2]=10;
01BE 8382 STD Z+2,R24
01BF DC34 RCALL 0x0DF4
(0150) key=display_flash(fbit,cbit,2);
01C0 D60D RCALL _display_flash
01C1 93000199 STS key,R16
(0151) psx[2]=12;
01C3 E08C LDI R24,0xC
01C4 93800144 STS psx+2,R24
(0152) switch (key)
01C6 2E20 MOV R2,R16
01C7 2433 CLR R3
01C8 823C STD Y+4,R3
01C9 822B STD Y+3,R2
01CA 01C1 MOVW R24,R2
01CB 3183 CPI R24,0x13
01CC E0E0 LDI R30,0
01CD 079E CPC R25,R30
01CE F409 BNE 0x01D0
01CF C4FC RJMP 0x06CC
01D0 E183 LDI R24,0x13
01D1 1582 CP R24,R2
01D2 0593 CPC R25,R3
01D3 F0B4 BLT 0x01EA
01D4 818B LDD R24,Y+3
01D5 819C LDD R25,Y+4
01D6 3087 CPI R24,7
01D7 E0E0 LDI R30,0
01D8 079E CPC R25,R30
01D9 F0C1 BEQ 0x01F2
01DA 308B CPI R24,0xB
01DB E0E0 LDI R30,0
01DC 079E CPC R25,R30
01DD F409 BNE 0x01DF
01DE C160 RJMP 0x033F
01DF 308D CPI R24,0xD
01E0 E0E0 LDI R30,0
01E1 079E CPC R25,R30
01E2 F409 BNE 0x01E4
01E3 C148 RJMP 0x032C
01E4 308E CPI R24,0xE
01E5 E0E0 LDI R30,0
01E6 079E CPC R25,R30
01E7 F409 BNE 0x01E9
01E8 C132 RJMP 0x031B
01E9 C167 RJMP 0x0351
01EA 818B LDD R24,Y+3
01EB 819C LDD R25,Y+4
01EC 3187 CPI R24,0x17
01ED E0E0 LDI R30,0
01EE 079E CPC R25,R30
01EF F409 BNE 0x01F1
01F0 C162 RJMP 0x0353
01F1 C15F RJMP 0x0351
(0153) {
(0154) case set:
(0155) if(fbit==2)
01F2 858F LDD R24,Y+15
01F3 3082 CPI R24,2
01F4 F479 BNE 0x0204
(0156) {
(0157) timeset[0]=process_add();
01F5 D868 RCALL _process_add
01F6 931001F2 STS timeset+1,R17
01F8 930001F1 STS timeset,R16
01FA 933001F4 STS timeset+3,R19
01FC 932001F3 STS timeset+2,R18
01FE DBA8 RCALL 0x0DA7
01FF DCAC RCALL 0x0EAC
(0158) EEPROM_WRITE(0x40,timeset[0]);
0200 DB27 RCALL _EEPROMWriteBytes_extIO
(0159) fbit=0;
0201 2400 CLR R0
0202 860F STD Y+15,R0
(0160) }
0203 C14D RJMP 0x0351
(0161) else
(0162) {
(0163) cbit=1;
0204 2400 CLR R0
0205 9403 INC R0
0206 8A08 STD Y+16,R0
(0164) sandcnd_display(tr,trdata_x[0],0);
0207 2422 CLR R2
0208 822A STD Y+2,R2
0209 90200196 LDS R2,trdata_x
020B 2433 CLR R3
020C DC36 RCALL 0x0E43
020D E408 LDI R16,0x48
020E E011 LDI R17,1
020F D59D RCALL _sandcnd_display
0210 C108 RJMP 0x0319
(0165) while(1)
(0166) {//-------------------------------------------------------------------------------trdata
(0167) o=tr;
0211 E488 LDI R24,0x48
0212 DBB2 RCALL 0x0DC5
0213 DBD8 RCALL 0x0DEC
(0168) p[1]+=25;
0214 5E87 SUBI R24,0xE7
0215 8380 STD Z+0,R24
0216 DBDD RCALL 0x0DF4
(0169) key=display_flash(fbit,cbit,2);
0217 D5B6 RCALL _display_flash
0218 93000199 STS key,R16
021A DBD1 RCALL 0x0DEC
(0170) p[1]-=25;
021B 5189 SUBI R24,0x19
021C 8380 STD Z+0,R24
(0171) if(keybit==0xf7) {keybit=0; keytime=0; return;}
021D 918001E7 LDS R24,keybit
021F 3F87 CPI R24,0xF7
0220 F411 BNE 0x0223
0221 DBE4 RCALL 0x0E06
0222 C55F RJMP 0x0782
(0172) switch (key)
0223 90200199 LDS R2,key
0225 DC8B RCALL 0x0EB1
0226 3183 CPI R24,0x13
0227 E0E0 LDI R30,0
0228 079E CPC R25,R30
0229 F409 BNE 0x022B
022A C4A1 RJMP 0x06CC
022B E183 LDI R24,0x13
022C 1582 CP R24,R2
022D 0593 CPC R25,R3
022E F0B4 BLT 0x0245
022F 818D LDD R24,Y+5
0230 819E LDD R25,Y+6
0231 3087 CPI R24,7
0232 E0E0 LDI R30,0
0233 079E CPC R25,R30
0234 F0C1 BEQ 0x024D
0235 308B CPI R24,0xB
0236 E0E0 LDI R30,0
0237 079E CPC R25,R30
0238 F409 BNE 0x023A
0239 C0D4 RJMP 0x030E
023A 308D CPI R24,0xD
023B E0E0 LDI R30,0
023C 079E CPC R25,R30
023D F409 BNE 0x023F
023E C0AC RJMP 0x02EB
023F 308E CPI R24,0xE
0240 E0E0 LDI R30,0
0241 079E CPC R25,R30
0242 F409 BNE 0x0244
0243 C085 RJMP 0x02C9
0244 C0D4 RJMP 0x0319
0245 818D LDD R24,Y+5
0246 819E LDD R25,Y+6
0247 3187 CPI R24,0x17
0248 E0E0 LDI R30,0
0249 079E CPC R25,R30
024A F409 BNE 0x024C
024B C107 RJMP 0x0353
024C C0CC RJMP 0x0319
(0173) {
(0174) case set:
(0175) if(fbit==2)
024D 858F LDD R24,Y+15
024E 3082 CPI R24,2
024F F4C1 BNE 0x0268
(0176) {
(0177) trdata=0;
0250 2422 CLR R2
0251 922001DC STS trdata,R2
0253 DB0E RCALL 0x0D62
(0178) trdata+= ((p[1]-25)*10);
0254 8021 LDD R2,Z+1
0255 E08A LDI R24,0xA
0256 9D82 MUL R24,R2
0257 2D80 MOV R24,R0
0258 5F8A SUBI R24,0xFA
0259 902001DC LDS R2,trdata
025B 0E28 ADD R2,R24
025C 922001DC STS trdata,R2
025E DB03 RCALL 0x0D62
025F DC64 RCALL 0x0EC4
(0179) trdata+= p[0];
(0180) trdata_x[0]=trdata;
0260 2C23 MOV R2,R3
0261 92200196 STS trdata_x,R2
0263 DBB0 RCALL 0x0E14
(0181) EEPROM_WRITE(0x30,trdata_x);
0264 DAC3 RCALL _EEPROMWriteBytes_extIO
(0182) fbit=0;
0265 2400 CLR R0
0266 860F STD Y+15,R0
(0183) }
0267 C0B1 RJMP 0x0319
(0184) else
(0185)
(0186) { cbit=pontdata;
0268 902001DB LDS R2,pontdata
026A 8A28 STD Y+16,R2
026B C05B RJMP 0x02C7
(0187) while(1)
(0188) {//----------------------------------------------------------------pont
(0189) sandchar_display(pont,ponddd);
026C E722 LDI R18,0x72
026D E031 LDI R19,1
026E E60C LDI R16,0x6C
026F E011 LDI R17,1
0270 D554 RCALL _sandchar_display
0271 DC07 RCALL 0x0E79
(0190) ponddd[cbit]+=25;
0272 5E87 SUBI R24,0xE7
0273 8380 STD Z+0,R24
0274 DB7F RCALL 0x0DF4
(0191) key=display_flash(fbit,cbit,2);
0275 D558 RCALL _display_flash
0276 93000199 STS key,R16
0278 DC00 RCALL 0x0E79
(0192) ponddd[cbit]-=25;
0279 5189 SUBI R24,0x19
027A 8380 STD Z+0,R24
(0193) if(keybit==0xf7) {keybit=0; keytime=0; return;}
027B 918001E7 LDS R24,keybit
027D 3F87 CPI R24,0xF7
027E F411 BNE 0x0281
027F DB86 RCALL 0x0E06
0280 C501 RJMP 0x0782
(0194) switch (key)
0281 90200199 LDS R2,key
0283 2433 CLR R3
0284 8638 STD Y+8,R3
0285 822F STD Y+7,R2
0286 01C1 MOVW R24,R2
0287 308B CPI R24,0xB
0288 E0E0 LDI R30,0
0289 079E CPC R25,R30
028A F0D1 BEQ 0x02A5
028B E08B LDI R24,0xB
028C 1582 CP R24,R2
028D 0593 CPC R25,R3
028E F01C BLT 0x0292
028F DC47 RCALL 0x0ED7
0290 F101 BEQ 0x02B1
0291 C035 RJMP 0x02C7
0292 818F LDD R24,Y+7
0293 8598 LDD R25,Y+8
0294 3183 CPI R24,0x13
0295 E0E0 LDI R30,0
0296 079E CPC R25,R30
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -