⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nrf905_send.lst

📁 嵌入式单片机控制温度传感的无线收发方案!
💻 LST
📖 第 1 页 / 共 5 页
字号:
(0146)   ret=0;
    0436 2400      CLR	R0
    0437 2411      CLR	R1
    0438 8219      STD	Y+1,R1
    0439 8208      STD	Y+0,R0
(0147)   for(i=1;i<8;i++)
    043A E061      LDI	R22,1
    043B C014      RJMP	0x0450
(0148)   {
(0149)     if((i!=min_id)&&(i!=max_id))
    043C 156C      CP	R22,R12
    043D F089      BEQ	0x044F
    043E 156A      CP	R22,R10
    043F F079      BEQ	0x044F
(0150)       ret+=g_aAdValue[i];     
    0440 E082      LDI	R24,2
    0441 9F86      MUL	R24,R22
    0442 01F0      MOVW	R30,R0
    0443 E38D      LDI	R24,0x3D
    0444 E091      LDI	R25,1
    0445 0FE8      ADD	R30,R24
    0446 1FF9      ADC	R31,R25
    0447 8020      LDD	R2,Z+0
    0448 8031      LDD	R3,Z+1
    0449 8008      LDD	R0,Y+0
    044A 8019      LDD	R1,Y+1
    044B 0C02      ADD	R0,R2
    044C 1C13      ADC	R1,R3
    044D 8219      STD	Y+1,R1
    044E 8208      STD	Y+0,R0
    044F 9563      INC	R22
    0450 3068      CPI	R22,0x8
    0451 F350      BCS	0x043C
(0151)   }
(0152)   if(min_id!=max_id)
    0452 14CA      CP	R12,R10
    0453 F041      BEQ	0x045C
(0153)     ret/=5;
    0454 E025      LDI	R18,5
    0455 E030      LDI	R19,0
    0456 8108      LDD	R16,Y+0
    0457 8119      LDD	R17,Y+1
    0458 D42C      RCALL	div16u
    0459 8319      STD	Y+1,R17
    045A 8308      STD	Y+0,R16
    045B C007      RJMP	0x0463
(0154)   else  
(0155)     ret/=6;
    045C E026      LDI	R18,6
    045D E030      LDI	R19,0
    045E 8108      LDD	R16,Y+0
    045F 8119      LDD	R17,Y+1
    0460 D424      RCALL	div16u
    0461 8319      STD	Y+1,R17
    0462 8308      STD	Y+0,R16
(0156) 
(0157)   ADCSRA=0;//关闭ADC
    0463 2422      CLR	R2
    0464 B826      OUT	0x06,R2
(0158)   
(0159)   return ret;
    0465 8108      LDD	R16,Y+0
    0466 8119      LDD	R17,Y+1
    0467 9622      ADIW	R28,2
    0468 D4D7      RCALL	pop_gset5
    0469 9508      RET
_vcon:
  a                    --> Y+4
    046A D413      RCALL	push_arg4
    046B D4ED      RCALL	push_gset2
(0160) }
(0161) 
(0162) int vcon(long a)
(0163) {
(0164) return   (a*1235)/AdcConvertStd();
    046C DE42      RCALL	_AdcConvertStd
    046D 0118      MOVW	R2,R16
    046E 01FE      MOVW	R30,R28
    046F 8044      LDD	R4,Z+4
    0470 8055      LDD	R5,Z+5
    0471 8066      LDD	R6,Z+6
    0472 8077      LDD	R7,Z+7
    0473 ED43      LDI	R20,0xD3
    0474 E054      LDI	R21,4
    0475 E060      LDI	R22,0
    0476 E070      LDI	R23,0
    0477 927A      ST	R7,-Y
    0478 926A      ST	R6,-Y
    0479 925A      ST	R5,-Y
    047A 924A      ST	R4,-Y
    047B 018A      MOVW	R16,R20
    047C 019B      MOVW	R18,R22
    047D D492      RCALL	empy32s
    047E 2444      CLR	R4
    047F 2455      CLR	R5
    0480 925A      ST	R5,-Y
    0481 924A      ST	R4,-Y
    0482 923A      ST	R3,-Y
    0483 922A      ST	R2,-Y
    0484 D420      RCALL	div32s
    0485 D4B6      RCALL	pop_gset2
    0486 9624      ADIW	R28,4
    0487 9508      RET
_temperature:
  temper               --> Y+0
  r                    --> Y+8
    0488 D3F5      RCALL	push_arg4
    0489 D4CF      RCALL	push_gset2
    048A 9724      SBIW	R28,4
(0165) }
(0166) 
(0167) //进行温度转换
(0168) 
(0169) long temperature(long r)//温度都乘上了10的5次
(0170) {
(0171) long temper;
(0172)  if(r>908300||r<2500) 
    048B E04C      LDI	R20,0xC
    048C ED5C      LDI	R21,0xDC
    048D E06D      LDI	R22,0xD
    048E E070      LDI	R23,0
    048F 01FE      MOVW	R30,R28
    0490 8420      LDD	R2,Z+8
    0491 8431      LDD	R3,Z+9
    0492 8442      LDD	R4,Z+10
    0493 8453      LDD	R5,Z+11
    0494 1542      CP	R20,R2
    0495 0553      CPC	R21,R3
    0496 0564      CPC	R22,R4
    0497 0575      CPC	R23,R5
    0498 F074      BLT	0x04A7
    0499 EC44      LDI	R20,0xC4
    049A E059      LDI	R21,0x9
    049B E060      LDI	R22,0
    049C E070      LDI	R23,0
    049D 01FE      MOVW	R30,R28
    049E 8420      LDD	R2,Z+8
    049F 8431      LDD	R3,Z+9
    04A0 8442      LDD	R4,Z+10
    04A1 8453      LDD	R5,Z+11
    04A2 1624      CP	R2,R20
    04A3 0635      CPC	R3,R21
    04A4 0646      CPC	R4,R22
    04A5 0657      CPC	R5,R23
    04A6 F454      BGE	0x04B1
(0173) temper=0xffffffff;
    04A7 EF4F      LDI	R20,0xFF
    04A8 EF5F      LDI	R21,0xFF
    04A9 EF6F      LDI	R22,0xFF
    04AA EF7F      LDI	R23,0xFF
    04AB 01FE      MOVW	R30,R28
    04AC 8340      STD	Z+0,R20
    04AD 8351      STD	Z+1,R21
    04AE 8362      STD	Z+2,R22
    04AF 8373      STD	Z+3,R23
    04B0 C1BD      RJMP	0x066E
(0174)  else
(0175)  if(r>580450)
    04B1 E642      LDI	R20,0x62
    04B2 ED5B      LDI	R21,0xDB
    04B3 E068      LDI	R22,0x8
    04B4 E070      LDI	R23,0
    04B5 01FE      MOVW	R30,R28
    04B6 8420      LDD	R2,Z+8
    04B7 8431      LDD	R3,Z+9
    04B8 8442      LDD	R4,Z+10
    04B9 8453      LDD	R5,Z+11
    04BA 1542      CP	R20,R2
    04BB 0553      CPC	R21,R3
    04BC 0564      CPC	R22,R4
    04BD 0575      CPC	R23,R5
    04BE F504      BGE	0x04DF
(0176) temper=-2*r-1121800;
    04BF 01FE      MOVW	R30,R28
    04C0 8420      LDD	R2,Z+8
    04C1 8431      LDD	R3,Z+9
    04C2 8442      LDD	R4,Z+10
    04C3 8453      LDD	R5,Z+11
    04C4 EF4E      LDI	R20,0xFE
    04C5 EF5F      LDI	R21,0xFF
    04C6 EF6F      LDI	R22,0xFF
    04C7 EF7F      LDI	R23,0xFF
    04C8 925A      ST	R5,-Y
    04C9 924A      ST	R4,-Y
    04CA 923A      ST	R3,-Y
    04CB 922A      ST	R2,-Y
    04CC 018A      MOVW	R16,R20
    04CD 019B      MOVW	R18,R22
    04CE D441      RCALL	empy32s
    04CF E048      LDI	R20,0x8
    04D0 E15E      LDI	R21,0x1E
    04D1 E161      LDI	R22,0x11
    04D2 E070      LDI	R23,0
    04D3 0118      MOVW	R2,R16
    04D4 0129      MOVW	R4,R18
    04D5 1A24      SUB	R2,R20
    04D6 0A35      SBC	R3,R21
    04D7 0A46      SBC	R4,R22
    04D8 0A57      SBC	R5,R23
    04D9 01FE      MOVW	R30,R28
    04DA 8220      STD	Z+0,R2
    04DB 8231      STD	Z+1,R3
    04DC 8242      STD	Z+2,R4
    04DD 8253      STD	Z+3,R5
    04DE C18F      RJMP	0x066E
(0177)  else if(r>325400)
    04DF E148      LDI	R20,0x18
    04E0 EF57      LDI	R21,0xF7
    04E1 E064      LDI	R22,4
    04E2 E070      LDI	R23,0
    04E3 01FE      MOVW	R30,R28
    04E4 8420      LDD	R2,Z+8
    04E5 8431      LDD	R3,Z+9
    04E6 8442      LDD	R4,Z+10
    04E7 8453      LDD	R5,Z+11
    04E8 1542      CP	R20,R2
    04E9 0553      CPC	R21,R3
    04EA 0564      CPC	R22,R4
    04EB 0575      CPC	R23,R5
    04EC F504      BGE	0x050D
(0178)  temper=-4*r-4840; 
    04ED 01FE      MOVW	R30,R28
    04EE 8420      LDD	R2,Z+8
    04EF 8431      LDD	R3,Z+9
    04F0 8442      LDD	R4,Z+10
    04F1 8453      LDD	R5,Z+11
    04F2 EF4C      LDI	R20,0xFC
    04F3 EF5F      LDI	R21,0xFF
    04F4 EF6F      LDI	R22,0xFF
    04F5 EF7F      LDI	R23,0xFF
    04F6 925A      ST	R5,-Y
    04F7 924A      ST	R4,-Y
    04F8 923A      ST	R3,-Y
    04F9 922A      ST	R2,-Y
    04FA 018A      MOVW	R16,R20
    04FB 019B      MOVW	R18,R22
    04FC D413      RCALL	empy32s
    04FD EE48      LDI	R20,0xE8
    04FE E152      LDI	R21,0x12
    04FF E060      LDI	R22,0
    0500 E070      LDI	R23,0
    0501 0118      MOVW	R2,R16
    0502 0129      MOVW	R4,R18
    0503 1A24      SUB	R2,R20
    0504 0A35      SBC	R3,R21
    0505 0A46      SBC	R4,R22
    0506 0A57      SBC	R5,R23
    0507 01FE      MOVW	R30,R28
    0508 8220      STD	Z+0,R2
    0509 8231      STD	Z+1,R3
    050A 8242      STD	Z+2,R4
    050B 8253      STD	Z+3,R5
    050C C161      RJMP	0x066E
(0179)  else if(r>189400)
    050D ED48      LDI	R20,0xD8
    050E EE53      LDI	R21,0xE3
    050F E062      LDI	R22,2
    0510 E070      LDI	R23,0
    0511 01FE      MOVW	R30,R28
    0512 8420      LDD	R2,Z+8
    0513 8431      LDD	R3,Z+9
    0514 8442      LDD	R4,Z+10
    0515 8453      LDD	R5,Z+11
    0516 1542      CP	R20,R2
    0517 0553      CPC	R21,R3
    0518 0564      CPC	R22,R4
    0519 0575      CPC	R23,R5
    051A F504      BGE	0x053B
(0180)  temper=-8*r+1113900;
    051B 01FE      MOVW	R30,R28
    051C 8420      LDD	R2,Z+8
    051D 8431      LDD	R3,Z+9
    051E 8442      LDD	R4,Z+10
    051F 8453      LDD	R5,Z+11
    0520 EF48      LDI	R20,0xF8
    0521 EF5F      LDI	R21,0xFF
    0522 EF6F      LDI	R22,0xFF
    0523 EF7F      LDI	R23,0xFF
    0524 925A      ST	R5,-Y
    0525 924A      ST	R4,-Y
    0526 923A      ST	R3,-Y
    0527 922A      ST	R2,-Y
    0528 018A      MOVW	R16,R20
    0529 019B      MOVW	R18,R22
    052A D3E5      RCALL	empy32s
    052B E24C      LDI	R20,0x2C
    052C EF5F      LDI	R21,0xFF
    052D E160      LDI	R22,0x10
    052E E070      LDI	R23,0
    052F 0118      MOVW	R2,R16
    0530 0129      MOVW	R4,R18
    0531 0E24      ADD	R2,R20
    0532 1E35      ADC	R3,R21
    0533 1E46      ADC	R4,R22
    0534 1E57      ADC	R5,R23
    0535 01FE      MOVW	R30,R28
    0536 8220      STD	Z+0,R2
    0537 8231      STD	Z+1,R3
    0538 8242      STD	Z+2,R4
    0539 8253      STD	Z+3,R5
    053A C133      RJMP	0x066E
(0181)  else if(r>146350)
    053B EA4E      LDI	R20,0xAE
    053C E35B      LDI	R21,0x3B
    053D E062      LDI	R22,2
    053E E070      LDI	R23,0
    053F 01FE      MOVW	R30,R28
    0540 8420      LDD	R2,Z+8
    0541 8431      LDD	R3,Z+9
    0542 8442      LDD	R4,Z+10
    0543 8453      LDD	R5,Z+11
    0544 1542      CP	R20,R2
    0545 0553      CPC	R21,R3
    0546 0564      CPC	R22,R4
    0547 0575      CPC	R23,R5
    0548 F504      BGE	0x0569
(0182)  temper=-10*r+1674800;
    0549 01FE      MOVW	R30,R28
    054A 8420      LDD	R2,Z+8
    054B 8431      LDD	R3,Z+9
    054C 8442      LDD	R4,Z+10
    054D 8453      LDD	R5,Z+11
    054E EF46      LDI	R20,0xF6
    054F EF5F      LDI	R21,0xFF
    0550 EF6F      LDI	R22,0xFF
    0551 EF7F      LDI	R23,0xFF
    0552 925A      ST	R5,-Y
    0553 924A      ST	R4,-Y
    0554 923A      ST	R3,-Y
    0555 922A      ST	R2,-Y
    0556 018A      MOVW	R16,R20
    0557 019B      MOVW	R18,R22
    0558 D3B7      RCALL	empy32s
    0559 E340      LDI	R20,0x30
    055A E85E      LDI	R21,0x8E
    055B E169      LDI	R22,0x19
    055C E070      LDI	R23,0
    055D 0118      MOVW	R2,R16
    055E 0129      MOVW	R4,R18
    055F 0E24      ADD	R2,R20
    0560 1E35      ADC	R3,R21
    0561 1E46      ADC	R4,R22
    0562 1E57      ADC	R5,R23
    0563 01FE      MOVW	R30,R28
    0564 8220      STD	Z+0,R2
    0565 8231      STD	Z+1,R3
    0566 8242      STD	Z+2,R4
    0567 8253      STD	Z+3,R5
    0568 C105      RJMP	0x066E
(0183)  else if(r>70670)
    0569 E04E      LDI	R20,0xE
    056A E154      LDI	R21,0x14
    056B E061      LDI	R22,1
    056C E070      LDI	R23,0
    056D 01FE      MOVW	R30,R28
    056E 8420      LDD	R2,Z+8
    056F 8431      LDD	R3,Z+9
    0570 8442      LDD	R4,Z+10
    0571 8453      LDD	R5,Z+11
    0572 1542      CP	R20,R2
    0573 0553      CPC	R21,R3
    0574 0564      CPC	R22,R4
    0575 0575      CPC	R23,R5
    0576 F504      BGE	0x0597
(0184)  temper=-20*r+3068600;
    0577 01FE      MOVW	R30,R28
    0578 8420      LDD	R2,Z+8
    0579 8431      LDD	R3,Z+9
    057A 8442      LDD	R4,Z+10
    057B 8453      LDD	R5,Z+11
    057C EE4C      LDI	R20,0xEC
    057D EF5F      LDI	R21,0xFF
    057E EF6F      LDI	R22,0xFF
    057F EF7F      LDI	R23,0xFF
    0580 925A      ST	R5,-Y
    0581 924A      ST	R4,-Y
    0582 923A      ST	R3,-Y
    0583 922A      ST	R2,-Y
    0584 018A      MOVW	R16,R20
    0585 019B      MOVW	R18,R22
    0586 D389      RCALL	empy32s
    0587 EB48      LDI	R20,0xB8
    0588 ED52      LDI	R21,0xD2
    0589 E26E      LDI	R22,0x2E
    058A E070      LDI	R23,0
    058B 0118      MOVW	R2,R16
    058C 0129      MOVW	R4,R18
    058D 0E24      ADD	R2,R20
    058E 1E35      ADC	R3,R21
    058F 1E46      ADC	R4,R22
    0590 1E57      ADC	R5,R23
    0591 01FE      MOVW	R30,R28
    0592 8220      STD	Z+0,R2
    0593 8231      STD	Z+1,R3
    0594 8242      STD	Z+2,R4
    0595 8253      STD	Z+3,R5
    0596 C0D7      RJMP	0x066E
(0185)  else if(r>36415)
    0597 E34F      LDI	R20,0x3F
    0598 E85E      LDI	R21,0x8E
    0599 E060      LDI	R

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -