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

📄 sensorcomm.lst

📁 无线单片机cc2430简化协议的无线收发程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   11/Dec/2008  13:41:50 #
# Copyright 2004-2006 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Core               =  plain                                             #
#    Code model         =  near                                              #
#    Data model         =  large                                             #
#    Calling convention =  xdata reentrant                                   #
#    Constant location  =  data                                              #
#    Dptr setup         =  1,16                                              #
#    Source file        =  D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\src\SensorComm.c                                #
#    Command line       =  -lC D:\zigbee\演示程序\简化协议的无线收发演示\dem #
#                          o_pro\Debug\List\ -lA D:\zigbee\演示程序\简化协议 #
#                          的无线收发演示\demo_pro\Debug\List\ -o            #
#                          D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\Debug\Obj\ -e -z2 --no_cse --no_unroll          #
#                          --no_inline --no_code_motion --no_tbaa --debug    #
#                          --core=plain --dptr=16,1 --data_model=large       #
#                          --code_model=near --calling_convention=xdata_reen #
#                          trant --place_constants=data --nr_virtual_regs 8  #
#                          -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\INC\CLIB\"           #
#                          D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\src\SensorComm.c                                #
#    List file          =  D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\Debug\List\SensorComm.lst                       #
#    Object file        =  D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\Debug\Obj\SensorComm.r51                        #
#                                                                            #
#                                                                            #
##############################################################################

D:\zigbee\演示程序\简化协议的无线收发演示\demo_pro\src\SensorComm.c
      1          
      2          
      3          //功能:团长把数据上报给探头
      4          
      5          #include "msstate_lrwpan.h"
      6          #include "MAC.h"
      7          
      8          #include "SensorComm.h"
      9          
     10          
     11          
     12          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     13          BYTE NeedRepDatToSensor(BYTE hiId,BYTE lowId)
   \                     NeedRepDatToSensor:
     14          {
   \   000000   74F5         MOV     A,#-0xb
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 11
   \   000005                ; Auto size: 0
   \   000005   89..         MOV     ?V0 + 0,R1
   \   000007   8A..         MOV     ?V0 + 1,R2
     15             int i;
     16             for(i=0;i<MAXREPRECNUM;i++)
   \   000009   7E00         MOV     R6,#0x0
   \   00000B   7F00         MOV     R7,#0x0
   \                     ??NeedRepDatToSensor_0:
   \   00000D   C3           CLR     C
   \   00000E   EE           MOV     A,R6
   \   00000F   9404         SUBB    A,#0x4
   \   000011   EF           MOV     A,R7
   \   000012   9400         SUBB    A,#0x0
   \   000014   A2D2         MOV     C,0xD0 /* PSW */.2
   \   000016   65D0         XRL     A,PSW
   \   000018   33           RLC     A
   \   000019   4003         JC      $+5
   \   00001B   02....       LJMP    ??NeedRepDatToSensor_1
     17          	{
     18          	    if((RepDatToSensorRec[i].SensorId[0]==lowId)&&(RepDatToSensorRec[i].SensorId[1]==hiId))		 
   \   00001E   EE           MOV     A,R6
   \   00001F   F8           MOV     R0,A
   \   000020   EF           MOV     A,R7
   \   000021   F9           MOV     R1,A
   \   000022   E8           MOV     A,R0
   \   000023   75F006       MOV     B,#0x6
   \   000026   A4           MUL     AB
   \   000027   C8           XCH     A,R0
   \   000028   AAF0         MOV     R2,B
   \   00002A   75F000       MOV     B,#0x0
   \   00002D   A4           MUL     AB
   \   00002E   2A           ADD     A,R2
   \   00002F   FA           MOV     R2,A
   \   000030   75F006       MOV     B,#0x6
   \   000033   E9           MOV     A,R1
   \   000034   A4           MUL     AB
   \   000035   2A           ADD     A,R2
   \   000036   F9           MOV     R1,A
   \   000037   E8           MOV     A,R0
   \   000038   24..         ADD     A,#(RepDatToSensorRec & 0xff)
   \   00003A   F582         MOV     DPL,A
   \   00003C   E9           MOV     A,R1
   \   00003D   34..         ADDC    A,#((RepDatToSensorRec >> 8) & 0xff)
   \   00003F   F583         MOV     DPH,A
   \   000041   E0           MOVX    A,@DPTR
   \   000042   65..         XRL     A,?V0 + 1
   \   000044   7071         JNZ     ??NeedRepDatToSensor_2
   \   000046   EE           MOV     A,R6
   \   000047   F8           MOV     R0,A
   \   000048   EF           MOV     A,R7
   \   000049   F9           MOV     R1,A
   \   00004A   E8           MOV     A,R0
   \   00004B   75F006       MOV     B,#0x6
   \   00004E   A4           MUL     AB
   \   00004F   C8           XCH     A,R0
   \   000050   AAF0         MOV     R2,B
   \   000052   75F000       MOV     B,#0x0
   \   000055   A4           MUL     AB
   \   000056   2A           ADD     A,R2
   \   000057   FA           MOV     R2,A
   \   000058   75F006       MOV     B,#0x6
   \   00005B   E9           MOV     A,R1
   \   00005C   A4           MUL     AB
   \   00005D   2A           ADD     A,R2
   \   00005E   F9           MOV     R1,A
   \   00005F   E8           MOV     A,R0
   \   000060   24..         ADD     A,#((RepDatToSensorRec + 1) & 0xff)
   \   000062   F582         MOV     DPL,A
   \   000064   E9           MOV     A,R1
   \   000065   34..         ADDC    A,#(((RepDatToSensorRec + 1) >> 8) & 0xff)
   \   000067   F583         MOV     DPH,A
   \   000069   E0           MOVX    A,@DPTR
   \   00006A   65..         XRL     A,?V0 + 0
   \   00006C   7049         JNZ     ??NeedRepDatToSensor_2
     19          		  if (TickGetDiff(TickGet(), RepDatToSensorRec[i].lastRepTime) <CAPTAIN_SENDDATATOSENSORTIME/20)//每个滴答50ms左右
   \   00006E                ; Setup parameters for call to function TickGetDiff
   \   00006E   EE           MOV     A,R6
   \   00006F   F8           MOV     R0,A
   \   000070   EF           MOV     A,R7
   \   000071   F9           MOV     R1,A
   \   000072   E8           MOV     A,R0
   \   000073   75F006       MOV     B,#0x6
   \   000076   A4           MUL     AB
   \   000077   C8           XCH     A,R0
   \   000078   AAF0         MOV     R2,B
   \   00007A   75F000       MOV     B,#0x0
   \   00007D   A4           MUL     AB
   \   00007E   2A           ADD     A,R2
   \   00007F   FA           MOV     R2,A
   \   000080   75F006       MOV     B,#0x6
   \   000083   E9           MOV     A,R1
   \   000084   A4           MUL     AB
   \   000085   2A           ADD     A,R2
   \   000086   F9           MOV     R1,A
   \   000087   E8           MOV     A,R0
   \   000088   24..         ADD     A,#((RepDatToSensorRec + 2) & 0xff)
   \   00008A   F582         MOV     DPL,A
   \   00008C   E9           MOV     A,R1
   \   00008D   34..         ADDC    A,#(((RepDatToSensorRec + 2) >> 8) & 0xff)
   \   00008F   F583         MOV     DPH,A
   \   000091   12....       LCALL   ?PUSH_XSTACK8_X_FOUR
   \   000094                ; Setup parameters for call to function halGetMACTimer
   \   000094   12....       LCALL   halGetMACTimer
   \   000097   12....       LCALL   TickGetDiff
   \   00009A   7404         MOV     A,#0x4
   \   00009C   12....       LCALL   ?DEALLOC_XSTACK8
   \   00009F   8A..         MOV     ?V0 + 2,R2
   \   0000A1   8B..         MOV     ?V0 + 3,R3
   \   0000A3   C3           CLR     C
   \   0000A4   E5..         MOV     A,?V0 + 2
   \   0000A6   9414         SUBB    A,#0x14
   \   0000A8   E5..         MOV     A,?V0 + 3
   \   0000AA   9400         SUBB    A,#0x0
   \   0000AC   A2D2         MOV     C,0xD0 /* PSW */.2
   \   0000AE   65D0         XRL     A,PSW
   \   0000B0   33           RLC     A
   \   0000B1   5004         JNC     ??NeedRepDatToSensor_2
     20          		      return 0;		  		
   \   0000B3   7900         MOV     R1,#0x0
   \   0000B5   800D         SJMP    ??NeedRepDatToSensor_3
     21          	}
   \                     ??NeedRepDatToSensor_2:
   \   0000B7   EE           MOV     A,R6
   \   0000B8   2401         ADD     A,#0x1
   \   0000BA   FE           MOV     R6,A
   \   0000BB   EF           MOV     A,R7
   \   0000BC   3400         ADDC    A,#0x0
   \   0000BE   FF           MOV     R7,A
   \   0000BF   02....       LJMP    ??NeedRepDatToSensor_0
     22             return 1;
   \                     ??NeedRepDatToSensor_1:
   \   0000C2   7901         MOV     R1,#0x1
   \                     ??NeedRepDatToSensor_3:
   \   0000C4   7F04         MOV     R7,#0x4
   \   0000C6   02....       LJMP    ?FUNC_LEAVE_XDATA
     23          }
     24          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     25          void UpdateRepDatToSensorRec(BYTE hiId,BYTE lowId)
   \                     UpdateRepDatToSensorRec:
     26          {
   \   000000   74F1         MOV     A,#-0xf
   \   000002   12....       LCALL   ?FUNC_ENTER_XDATA
   \   000005                ; Saved register size: 15
   \   000005                ; Auto size: 3
   \   000005   74FD         MOV     A,#-0x3
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   E9           MOV     A,R1
   \   00000B   C0E0         PUSH    A
   \   00000D   7401         MOV     A,#0x1
   \   00000F   12....       LCALL   ?XSTACK_DISP0_8
   \   000012   D0E0         POP     A
   \   000014   F0           MOVX    @DPTR,A
   \   000015   EA           MOV     A,R2
   \   000016   C0E0         PUSH    A
   \   000018   7402         MOV     A,#0x2
   \   00001A   12....       LCALL   ?XSTACK_DISP0_8
   \   00001D   D0E0         POP     A
   \   00001F   F0           MOVX    @DPTR,A
     27              int i;
     28              TICK maxTime=0;
   \   000020   90....       MOV     DPTR,#__Constant_0
   \   000023   78..         MOV     R0,#?V0 + 0
   \   000025   12....       LCALL   ?L_MOV_X
   \   000028   85....       MOV     ?V0 + 4,?V0 + 0
   \   00002B   85....       MOV     ?V0 + 5,?V0 + 1
   \   00002E   85....       MOV     ?V0 + 6,?V0 + 2
   \   000031   85....       MOV     ?V0 + 7,?V0 + 3
     29          	BYTE iTmp=0;
   \   000034   7400         MOV     A,#0x0
   \   000036   85..82       MOV     DPL,?XSP + 0
   \   000039   85..83       MOV     DPH,?XSP + 1
   \   00003C   F0           MOVX    @DPTR,A
     30              for(i=0;i<MAXREPRECNUM;i++)
   \   00003D   7E00         MOV     R6,#0x0
   \   00003F   7F00         MOV     R7,#0x0
   \                     ??UpdateRepDatToSensorRec_0:
   \   000041   C3           CLR     C

⌨️ 快捷键说明

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