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

📄 ad.lis

📁 嵌入式单片机控制温度传感的无线收发方案!
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0600 4A92              st -y,R4
 0602 3A92              st -y,R3
 0604 2A92              st -y,R2
 0606 8A01              movw R16,R20
 0608 9B01              movw R18,R22
 060A 00D0              rcall empy32s
 060C 48EB              ldi R20,184
 060E 5CEC              ldi R21,204
 0610 68E4              ldi R22,72
 0612 70E0              ldi R23,0
 0614 1801              movw R2,R16
 0616 2901              movw R4,R18
 0618 240E              add R2,R20
 061A 351E              adc R3,R21
 061C 461E              adc R4,R22
 061E 571E              adc R5,R23
 0620 FE01              movw R30,R28
 0622 2082              std z+0,R2
 0624 3182              std z+1,R3
 0626 4282              std z+2,R4
 0628 5382              std z+3,R5
 062A A9C0              rjmp L78
 062C           L77:
 062C                   .dbline 187
 062C           ;  else if(r>19855)
 062C 4FE8              ldi R20,143
 062E 5DE4              ldi R21,77
 0630 60E0              ldi R22,0
 0632 70E0              ldi R23,0
 0634 FE01              movw R30,R28
 0636 2084              ldd R2,z+8
 0638 3184              ldd R3,z+9
 063A 4284              ldd R4,z+10
 063C 5384              ldd R5,z+11
 063E 4215              cp R20,R2
 0640 5305              cpc R21,R3
 0642 6405              cpc R22,R4
 0644 7505              cpc R23,R5
 0646 04F5              brge L79
 0648                   .dbline 188
 0648           ;  temper=-90*r+6482000;
 0648 FE01              movw R30,R28
 064A 2084              ldd R2,z+8
 064C 3184              ldd R3,z+9
 064E 4284              ldd R4,z+10
 0650 5384              ldd R5,z+11
 0652 46EA              ldi R20,166
 0654 5FEF              ldi R21,255
 0656 6FEF              ldi R22,255
 0658 7FEF              ldi R23,255
 065A 5A92              st -y,R5
 065C 4A92              st -y,R4
 065E 3A92              st -y,R3
 0660 2A92              st -y,R2
 0662 8A01              movw R16,R20
 0664 9B01              movw R18,R22
 0666 00D0              rcall empy32s
 0668 40E5              ldi R20,80
 066A 58EE              ldi R21,232
 066C 62E6              ldi R22,98
 066E 70E0              ldi R23,0
 0670 1801              movw R2,R16
 0672 2901              movw R4,R18
 0674 240E              add R2,R20
 0676 351E              adc R3,R21
 0678 461E              adc R4,R22
 067A 571E              adc R5,R23
 067C FE01              movw R30,R28
 067E 2082              std z+0,R2
 0680 3182              std z+1,R3
 0682 4282              std z+2,R4
 0684 5382              std z+3,R5
 0686 7BC0              rjmp L80
 0688           L79:
 0688                   .dbline 189
 0688           ;  else if(r>11370)
 0688 4AE6              ldi R20,106
 068A 5CE2              ldi R21,44
 068C 60E0              ldi R22,0
 068E 70E0              ldi R23,0
 0690 FE01              movw R30,R28
 0692 2084              ldd R2,z+8
 0694 3184              ldd R3,z+9
 0696 4284              ldd R4,z+10
 0698 5384              ldd R5,z+11
 069A 4215              cp R20,R2
 069C 5305              cpc R21,R3
 069E 6405              cpc R22,R4
 06A0 7505              cpc R23,R5
 06A2 04F5              brge L81
 06A4                   .dbline 190
 06A4           ;  temper=-180*r+8199400;
 06A4 FE01              movw R30,R28
 06A6 2084              ldd R2,z+8
 06A8 3184              ldd R3,z+9
 06AA 4284              ldd R4,z+10
 06AC 5384              ldd R5,z+11
 06AE 4CE4              ldi R20,76
 06B0 5FEF              ldi R21,255
 06B2 6FEF              ldi R22,255
 06B4 7FEF              ldi R23,255
 06B6 5A92              st -y,R5
 06B8 4A92              st -y,R4
 06BA 3A92              st -y,R3
 06BC 2A92              st -y,R2
 06BE 8A01              movw R16,R20
 06C0 9B01              movw R18,R22
 06C2 00D0              rcall empy32s
 06C4 48EE              ldi R20,232
 06C6 5CE1              ldi R21,28
 06C8 6DE7              ldi R22,125
 06CA 70E0              ldi R23,0
 06CC 1801              movw R2,R16
 06CE 2901              movw R4,R18
 06D0 240E              add R2,R20
 06D2 351E              adc R3,R21
 06D4 461E              adc R4,R22
 06D6 571E              adc R5,R23
 06D8 FE01              movw R30,R28
 06DA 2082              std z+0,R2
 06DC 3182              std z+1,R3
 06DE 4282              std z+2,R4
 06E0 5382              std z+3,R5
 06E2 4DC0              rjmp L82
 06E4           L81:
 06E4                   .dbline 191
 06E4           ;  else if(r>5786)
 06E4 4AE9              ldi R20,154
 06E6 56E1              ldi R21,22
 06E8 60E0              ldi R22,0
 06EA 70E0              ldi R23,0
 06EC FE01              movw R30,R28
 06EE 2084              ldd R2,z+8
 06F0 3184              ldd R3,z+9
 06F2 4284              ldd R4,z+10
 06F4 5384              ldd R5,z+11
 06F6 4215              cp R20,R2
 06F8 5305              cpc R21,R3
 06FA 6405              cpc R22,R4
 06FC 7505              cpc R23,R5
 06FE 04F5              brge L83
 0700                   .dbline 192
 0700           ;  temper=-360*r+10213000;
 0700 FE01              movw R30,R28
 0702 2084              ldd R2,z+8
 0704 3184              ldd R3,z+9
 0706 4284              ldd R4,z+10
 0708 5384              ldd R5,z+11
 070A 48E9              ldi R20,152
 070C 5EEF              ldi R21,254
 070E 6FEF              ldi R22,255
 0710 7FEF              ldi R23,255
 0712 5A92              st -y,R5
 0714 4A92              st -y,R4
 0716 3A92              st -y,R3
 0718 2A92              st -y,R2
 071A 8A01              movw R16,R20
 071C 9B01              movw R18,R22
 071E 00D0              rcall empy32s
 0720 48E8              ldi R20,136
 0722 56ED              ldi R21,214
 0724 6BE9              ldi R22,155
 0726 70E0              ldi R23,0
 0728 1801              movw R2,R16
 072A 2901              movw R4,R18
 072C 240E              add R2,R20
 072E 351E              adc R3,R21
 0730 461E              adc R4,R22
 0732 571E              adc R5,R23
 0734 FE01              movw R30,R28
 0736 2082              std z+0,R2
 0738 3182              std z+1,R3
 073A 4282              std z+2,R4
 073C 5382              std z+3,R5
 073E 1FC0              rjmp L84
 0740           L83:
 0740                   .dbline 194
 0740           ;  else
 0740           ;  temper=-890*r+13095000;
 0740 FE01              movw R30,R28
 0742 2084              ldd R2,z+8
 0744 3184              ldd R3,z+9
 0746 4284              ldd R4,z+10
 0748 5384              ldd R5,z+11
 074A 46E8              ldi R20,134
 074C 5CEF              ldi R21,252
 074E 6FEF              ldi R22,255
 0750 7FEF              ldi R23,255
 0752 5A92              st -y,R5
 0754 4A92              st -y,R4
 0756 3A92              st -y,R3
 0758 2A92              st -y,R2
 075A 8A01              movw R16,R20
 075C 9B01              movw R18,R22
 075E 00D0              rcall empy32s
 0760 48E5              ldi R20,88
 0762 50ED              ldi R21,208
 0764 67EC              ldi R22,199
 0766 70E0              ldi R23,0
 0768 1801              movw R2,R16
 076A 2901              movw R4,R18
 076C 240E              add R2,R20
 076E 351E              adc R3,R21
 0770 461E              adc R4,R22
 0772 571E              adc R5,R23
 0774 FE01              movw R30,R28
 0776 2082              std z+0,R2
 0778 3182              std z+1,R3
 077A 4282              std z+2,R4
 077C 5382              std z+3,R5
 077E           L84:
 077E           L82:
 077E           L80:
 077E           L78:
 077E           L76:
 077E           L74:
 077E           L72:
 077E           L70:
 077E           L68:
 077E           L65:
 077E                   .dbline 195
 077E           ;  return temper;
 077E FE01              movw R30,R28
 0780 0081              ldd R16,z+0
 0782 1181              ldd R17,z+1
 0784 2281              ldd R18,z+2
 0786 3381              ldd R19,z+3
 0788                   .dbline -2
 0788           L63:
 0788 2496              adiw R28,4
 078A 00D0              rcall pop_gset2
 078C 2496              adiw R28,4
 078E                   .dbline 0 ; func end
 078E 0895              ret
 0790                   .dbsym l temper 0 L
 0790                   .dbsym l r 8 L
 0790                   .dbend
 0790                   .dbfunc e ad_convert _ad_convert fV
 0790           ;              i -> R10,R11
 0790           ;              r -> y+0
 0790           ;           temp -> R12,R13
 0790           ;           vdin -> R12,R13
 0790           ;            vcc -> R10,R11
                        .even
 0790           _ad_convert::
 0790 00D0              rcall push_gset4
 0792 2497              sbiw R28,4
 0794                   .dbline -1
 0794                   .dbline 200
 0794           ;  }
 0794           ;  
 0794           ;  //AD转换
 0794           ; void ad_convert(void)
 0794           ; {
 0794                   .dbline 202
 0794           ;   
 0794           ;   int i=0,vcc,vdin,temp;
 0794 AA24              clr R10
 0796 BB24              clr R11
 0798                   .dbline 204
 0798           ;   long r;
 0798           ;   adinit();
 0798 0EDD              rcall _adinit
 079A                   .dbline 205
 079A           ;    vcc=vcon(1024);//获得Vcc真实电压
 079A 00E0              ldi R16,0
 079C 14E0              ldi R17,4
 079E 20E0              ldi R18,0
 07A0 30E0              ldi R19,0
 07A2 E9DD              rcall _vcon
 07A4 5801              movw R10,R16
 07A6                   .dbline 206
 07A6           ;    vdin=vcon((long)AdcConvertDin());//获得ACD4的电压值
 07A6 0CDD              rcall _AdcConvertDin
 07A8 2227              clr R18
 07AA 3327              clr R19
 07AC E4DD              rcall _vcon
 07AE 6801              movw R12,R16
 07B0                   .dbline 210
 07B0           ;       //热敏电阻Rf阻值的计算:(R0是测量端的电阻,是4.7k)
 07B0           ;       //根据Vin/R0=(Avcc-Vin)/Rf得出
 07B0           ;       //Rf=(Avcc-Vin)*R0/Vin
 07B0           ;    r=((((long)vcc-(long)vdin)*47000)/(long)vdin)/10;
 07B0 1601              movw R2,R12
 07B2 4424              clr R4
 07B4 37FC              sbrc R3,7
 07B6 4094              com R4
 07B8 5524              clr R5
 07BA 47FC              sbrc R4,7
 07BC 5094              com R5
 07BE 3501              movw R6,R10
 07C0 8824              clr R8
 07C2 77FC              sbrc R7,7
 07C4 8094              com R8
 07C6 9924              clr R9
 07C8 87FC              sbrc R8,7
 07CA 9094              com R9
 07CC 6218              sub R6,R2
 07CE 7308              sbc R7,R3
 07D0 8408              sbc R8,R4
 07D2 9508              sbc R9,R5
 07D4 48E9              ldi R20,152
 07D6 57EB              ldi R21,183
 07D8 60E0              ldi R22,0
 07DA 70E0              ldi R23,0
 07DC 9A92              st -y,R9
 07DE 8A92              st -y,R8
 07E0 7A92              st -y,R7
 07E2 6A92              st -y,R6
 07E4 8A01              movw R16,R20
 07E6 9B01              movw R18,R22
 07E8 00D0              rcall empy32s
 07EA 1601              movw R2,R12
 07EC 4424              clr R4
 07EE 37FC              sbrc R3,7
 07F0 4094              com R4
 07F2 5524              clr R5
 07F4 47FC              sbrc R4,7
 07F6 5094              com R5
 07F8 5A92              st -y,R5
 07FA 4A92              st -y,R4
 07FC 3A92              st -y,R3
 07FE 2A92              st -y,R2
 0800 00D0              rcall div32s
 0802 4AE0              ldi R20,10
 0804 50E0              ldi R21,0
 0806 60E0              ldi R22,0
 0808 70E0              ldi R23,0
 080A 7A93              st -y,R23
 080C 6A93              st -y,R22
 080E 5A93              st -y,R21
 0810 4A93              st -y,R20
 0812 00D0              rcall div32s
 0814 FE01              movw R30,R28
 0816 0083              std z+0,R16
 0818 1183              std z+1,R17
 081A 2283              std z+2,R18
 081C 3383              std z+3,R19
 081E                   .dbline 211
 081E           ;    temp=temperature(r)/10000;
 081E FE01              movw R30,R28
 0820 0081              ldd R16,z+0
 0822 1181              ldd R17,z+1
 0824 2281              ldd R18,z+2
 0826 3381              ldd R19,z+3
 0828 C4DD              rcall _temperature
 082A 40E1              ldi R20,16
 082C 57E2              ldi R21,39
 082E 60E0              ldi R22,0
 0830 70E0              ldi R23,0
 0832 7A93              st -y,R23
 0834 6A93              st -y,R22
 0836 5A93              st -y,R21
 0838 4A93              st -y,R20
 083A 00D0              rcall div32s
 083C 6801              movw R12,R16
 083E                   .dbline 215
 083E           ;  //  printf("vcc value is %d\r\n",vcc);
 083E           ;    //printf("temp value is %d\r\n",temp);
 083E           ;    
 083E           ;    Tx_Buf[2]=temp;
 083E C0920200          sts _Tx_Buf+2,R12
 0842                   .dbline 216
 0842           ;    Tx_Buf[3]=temp>>8;
 0842 1601              movw R2,R12
 0844 232C              mov R2,R3
 0846 3324              clr R3
 0848 27FC              sbrc R2,7
 084A 3094              com R3
 084C 20920300          sts _Tx_Buf+3,R2
 0850                   .dbline 217
 0850           ;    Tx_Buf[4]=vcc;
 0850 A0920400          sts _Tx_Buf+4,R10
 0854                   .dbline 218
 0854           ;    Tx_Buf[5]=vcc>>8;
 0854 1501              movw R2,R10
 0856 232C              mov R2,R3
 0858 3324              clr R3
 085A 27FC              sbrc R2,7
 085C 3094              com R3
 085E 20920500          sts _Tx_Buf+5,R2
 0862                   .dbline -2
 0862                   .dbline 219
 0862           ; }
 0862           L85:
 0862 2496              adiw R28,4
 0864 00D0              rcall pop_gset4
 0866                   .dbline 0 ; func end
 0866 0895              ret
 0868                   .dbsym r i 10 I
 0868                   .dbsym l r 0 L
 0868                   .dbsym r temp 12 I
 0868                   .dbsym r vdin 12 I
 0868                   .dbsym r vcc 10 I
 0868                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\公司用\atmega8l\final\nrf905_send1\ad.c
 0000           _g_aAdValue:
 0000                   .blkb 16
 0010                   .dbsym s g_aAdValue _g_aAdValue A[16:8]i

⌨️ 快捷键说明

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