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

📄 hal_adc_sample_single.lst

📁 zigbee location examples
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   16/Jan/2007  15:30:23 #
# Copyright 2004-2006 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Core               =  plain                                             #
#    Code model         =  banked                                            #
#    Data model         =  large                                             #
#    Calling convention =  xdata reentrant                                   #
#    Constant location  =  data                                              #
#    Dptr setup         =  1,16                                              #
#    Source file        =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\lib\hal\CC2430\hal_adc_sample_single.c         #
#    Command line       =  -I "C:\Program Files\IAR Systems\Embedded         #
#                          Workbench 4.05 Evaluation version\8051\INC\" -I   #
#                          "C:\Program Files\IAR Systems\Embedded Workbench  #
#                          4.05 Evaluation version\8051\SRC\LIB\" -I         #
#                          "C:\Program Files\IAR Systems\Embedded Workbench  #
#                          4.05 Evaluation version\8051\INC\CLIB\" -I        #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\..\..\..\include\ -I          #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\..\..\..\include\mac\cc2430\  #
#                          -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_E #
#                          ngine\Test\mac\mac_loc\..\..\..\include\hal\cc243 #
#                          0\ -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LO #
#                          C_Engine\Test\mac\mac_loc\..\..\..\apps\ -D       #
#                          CC2430EB -D USE_LED -lCN                          #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\CC2430EB\List\ -lA            #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\CC2430EB\List\ -o             #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\CC2430EB\Obj\ -e -s9 --debug  #
#                          --core=plain --dptr=16,1 --data_model=large       #
#                          --code_model=banked --calling_convention=xdata_re #
#                          entrant --place_constants=data --nr_virtual_regs  #
#                          8 E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En #
#                          gine\lib\hal\CC2430\hal_adc_sample_single.c       #
#    List file          =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\CC2430EB\List\hal_adc_sample_ #
#                          single.lst                                        #
#    Object file        =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\CC2430EB\Obj\hal_adc_sample_s #
#                          ingle.r51                                         #
#                                                                            #
#                                                                            #
##############################################################################

E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\lib\hal\CC2430\hal_adc_sample_single.c
      1          #include "mac_headers.h"

   \                                 In segment SFR_AN, at 0xb4
   \   unsigned char volatile __sfr ADCCON1
   \                     ADCCON1:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xb6
   \   unsigned char volatile __sfr ADCCON3
   \                     ADCCON3:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xba
   \   unsigned char volatile __sfr ADCL
   \                     ADCL:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xbb
   \   unsigned char volatile __sfr ADCH
   \                     ADCH:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xf2
   \   unsigned char volatile __sfr ADCCFG
   \                     ADCCFG:
   \   000000                DS 1
      2          

   \                                 In segment BANKED_CODE, align 1, keep-with-next
      3          INT16 halAdcSampleSingle(BYTE reference, BYTE resolution, UINT8 input) {
   \                     halAdcSampleSingle:
   \   000000   74F4         MOV     A,#-0xc
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 12
   \   000005                ; Auto size: 1
   \   000005   74FF         MOV     A,#-0x1
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
      4              BYTE volatile temp;
      5              INT16 value;
      6          
      7              // reading out any old conversion value
      8              temp = ADCH;
   \   00000A   E5BB         MOV     A,0xbb
   \   00000C   85..82       MOV     DPL,?XSP + 0
   \   00000F   85..83       MOV     DPH,?XSP + 1
   \   000012   F0           MOVX    @DPTR,A
      9              temp = ADCL;
   \   000013   E5BA         MOV     A,0xba
   \   000015   F0           MOVX    @DPTR,A
   \   000016   75..01       MOV     ?V0 + 0,#0x1
   \   000019   75..00       MOV     ?V0 + 1,#0x0
   \   00001C   EB           MOV     A,R3
   \   00001D   78..         MOV     R0,#?V0 + 0
   \   00001F   12....       LCALL   ?S_SHL
   \   000022   AC..         MOV     R4,?V0 + 0
   \   000024   EC           MOV     A,R4
   \   000025   45F2         ORL     A,0xf2
   \   000027   F5F2         MOV     0xf2,A
     10          
     11          
     12              ADC_ENABLE_CHANNEL(input);
     13              ADC_STOP();
   \   000029   43B430       ORL     0xb4,#0x30
   \   00002C   E5B4         MOV     A,0xb4
     14          
     15              ADC_SINGLE_CONVERSION(reference | resolution | input);
   \   00002E   EA           MOV     A,R2
   \   00002F   49           ORL     A,R1
   \   000030   4B           ORL     A,R3
   \   000031   F5B6         MOV     0xb6,A
     16          
     17              while (!ADC_SAMPLE_READY());
   \                     ??halAdcSampleSingle_0:
   \   000033   E5B4         MOV     A,0xb4
   \   000035   A2E7         MOV     C,0xE0 /* A   */.7
   \   000037   50FA         JNC     ??halAdcSampleSingle_0
     18          
     19              ADC_DISABLE_CHANNEL(input);
   \   000039   EC           MOV     A,R4
   \   00003A   F4           CPL     A
   \   00003B   55F2         ANL     A,0xf2
   \   00003D   F5F2         MOV     0xf2,A
     20          
     21              value = (((INT16)ADCH) << 8);
   \   00003F   E5BB         MOV     A,0xbb
   \   000041   F5..         MOV     ?V0 + 1,A
     22              value |= ADCL;
   \   000043   E5BA         MOV     A,0xba
   \   000045   F5..         MOV     ?V0 + 0,A
     23          
     24              resolution >>= 3;
     25              return value >> (8 - resolution);
   \   000047   EA           MOV     A,R2
   \   000048   13           RRC     A
   \   000049   13           RRC     A
   \   00004A   13           RRC     A
   \   00004B   541F         ANL     A,#0x1f
   \   00004D   FA           MOV     R2,A
   \   00004E   7408         MOV     A,#0x8
   \   000050   C3           CLR     C
   \   000051   9A           SUBB    A,R2
   \   000052   78..         MOV     R0,#?V0 + 0
   \   000054   12....       LCALL   ?SS_SHR
   \   000057   AA..         MOV     R2,?V0 + 0
   \   000059   AB..         MOV     R3,?V0 + 1
   \   00005B   7401         MOV     A,#0x1
   \   00005D   12....       LCALL   ?DEALLOC_XSTACK8
   \   000060   7F04         MOV     R7,#0x4
   \   000062   02....       LJMP    ?BANKED_LEAVE_XDATA
     26          }

   Maximum stack usage in bytes:

     Function           ISTACK PSTACK XSTACK
     --------           ------ ------ ------
     halAdcSampleSingle     1      0     13


   Segment part sizes:

     Function/Label     Bytes
     --------------     -----
     ADCCON1               1
     ADCCON3               1
     ADCL                  1
     ADCH                  1
     ADCCFG                1
     halAdcSampleSingle  101

 
 101 bytes in segment BANKED_CODE
   5 bytes in segment SFR_AN
 
 101 bytes of CODE memory
   0 bytes of DATA memory (+ 5 bytes shared)

Errors: none
Warnings: none

⌨️ 快捷键说明

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