📄 test.lis
字号:
0410 CE01 movw R24,R28
0412 E42F mov R30,R20
0414 FF27 clr R31
0416 E80F add R30,R24
0418 F91F adc R31,R25
041A 0081 ldd R16,z+0
041C F7DE rcall _SendByte
041E .dbline 321
041E ; if((temp&(1<<ack))==0)return(0);
041E 20901600 lds R2,_temp
0422 20FC sbrc R2,0
0424 03C0 rjmp L65
0426 .dbline 321
0426 0027 clr R16
0428 1127 clr R17
042A 06C0 rjmp L55
042C L65:
042C .dbline 322
042C L62:
042C .dbline 318
042C 4395 inc R20
042E L64:
042E .dbline 318
042E 4430 cpi R20,4
0430 78F3 brlo L61
0432 .dbline 323
0432 ; }
0432 ; Stop_I2c();
0432 DEDE rcall _Stop_I2c
0434 .dbline 324
0434 ; return(1);
0434 01E0 ldi R16,1
0436 10E0 ldi R17,0
0438 .dbline -2
0438 L55:
0438 2496 adiw R28,4
043A 00D0 rcall pop_gset1
043C .dbline 0 ; func end
043C 0895 ret
043E .dbsym l tem 0 A[4:4]c
043E .dbsym r i 20 c
043E .dbsym r DA_SET 20 i
043E .dbend
043E .dbfunc e Delay _Delay fV
043E ; ddd -> R16,R17
.even
043E _Delay::
043E .dbline -1
043E .dbline 328
043E ; }
043E ; /********************************************************************/
043E ; void Delay(unsigned int ddd) //Delay50Ms() i=0xF8F;
043E ; {
043E L68:
043E .dbline 330
043E .dbline 330
043E .dbline 330
043E L69:
043E .dbline 330
043E ; //ddd=100;
043E ; while(--ddd){;}
043E C801 movw R24,R16
0440 0197 sbiw R24,1
0442 8C01 movw R16,R24
0444 0030 cpi R16,0
0446 0107 cpc R16,R17
0448 D1F7 brne L68
044A X0:
044A .dbline -2
044A L67:
044A .dbline 0 ; func end
044A 0895 ret
044C .dbsym r ddd 16 i
044C .dbend
044C .dbfunc e temp_det _temp_det fV
.even
044C _temp_det::
044C .dbline -1
044C .dbline 334
044C ; }
044C ; /********************************************************************/
044C ; void temp_det(void)
044C ; {
044C .dbline 335
044C ; adc_mux=0X02;
044C 82E0 ldi R24,2
044E 80930A00 sts _adc_mux,R24
0452 .dbline 336
0452 ; Delay(0xff); //A/D采样延时
0452 0FEF ldi R16,255
0454 10E0 ldi R17,0
0456 F3DF rcall _Delay
0458 .dbline 337
0458 ; ad_reulst();
0458 17D1 rcall _ad_reulst
045A .dbline 338
045A ; if(adc_old <=139 ) //当前温度为80-90
045A 8BE8 ldi R24,139
045C 90E0 ldi R25,0
045E 20901D00 lds R2,_adc_old
0462 30901E00 lds R3,_adc_old+1
0466 8215 cp R24,R2
0468 9305 cpc R25,R3
046A 58F0 brlo L72
046C .dbline 339
046C ; {temp_step=80;
046C .dbline 339
046C 80E5 ldi R24,80
046E 80931800 sts _temp_step,R24
0472 .dbline 340
0472 ; temp_start=139;
0472 8BE8 ldi R24,139
0474 90931A00 sts _temp_start+1,R25
0478 80931900 sts _temp_start,R24
047C .dbline 341
047C ; temp_dange=3;
047C 83E0 ldi R24,3
047E 80931700 sts _temp_dange,R24
0482 .dbline 342
0482 ; }
0482 L72:
0482 .dbline 343
0482 ; if(adc_old > 139 && adc_old <=178 ) //当前温度为70-80
0482 8BE8 ldi R24,139
0484 90E0 ldi R25,0
0486 20901D00 lds R2,_adc_old
048A 30901E00 lds R3,_adc_old+1
048E 8215 cp R24,R2
0490 9305 cpc R25,R3
0492 78F4 brsh L74
0494 82EB ldi R24,178
0496 8215 cp R24,R2
0498 9305 cpc R25,R3
049A 58F0 brlo L74
049C .dbline 344
049C ; {temp_step=70;
049C .dbline 344
049C 86E4 ldi R24,70
049E 80931800 sts _temp_step,R24
04A2 .dbline 345
04A2 ; temp_start=178;
04A2 82EB ldi R24,178
04A4 90931A00 sts _temp_start+1,R25
04A8 80931900 sts _temp_start,R24
04AC .dbline 346
04AC ; temp_dange=4;
04AC 84E0 ldi R24,4
04AE 80931700 sts _temp_dange,R24
04B2 .dbline 347
04B2 ; }
04B2 L74:
04B2 .dbline 348
04B2 ; if(adc_old > 178 && adc_old <=230 ) //当前温度为60-70
04B2 82EB ldi R24,178
04B4 90E0 ldi R25,0
04B6 20901D00 lds R2,_adc_old
04BA 30901E00 lds R3,_adc_old+1
04BE 8215 cp R24,R2
04C0 9305 cpc R25,R3
04C2 78F4 brsh L76
04C4 86EE ldi R24,230
04C6 8215 cp R24,R2
04C8 9305 cpc R25,R3
04CA 58F0 brlo L76
04CC .dbline 349
04CC ; {temp_step=60;
04CC .dbline 349
04CC 8CE3 ldi R24,60
04CE 80931800 sts _temp_step,R24
04D2 .dbline 350
04D2 ; temp_start=230;
04D2 86EE ldi R24,230
04D4 90931A00 sts _temp_start+1,R25
04D8 80931900 sts _temp_start,R24
04DC .dbline 351
04DC ; temp_dange=5;
04DC 85E0 ldi R24,5
04DE 80931700 sts _temp_dange,R24
04E2 .dbline 352
04E2 ; }
04E2 L76:
04E2 .dbline 353
04E2 ; if(adc_old > 230 && adc_old <=293 ) //当前温度为50-60
04E2 86EE ldi R24,230
04E4 90E0 ldi R25,0
04E6 20901D00 lds R2,_adc_old
04EA 30901E00 lds R3,_adc_old+1
04EE 8215 cp R24,R2
04F0 9305 cpc R25,R3
04F2 80F4 brsh L78
04F4 85E2 ldi R24,293
04F6 91E0 ldi R25,1
04F8 8215 cp R24,R2
04FA 9305 cpc R25,R3
04FC 58F0 brlo L78
04FE .dbline 354
04FE ; {temp_step=50;
04FE .dbline 354
04FE 82E3 ldi R24,50
0500 80931800 sts _temp_step,R24
0504 .dbline 355
0504 ; temp_start=293;
0504 85E2 ldi R24,37
0506 90931A00 sts _temp_start+1,R25
050A 80931900 sts _temp_start,R24
050E .dbline 356
050E ; temp_dange=6;
050E 86E0 ldi R24,6
0510 80931700 sts _temp_dange,R24
0514 .dbline 357
0514 ; }
0514 L78:
0514 .dbline 358
0514 ; if(adc_old > 293 && adc_old <=371 ) //当前温度为40-50
0514 85E2 ldi R24,293
0516 91E0 ldi R25,1
0518 20901D00 lds R2,_adc_old
051C 30901E00 lds R3,_adc_old+1
0520 8215 cp R24,R2
0522 9305 cpc R25,R3
0524 78F4 brsh L80
0526 83E7 ldi R24,115
0528 8215 cp R24,R2
052A 9305 cpc R25,R3
052C 58F0 brlo L80
052E .dbline 359
052E ; {temp_step=40;
052E .dbline 359
052E 88E2 ldi R24,40
0530 80931800 sts _temp_step,R24
0534 .dbline 360
0534 ; temp_start=371;
0534 83E7 ldi R24,115
0536 90931A00 sts _temp_start+1,R25
053A 80931900 sts _temp_start,R24
053E .dbline 361
053E ; temp_dange=8;
053E 88E0 ldi R24,8
0540 80931700 sts _temp_dange,R24
0544 .dbline 362
0544 ; }
0544 L80:
0544 .dbline 363
0544 ; if(adc_old > 371 && adc_old <=462 ) //当前温度为30-40
0544 83E7 ldi R24,371
0546 91E0 ldi R25,1
0548 20901D00 lds R2,_adc_old
054C 30901E00 lds R3,_adc_old+1
0550 8215 cp R24,R2
0552 9305 cpc R25,R3
0554 78F4 brsh L82
0556 8EEC ldi R24,206
0558 8215 cp R24,R2
055A 9305 cpc R25,R3
055C 58F0 brlo L82
055E .dbline 364
055E ; {temp_step=30;
055E .dbline 364
055E 8EE1 ldi R24,30
0560 80931800 sts _temp_step,R24
0564 .dbline 365
0564 ; temp_start=462;
0564 8EEC ldi R24,206
0566 90931A00 sts _temp_start+1,R25
056A 80931900 sts _temp_start,R24
056E .dbline 366
056E ; temp_dange=9;
056E 89E0 ldi R24,9
0570 80931700 sts _temp_dange,R24
0574 .dbline 367
0574 ; }
0574 L82:
0574 .dbline 368
0574 ; if(adc_old > 462 && adc_old <=562 ) //当前温度为20-30
0574 8EEC ldi R24,462
0576 91E0 ldi R25,1
0578 20901D00 lds R2,_adc_old
057C 30901E00 lds R3,_adc_old+1
0580 8215 cp R24,R2
0582 9305 cpc R25,R3
0584 80F4 brsh L84
0586 82E3 ldi R24,562
0588 92E0 ldi R25,2
058A 8215 cp R24,R2
058C 9305 cpc R25,R3
058E 58F0 brlo L84
0590 .dbline 369
0590 ; {temp_step=20;
0590 .dbline 369
0590 84E1 ldi R24,20
0592 80931800 sts _temp_step,R24
0596 .dbline 370
0596 ; temp_start=562;
0596 82E3 ldi R24,50
0598 90931A00 sts _temp_start+1,R25
059C 80931900 sts _temp_start,R24
05A0 .dbline 371
05A0 ; temp_dange=10;
05A0 8AE0 ldi R24,10
05A2 80931700 sts _temp_dange,R24
05A6 .dbline 372
05A6 ; }
05A6 L84:
05A6 .dbline 373
05A6 ; if(adc_old > 562 && adc_old <=663 ) //当前温度为10-20
05A6 82E3 ldi R24,562
05A8 92E0 ldi R25,2
05AA 20901D00 lds R2,_adc_old
05AE 30901E00 lds R3,_adc_old+1
05B2 8215 cp R24,R2
05B4 9305 cpc R25,R3
05B6 78F4 brsh L86
05B8 87E9 ldi R24,151
05BA 8215 cp R24,R2
05BC 9305 cpc R25,R3
05BE 58F0 brlo L86
05C0 .dbline 374
05C0 ; {temp_step=10;
05C0 .dbline 374
05C0 8AE0 ldi R24,10
05C2 80931800 sts _temp_step,R24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -