📄 mian1.lis
字号:
0232 FECF rjmp L49
0234 X5:
0234 .dbline 186
0234 ; return GOTO_SET_OUTH;
0234 04E0 ldi R16,4
0236 37C2 rjmp L34
0238 L37:
0238 .dbline 188
0238 ; }
0238 ; }
0238 L35:
0238 .dbline 189
0238 ; if(AddKey==0)
0238 9899 sbic 0x13,0
023A 19C0 rjmp L52
023C X6:
023C .dbline 190
023C ; {
023C .dbline 191
023C ; Delay(10);
023C 0AE0 ldi R16,10
023E 10E0 ldi R17,0
0240 20E0 ldi R18,0
0242 30E0 ldi R19,0
0244 A3D4 rcall _Delay
0246 .dbline 192
0246 ; if(AddKey==0)
0246 9899 sbic 0x13,0
0248 12C0 rjmp L54
024A X7:
024A .dbline 193
024A ; {
024A .dbline 194
024A ; if(Per<2000)
024A 80910100 lds R24,_Per
024E 90910200 lds R25,_Per+1
0252 803D cpi R24,208
0254 E7E0 ldi R30,7
0256 9E07 cpc R25,R30
0258 28F4 brsh L56
025A X8:
025A .dbline 195
025A ; Per++;
025A 0196 adiw R24,1
025C 90930200 sts _Per+1,R25
0260 80930100 sts _Per,R24
0264 L56:
0264 .dbline 196
0264 ; Delay(10000);
0264 00E1 ldi R16,16
0266 17E2 ldi R17,39
0268 20E0 ldi R18,0
026A 30E0 ldi R19,0
026C 8FD4 rcall _Delay
026E .dbline 198
026E ;
026E ; }
026E L54:
026E .dbline 199
026E ; }
026E L52:
026E .dbline 200
026E ; if(SubbKey==0)
026E 9999 sbic 0x13,1
0270 1BC0 rjmp L58
0272 X9:
0272 .dbline 201
0272 ; {
0272 .dbline 202
0272 ; Delay(10);
0272 0AE0 ldi R16,10
0274 10E0 ldi R17,0
0276 20E0 ldi R18,0
0278 30E0 ldi R19,0
027A 88D4 rcall _Delay
027C .dbline 203
027C ; if(SubbKey==0)
027C 9999 sbic 0x13,1
027E 14C0 rjmp L60
0280 X10:
0280 .dbline 204
0280 ; {
0280 .dbline 205
0280 ; if(Per>400)
0280 80E9 ldi R24,400
0282 91E0 ldi R25,1
0284 20900100 lds R2,_Per
0288 30900200 lds R3,_Per+1
028C 8215 cp R24,R2
028E 9305 cpc R25,R3
0290 30F4 brsh L62
0292 X11:
0292 .dbline 206
0292 ; Per--;
0292 C101 movw R24,R2
0294 0197 sbiw R24,1
0296 90930200 sts _Per+1,R25
029A 80930100 sts _Per,R24
029E L62:
029E .dbline 207
029E ; Delay(10000);
029E 00E1 ldi R16,16
02A0 17E2 ldi R17,39
02A2 20E0 ldi R18,0
02A4 30E0 ldi R19,0
02A6 72D4 rcall _Delay
02A8 .dbline 209
02A8 ;
02A8 ; }
02A8 L60:
02A8 .dbline 211
02A8 ;
02A8 ; }
02A8 L58:
02A8 .dbline 212
02A8 ; if(CalTemp!=Per)
02A8 20900100 lds R2,_Per
02AC 30900200 lds R3,_Per+1
02B0 40900300 lds R4,_CalTemp
02B4 50900400 lds R5,_CalTemp+1
02B8 4214 cp R4,R2
02BA 5304 cpc R5,R3
02BC 09F4 brne X14
02BE F5C0 rjmp L64
02C0 X14:
02C0 X12:
02C0 .dbline 213
02C0 ; {
02C0 .dbline 233
02C0 ; /* if(Per<1250)
02C0 ; {
02C0 ; temp=Cal.OutM-Cal.OutL; //1600
02C0 ; CalTemp=Per-400;
02C0 ; temp*=CalTemp;
02C0 ; temp/=850;
02C0 ; temp+=Cal.OutL;
02C0 ;
02C0 ; }
02C0 ; else
02C0 ; {
02C0 ; temp=Cal.OutH-Cal.OutM; //1600
02C0 ; CalTemp=Per-1250;
02C0 ; temp*=CalTemp;
02C0 ; temp/=750;
02C0 ; temp+=Cal.OutM;
02C0 ;
02C0 ; }
02C0 ; */
02C0 ; temp=Cal.OutH-Cal.OutL; //1600
02C0 20900500 lds R2,_Cal
02C4 30900600 lds R3,_Cal+1
02C8 40900900 lds R4,_Cal+4
02CC 50900A00 lds R5,_Cal+4+1
02D0 4218 sub R4,R2
02D2 5308 sbc R5,R3
02D4 1201 movw R2,R4
02D6 4424 clr R4
02D8 5524 clr R5
02DA 2882 std y+0,R2
02DC 3982 std y+1,R3
02DE 4A82 std y+2,R4
02E0 5B82 std y+3,R5
02E2 .dbline 234
02E2 ; CalTemp=Per-400;
02E2 80910100 lds R24,_Per
02E6 90910200 lds R25,_Per+1
02EA 8059 subi R24,144
02EC 9140 sbci R25,1
02EE 90930400 sts _CalTemp+1,R25
02F2 80930300 sts _CalTemp,R24
02F6 .dbline 235
02F6 ; temp*=CalTemp;
02F6 1C01 movw R2,R24
02F8 4424 clr R4
02FA 5524 clr R5
02FC 0881 ldd R16,y+0
02FE 1981 ldd R17,y+1
0300 2A81 ldd R18,y+2
0302 3B81 ldd R19,y+3
0304 5A92 st -y,R5
0306 4A92 st -y,R4
0308 3A92 st -y,R3
030A 2A92 st -y,R2
030C 00D0 rcall empy32u
030E 0883 std y+0,R16
0310 1983 std y+1,R17
0312 2A83 std y+2,R18
0314 3B83 std y+3,R19
0316 .dbline 236
0316 ; temp/=1600;
0316 40E4 ldi R20,64
0318 56E0 ldi R21,6
031A 60E0 ldi R22,0
031C 70E0 ldi R23,0
031E 0881 ldd R16,y+0
0320 1981 ldd R17,y+1
0322 2A81 ldd R18,y+2
0324 3B81 ldd R19,y+3
0326 7A93 st -y,R23
0328 6A93 st -y,R22
032A 5A93 st -y,R21
032C 4A93 st -y,R20
032E 00D0 rcall div32u
0330 0883 std y+0,R16
0332 1983 std y+1,R17
0334 2A83 std y+2,R18
0336 3B83 std y+3,R19
0338 .dbline 237
0338 ; temp+=Cal.OutL;
0338 20900500 lds R2,_Cal
033C 30900600 lds R3,_Cal+1
0340 4424 clr R4
0342 5524 clr R5
0344 6880 ldd R6,y+0
0346 7980 ldd R7,y+1
0348 8A80 ldd R8,y+2
034A 9B80 ldd R9,y+3
034C 620C add R6,R2
034E 731C adc R7,R3
0350 841C adc R8,R4
0352 951C adc R9,R5
0354 6882 std y+0,R6
0356 7982 std y+1,R7
0358 8A82 std y+2,R8
035A 9B82 std y+3,R9
035C .dbline 238
035C ; OCR1B=(u16)temp;
035C 2880 ldd R2,y+0
035E 3980 ldd R3,y+1
0360 39BC out 0x29,R3
0362 28BC out 0x28,R2
0364 .dbline 240
0364 ;
0364 ; disbuff0=Table[Per/1000];
0364 28EE ldi R18,1000
0366 33E0 ldi R19,3
0368 00910100 lds R16,_Per
036C 10910200 lds R17,_Per+1
0370 00D0 rcall div16u
0372 F801 movw R30,R16
0374 80E0 ldi R24,<_Table
0376 90E0 ldi R25,>_Table
0378 E80F add R30,R24
037A F91F adc R31,R25
037C 2080 ldd R2,z+0
037E 20921300 sts _disbuff+7,R2
0382 .dbline 241
0382 ; disbuff1=Table[Per/100%10]&0x7f;
0382 24E6 ldi R18,100
0384 30E0 ldi R19,0
0386 00910100 lds R16,_Per
038A 10910200 lds R17,_Per+1
038E 00D0 rcall div16u
0390 2AE0 ldi R18,10
0392 30E0 ldi R19,0
0394 00D0 rcall mod16u
0396 F801 movw R30,R16
0398 80E0 ldi R24,<_Table
039A 90E0 ldi R25,>_Table
039C E80F add R30,R24
039E F91F adc R31,R25
03A0 8081 ldd R24,z+0
03A2 8F77 andi R24,127
03A4 80931200 sts _disbuff+6,R24
03A8 .dbline 242
03A8 ; disbuff2=Table[Per/10%10];
03A8 2AE0 ldi R18,10
03AA 30E0 ldi R19,0
03AC 00910100 lds R16,_Per
03B0 10910200 lds R17,_Per+1
03B4 00D0 rcall div16u
03B6 2AE0 ldi R18,10
03B8 30E0 ldi R19,0
03BA 00D0 rcall mod16u
03BC F801 movw R30,R16
03BE 80E0 ldi R24,<_Table
03C0 90E0 ldi R25,>_Table
03C2 E80F add R30,R24
03C4 F91F adc R31,R25
03C6 2080 ldd R2,z+0
03C8 20921100 sts _disbuff+5,R2
03CC .dbline 243
03CC ; disbuff3=Table[Per%10];
03CC 2AE0 ldi R18,10
03CE 30E0 ldi R19,0
03D0 00910100 lds R16,_Per
03D4 10910200 lds R17,_Per+1
03D8 00D0 rcall mod16u
03DA F801 movw R30,R16
03DC 80E0 ldi R24,<_Table
03DE 90E0 ldi R25,>_Table
03E0 E80F add R30,R24
03E2 F91F adc R31,R25
03E4 2080 ldd R2,z+0
03E6 20921000 sts _disbuff+4,R2
03EA .dbline 245
03EA ;
03EA ; disbuff4=Table[(temp>>12)&0xf];
03EA 8CE0 ldi R24,12
03EC 90E0 ldi R25,0
03EE 0881 ldd R16,y+0
03F0 1981 ldd R17,y+1
03F2 2A81 ldd R18,y+2
03F4 3B81 ldd R19,y+3
03F6 8A93 st -y,R24
03F8 00D0 rcall lsr32
03FA 1801 movw R2,R16
03FC 2901 movw R4,R18
03FE 4FE0 ldi R20,15
0400 50E0 ldi R21,0
0402 60E0 ldi R22,0
0404 70E0 ldi R23,0
0406 2422 and R2,R20
0408 3522 and R3,R21
040A 4622 and R4,R22
040C 5722 and R5,R23
040E F101 movw R30,R2
0410 80E0 ldi R24,<_Table
0412 90E0 ldi R25,>_Table
0414 E80F add R30,R24
0416 F91F adc R31,R25
0418 2080 ldd R2,z+0
041A 20920F00 sts _disbuff+3,R2
041E .dbline 246
041E ; disbuff5=Table[(temp>>8)&0xf];
041E 88E0 ldi R24,8
0420 90E0 ldi R25,0
0422 0881 ldd R16,y+0
0424 1981 ldd R17,y+1
0426 2A81 ldd R18,y+2
0428 3B81 ldd R19,y+3
042A 8A93 st -y,R24
042C 00D0 rcall lsr32
042E 1801 movw R2,R16
0430 2901 movw R4,R18
0432 4FE0 ldi R20,15
0434 50E0 ldi R21,0
0436 60E0 ldi R22,0
0438 70E0 ldi R23,0
043A 2422 and R2,R20
043C 3522 and R3,R21
043E 4622 and R4,R22
0440 5722 and R5,R23
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -