📄 test.lis
字号:
02BE 90910800 lds R25,_now_temp+1
02C2 8630 cpi R24,6
02C4 E0E0 ldi R30,0
02C6 9E07 cpc R25,R30
02C8 14F4 brge L28
02CA .dbline 254
02CA ; {
02CA .dbline 255
02CA ; DA_SET=735;
02CA 4FED ldi R20,735
02CC 52E0 ldi R21,2
02CE .dbline 256
02CE ; }
02CE L28:
02CE .dbline 258
02CE ;
02CE ; tem[0]=0x90;
02CE 80E9 ldi R24,144
02D0 8883 std y+0,R24
02D2 .dbline 259
02D2 ; tem[1]=0x00;
02D2 2224 clr R2
02D4 2982 std y+1,R2
02D6 .dbline 260
02D6 ; tem[2]=DA_SET/4;
02D6 1A01 movw R2,R20
02D8 3694 lsr R3
02DA 2794 ror R2
02DC 3694 lsr R3
02DE 2794 ror R2
02E0 2A82 std y+2,R2
02E2 .dbline 261
02E2 ; tem[3]=DA_SET%4;
02E2 CA01 movw R24,R20
02E4 8370 andi R24,3
02E6 9070 andi R25,0
02E8 8B83 std y+3,R24
02EA .dbline 262
02EA ; tem[3]=tem[3]<<6;
02EA 282E mov R2,R24
02EC 220C lsl R2
02EE 220C lsl R2
02F0 220C lsl R2
02F2 220C lsl R2
02F4 220C lsl R2
02F6 220C lsl R2
02F8 2B82 std y+3,R2
02FA .dbline 264
02FA ;
02FA ; Start_I2c();
02FA 68DF rcall _Start_I2c
02FC .dbline 265
02FC ; for(i=0;i<4;i++)
02FC 4427 clr R20
02FE 0FC0 rjmp L38
0300 L35:
0300 .dbline 266
0300 ; {
0300 .dbline 267
0300 ; SendByte(tem[i]);
0300 CE01 movw R24,R28
0302 E42F mov R30,R20
0304 FF27 clr R31
0306 E80F add R30,R24
0308 F91F adc R31,R25
030A 0081 ldd R16,z+0
030C 7FDF rcall _SendByte
030E .dbline 268
030E ; if((temp&(1<<ack))==0)return(0);
030E 20901600 lds R2,_temp
0312 20FC sbrc R2,0
0314 03C0 rjmp L39
0316 .dbline 268
0316 0027 clr R16
0318 1127 clr R17
031A 06C0 rjmp L27
031C L39:
031C .dbline 269
031C L36:
031C .dbline 265
031C 4395 inc R20
031E L38:
031E .dbline 265
031E 4430 cpi R20,4
0320 78F3 brlo L35
0322 .dbline 270
0322 ; }
0322 ; Stop_I2c();
0322 66DF rcall _Stop_I2c
0324 .dbline 271
0324 ; return(1);
0324 01E0 ldi R16,1
0326 10E0 ldi R17,0
0328 .dbline -2
0328 L27:
0328 2496 adiw R28,4
032A 00D0 rcall pop_gset1
032C .dbline 0 ; func end
032C 0895 ret
032E .dbsym l tem 0 A[4:4]c
032E .dbsym r i 20 c
032E .dbsym r DA_SET 20 i
032E .dbend
032E .dbfunc e TC1321_SET_138 _TC1321_SET_138 fI
032E ; tem -> y+0
032E ; i -> R20
032E ; DA_SET -> R20,R21
.even
032E _TC1321_SET_138::
032E 00D0 rcall push_gset1
0330 A801 movw R20,R16
0332 2497 sbiw R28,4
0334 .dbline -1
0334 .dbline 275
0334 ; }
0334 ; /**********************13.8V时候的D/A输出值 ***************************/
0334 ; TC1321_SET_138(unsigned int DA_SET)
0334 ; {
0334 .dbline 278
0334 ; unsigned char i;
0334 ; unsigned char tem[4];
0334 ; temp_det();
0334 8BD0 rcall _temp_det
0336 .dbline 279
0336 ; _nop_();
0336 0000 nop
0338 .dbline 280
0338 ; temp_det();
0338 89D0 rcall _temp_det
033A .dbline 281
033A ; _nop_();
033A 0000 nop
033C .dbline 283
033C ;
033C ; xxyy=now_temp+5;
033C 80910700 lds R24,_now_temp
0340 90910800 lds R25,_now_temp+1
0344 0596 adiw R24,5
0346 90931C00 sts _xxyy+1,R25
034A 80931B00 sts _xxyy,R24
034E .dbline 284
034E ; DA_SET=ABC_2[xxyy];
034E 9C01 movw R18,R24
0350 02E0 ldi R16,2
0352 10E0 ldi R17,0
0354 00D0 rcall empy16s
0356 F801 movw R30,R16
0358 80E0 ldi R24,<_ABC_2
035A 90E0 ldi R25,>_ABC_2
035C E80F add R30,R24
035E F91F adc R31,R25
0360 4591 lpm R20,Z+
0362 5491 lpm R21,Z
0364 .dbline 286
0364 ;
0364 ; if(now_temp <-4 ) //温度小于-30°时候输出15.3V
0364 80910700 lds R24,_now_temp
0368 90910800 lds R25,_now_temp+1
036C 8C3F cpi R24,252
036E EFEF ldi R30,255
0370 9E07 cpc R25,R30
0372 14F4 brge L42
0374 .dbline 287
0374 ; {
0374 .dbline 288
0374 ; DA_SET=752;
0374 40EF ldi R20,752
0376 52E0 ldi R21,2
0378 .dbline 289
0378 ; }
0378 L42:
0378 .dbline 291
0378 ;
0378 ; tem[0]=0x90;
0378 80E9 ldi R24,144
037A 8883 std y+0,R24
037C .dbline 292
037C ; tem[1]=0x00;
037C 2224 clr R2
037E 2982 std y+1,R2
0380 .dbline 293
0380 ; tem[2]=DA_SET/4;
0380 1A01 movw R2,R20
0382 3694 lsr R3
0384 2794 ror R2
0386 3694 lsr R3
0388 2794 ror R2
038A 2A82 std y+2,R2
038C .dbline 294
038C ; tem[3]=DA_SET%4;
038C CA01 movw R24,R20
038E 8370 andi R24,3
0390 9070 andi R25,0
0392 8B83 std y+3,R24
0394 .dbline 295
0394 ; tem[3]=tem[3]<<6;
0394 282E mov R2,R24
0396 220C lsl R2
0398 220C lsl R2
039A 220C lsl R2
039C 220C lsl R2
039E 220C lsl R2
03A0 220C lsl R2
03A2 2B82 std y+3,R2
03A4 .dbline 297
03A4 ;
03A4 ; Start_I2c();
03A4 13DF rcall _Start_I2c
03A6 .dbline 298
03A6 ; for(i=0;i<4;i++)
03A6 4427 clr R20
03A8 0FC0 rjmp L52
03AA L49:
03AA .dbline 299
03AA ; {
03AA .dbline 300
03AA ; SendByte(tem[i]);
03AA CE01 movw R24,R28
03AC E42F mov R30,R20
03AE FF27 clr R31
03B0 E80F add R30,R24
03B2 F91F adc R31,R25
03B4 0081 ldd R16,z+0
03B6 2ADF rcall _SendByte
03B8 .dbline 301
03B8 ; if((temp&(1<<ack))==0)return(0);
03B8 20901600 lds R2,_temp
03BC 20FC sbrc R2,0
03BE 03C0 rjmp L53
03C0 .dbline 301
03C0 0027 clr R16
03C2 1127 clr R17
03C4 06C0 rjmp L41
03C6 L53:
03C6 .dbline 302
03C6 L50:
03C6 .dbline 298
03C6 4395 inc R20
03C8 L52:
03C8 .dbline 298
03C8 4430 cpi R20,4
03CA 78F3 brlo L49
03CC .dbline 303
03CC ; }
03CC ; Stop_I2c();
03CC 11DF rcall _Stop_I2c
03CE .dbline 304
03CE ; return(1);
03CE 01E0 ldi R16,1
03D0 10E0 ldi R17,0
03D2 .dbline -2
03D2 L41:
03D2 2496 adiw R28,4
03D4 00D0 rcall pop_gset1
03D6 .dbline 0 ; func end
03D6 0895 ret
03D8 .dbsym l tem 0 A[4:4]c
03D8 .dbsym r i 20 c
03D8 .dbsym r DA_SET 20 i
03D8 .dbend
03D8 .dbfunc e TC1321_SET_1 _TC1321_SET_1 fI
03D8 ; tem -> y+0
03D8 ; i -> R20
03D8 ; DA_SET -> R20,R21
.even
03D8 _TC1321_SET_1::
03D8 00D0 rcall push_gset1
03DA A801 movw R20,R16
03DC 2497 sbiw R28,4
03DE .dbline -1
03DE .dbline 308
03DE ; }
03DE ; /********************************************************************/
03DE ; TC1321_SET_1(unsigned int DA_SET)
03DE ; {
03DE .dbline 311
03DE ; unsigned char i;
03DE ; unsigned char tem[4];
03DE ; tem[0]=0x90;
03DE 80E9 ldi R24,144
03E0 8883 std y+0,R24
03E2 .dbline 312
03E2 ; tem[1]=0x00;
03E2 2224 clr R2
03E4 2982 std y+1,R2
03E6 .dbline 313
03E6 ; tem[2]=DA_SET/4;
03E6 1A01 movw R2,R20
03E8 3694 lsr R3
03EA 2794 ror R2
03EC 3694 lsr R3
03EE 2794 ror R2
03F0 2A82 std y+2,R2
03F2 .dbline 314
03F2 ; tem[3]=DA_SET%4;
03F2 CA01 movw R24,R20
03F4 8370 andi R24,3
03F6 9070 andi R25,0
03F8 8B83 std y+3,R24
03FA .dbline 315
03FA ; tem[3]=tem[3]<<6;
03FA 282E mov R2,R24
03FC 220C lsl R2
03FE 220C lsl R2
0400 220C lsl R2
0402 220C lsl R2
0404 220C lsl R2
0406 220C lsl R2
0408 2B82 std y+3,R2
040A .dbline 317
040A ;
040A ; Start_I2c();
040A E0DE rcall _Start_I2c
040C .dbline 318
040C ; for(i=0;i<4;i++)
040C 4427 clr R20
040E 0FC0 rjmp L64
0410 L61:
0410 .dbline 319
0410 ; {
0410 .dbline 320
0410 ; SendByte(tem[i]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -