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

📄 wllocate.lst

📁 无线单片机cc2430简化协议的无线收发程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    138          
    139              #if defined(IAMTAG)                           //设置发射功率,标签与节点的功率设置不同
    140                  TxPower =TAG_TXPOWER;
   \   000019   75..07       MOV     ?V0 + 4,#0x7
    141              #else
    142                  TxPower =SENSOR_TXPOWER;
    143          	#endif
    144          	
    145              ConsolePutROMString("设置发射功率(min:0~max:7):");
   \   00001C                ; Setup parameters for call to function conPrintROMString_func
   \   00001C   7A..         MOV     R2,#(??xxxxromstr_5 & 0xff)
   \   00001E   7B..         MOV     R3,#((??xxxxromstr_5 >> 8) & 0xff)
   \   000020   12....       LCALL   conPrintROMString_func
    146              ConsolePutInitData(0,TxPower);
   \   000023                ; Setup parameters for call to function ConsolePutInitData
   \   000023   E5..         MOV     A,?V0 + 4
   \   000025   F5..         MOV     ?V0 + 0,A
   \   000027   AC..         MOV     R4,?V0 + 0
   \   000029   7D00         MOV     R5,#0x0
   \   00002B   7A00         MOV     R2,#0x0
   \   00002D   7B00         MOV     R3,#0x0
   \   00002F   12....       LCALL   ConsolePutInitData
    147          	
    148              PHYSetTxPower(TxPower);//设置发射功率//0~7;0-min   ;  7-max
   \   000032                ; Setup parameters for call to function halSetTxPower
   \   000032   A9..         MOV     R1,?V0 + 4
   \   000034   12....       LCALL   halSetTxPower
    149          
    150              ThisNode.NODEID[0] = macInfo.longAddr.v[0];   //节点ID号
   \   000037   90....       MOV     DPTR,#(macInfo + 1)
   \   00003A   E0           MOVX    A,@DPTR
   \   00003B   90....       MOV     DPTR,#ThisNode
   \   00003E   F0           MOVX    @DPTR,A
    151              ThisNode.NODEID[1] = macInfo.longAddr.v[1];
   \   00003F   90....       MOV     DPTR,#(macInfo + 2)
   \   000042   E0           MOVX    A,@DPTR
   \   000043   90....       MOV     DPTR,#(ThisNode + 1)
   \   000046   F0           MOVX    @DPTR,A
    152          	
    153              srand(ThisNode.NODEID[0]*256+ThisNode.NODEID[1]);//
   \   000047                ; Setup parameters for call to function srand
   \   000047   90....       MOV     DPTR,#ThisNode
   \   00004A   E0           MOVX    A,@DPTR
   \   00004B   F8           MOV     R0,A
   \   00004C   7900         MOV     R1,#0x0
   \   00004E   E8           MOV     A,R0
   \   00004F   75F000       MOV     B,#0x0
   \   000052   A4           MUL     AB
   \   000053   C8           XCH     A,R0
   \   000054   AAF0         MOV     R2,B
   \   000056   75F001       MOV     B,#0x1
   \   000059   A4           MUL     AB
   \   00005A   2A           ADD     A,R2
   \   00005B   FA           MOV     R2,A
   \   00005C   75F000       MOV     B,#0x0
   \   00005F   E9           MOV     A,R1
   \   000060   A4           MUL     AB
   \   000061   2A           ADD     A,R2
   \   000062   F9           MOV     R1,A
   \   000063   90....       MOV     DPTR,#(ThisNode + 1)
   \   000066   E0           MOVX    A,@DPTR
   \   000067   7B00         MOV     R3,#0x0
   \   000069   28           ADD     A,R0
   \   00006A   FA           MOV     R2,A
   \   00006B   EB           MOV     A,R3
   \   00006C   39           ADDC    A,R1
   \   00006D   FB           MOV     R3,A
   \   00006E   12....       LCALL   srand
    154          	
    155              ConsolePutROMString("本节点ID号:");
   \   000071                ; Setup parameters for call to function conPrintROMString_func
   \   000071   7A..         MOV     R2,#(??xxxxromstr_6 & 0xff)
   \   000073   7B..         MOV     R3,#((??xxxxromstr_6 >> 8) & 0xff)
   \   000075   12....       LCALL   conPrintROMString_func
    156              ConsolePutInitData(ThisNode.NODEID[0], ThisNode.NODEID[1]);
   \   000078                ; Setup parameters for call to function ConsolePutInitData
   \   000078   90....       MOV     DPTR,#(ThisNode + 1)
   \   00007B   E0           MOVX    A,@DPTR
   \   00007C   F5..         MOV     ?V0 + 0,A
   \   00007E   AC..         MOV     R4,?V0 + 0
   \   000080   7D00         MOV     R5,#0x0
   \   000082   90....       MOV     DPTR,#ThisNode
   \   000085   E0           MOVX    A,@DPTR
   \   000086   F5..         MOV     ?V0 + 0,A
   \   000088   AA..         MOV     R2,?V0 + 0
   \   00008A   7B00         MOV     R3,#0x0
   \   00008C   12....       LCALL   ConsolePutInitData
    157              ConsolePutROMString("标签启动...\r\n");
   \   00008F                ; Setup parameters for call to function conPrintROMString_func
   \   00008F   7A..         MOV     R2,#(??xxxxromstr_7 & 0xff)
   \   000091   7B..         MOV     R3,#((??xxxxromstr_7 >> 8) & 0xff)
   \   000093   12....       LCALL   conPrintROMString_func
    158              CAPTAINLastSleepTime=TickGet();
   \   000096                ; Setup parameters for call to function halGetMACTimer
   \   000096   12....       LCALL   halGetMACTimer
   \   000099   8A..         MOV     ?V0 + 0,R2
   \   00009B   8B..         MOV     ?V0 + 1,R3
   \   00009D   8C..         MOV     ?V0 + 2,R4
   \   00009F   8D..         MOV     ?V0 + 3,R5
   \   0000A1   90....       MOV     DPTR,#CAPTAINLastSleepTime
   \   0000A4   E5..         MOV     A,?V0 + 0
   \   0000A6   F0           MOVX    @DPTR,A
   \   0000A7   A3           INC     DPTR
   \   0000A8   E5..         MOV     A,?V0 + 1
   \   0000AA   F0           MOVX    @DPTR,A
   \   0000AB   A3           INC     DPTR
   \   0000AC   E5..         MOV     A,?V0 + 2
   \   0000AE   F0           MOVX    @DPTR,A
   \   0000AF   A3           INC     DPTR
   \   0000B0   E5..         MOV     A,?V0 + 3
   \   0000B2   F0           MOVX    @DPTR,A
    159              SENSORLastReportTime=0;
   \   0000B3   90....       MOV     DPTR,#__Constant_0
   \   0000B6   78..         MOV     R0,#?V0 + 0
   \   0000B8   12....       LCALL   ?L_MOV_X
   \   0000BB   90....       MOV     DPTR,#SENSORLastReportTime
   \   0000BE   E5..         MOV     A,?V0 + 0
   \   0000C0   F0           MOVX    @DPTR,A
   \   0000C1   A3           INC     DPTR
   \   0000C2   E5..         MOV     A,?V0 + 1
   \   0000C4   F0           MOVX    @DPTR,A
   \   0000C5   A3           INC     DPTR
   \   0000C6   E5..         MOV     A,?V0 + 2
   \   0000C8   F0           MOVX    @DPTR,A
   \   0000C9   A3           INC     DPTR
   \   0000CA   E5..         MOV     A,?V0 + 3
   \   0000CC   F0           MOVX    @DPTR,A
    160          
    161          
    162             ConsolePutROMString("开始启动\r\n");
   \   0000CD                ; Setup parameters for call to function conPrintROMString_func
   \   0000CD   7A..         MOV     R2,#(??xxxxromstr_8 & 0xff)
   \   0000CF   7B..         MOV     R3,#((??xxxxromstr_8 >> 8) & 0xff)
   \   0000D1   12....       LCALL   conPrintROMString_func
    163          
    164             rst=(SLEEP>>0x03)&0x03;
   \   0000D4   E5BE         MOV     A,0xbe
   \   0000D6   13           RRC     A
   \   0000D7   13           RRC     A
   \   0000D8   13           RRC     A
   \   0000D9   541F         ANL     A,#0x1f
   \   0000DB   5403         ANL     A,#0x3
   \   0000DD   F5..         MOV     ?V0 + 5,A
    165          	
    166             #if defined(IAMTAG)
    167          
    168          	  if(rst==0x02)//看门狗复位
   \   0000DF   7402         MOV     A,#0x2
   \   0000E1   65..         XRL     A,?V0 + 5
   \   0000E3   7012         JNZ     ??MainLoop_0
    169          	  {     ConsolePutROMString("watch dog reset\r\n");
   \   0000E5                ; Setup parameters for call to function conPrintROMString_func
   \   0000E5   7A..         MOV     R2,#(??xxxxromstr_9 & 0xff)
   \   0000E7   7B..         MOV     R3,#((??xxxxromstr_9 >> 8) & 0xff)
   \   0000E9   12....       LCALL   conPrintROMString_func
    170          	    	WirelesDebugOut(DEBUG_WATCHDOG_RESET);
   \   0000EC                ; Setup parameters for call to function WirelesDebugOut
   \   0000EC   7901         MOV     R1,#0x1
   \   0000EE   12....       LCALL   WirelesDebugOut
    171          			WatchDogReset=0;
   \   0000F1   7400         MOV     A,#0x0
   \   0000F3   90....       MOV     DPTR,#WatchDogReset
   \   0000F6   F0           MOVX    @DPTR,A
    172          	  }
    173          	  if(rst==0x00)//看门狗复位
   \                     ??MainLoop_0:
   \   0000F7   E5..         MOV     A,?V0 + 5
   \   0000F9   700D         JNZ     ??MainLoop_1
    174          	  {     ConsolePutROMString("Power-on reset\r\n");
   \   0000FB                ; Setup parameters for call to function conPrintROMString_func
   \   0000FB   7A..         MOV     R2,#(??xxxxromstr_10 & 0xff)
   \   0000FD   7B..         MOV     R3,#((??xxxxromstr_10 >> 8) & 0xff)
   \   0000FF   12....       LCALL   conPrintROMString_func
    175          
    176          			WatchDogReset=0;
   \   000102   7400         MOV     A,#0x0
   \   000104   90....       MOV     DPTR,#WatchDogReset
   \   000107   F0           MOVX    @DPTR,A
    177          	  }	
    178          	  if(rst==0x01)//看门狗复位
   \                     ??MainLoop_1:
   \   000108   7401         MOV     A,#0x1
   \   00010A   65..         XRL     A,?V0 + 5
   \   00010C   700D         JNZ     ??MainLoop_2
    179          	  {     ConsolePutROMString("External reset\r\n");
   \   00010E                ; Setup parameters for call to function conPrintROMString_func
   \   00010E   7A..         MOV     R2,#(??xxxxromstr_11 & 0xff)
   \   000110   7B..         MOV     R3,#((??xxxxromstr_11 >> 8) & 0xff)
   \   000112   12....       LCALL   conPrintROMString_func
    180          	    	
    181          			WatchDogReset=0;
   \   000115   7400         MOV     A,#0x0
   \   000117   90....       MOV     DPTR,#WatchDogReset
   \   00011A   F0           MOVX    @DPTR,A
    182          	  }	
    183          	
    184             #endif
    185          
    186             //WDT_SET_TIMEOUT_PERIOD(M_SEC_250);   //设置看门狗时间值
    187             //WDT_ENABLE();  //使能看门狗
    188          
    189          
    190              ConsolePutROMString("进入主程序...\r\n");    	
   \                     ??MainLoop_2:
   \   00011B                ; Setup parameters for call to function conPrintROMString_func
   \   00011B   7A..         MOV     R2,#(??xxxxromstr_12 & 0xff)
   \   00011D   7B..         MOV     R3,#((??xxxxromstr_12 >> 8) & 0xff)
   \   00011F   12....       LCALL   conPrintROMString_func
    191              mainLoop=1;
   \   000122   7401         MOV     A,#0x1
   \   000124   90....       MOV     DPTR,#mainLoop
   \   000127   F0           MOVX    @DPTR,A
    192              while (1)
    193              {
    194          
    195          
    196                  //WDT_RESET();          //看门狗喂狗
    197                  //SleepSomeTime(100);   //休眠
    198                  macFSM();               //mac层通讯处理
   \                     ??MainLoop_3:
   \   000128                ; Setup parameters for call to function macFSM
   \   000128   12....       LCALL   macFSM
    199          
    200          
    201                  if(submacCurrentFrame.sub_type.Val!=0xff)   //若收到数据
   \   00012B   90....       MOV     DPTR,#submacCurrentFrame
   \   00012E   E0           MOVX    A,@DPTR
   \   00012F   64FF         XRL     A,#0xff
   \   000131   6005         JZ      ??MainLoop_4
    202                  {
    203                     P0_1=~P0_1;          //改变绿灯状态
   \   000133   A281         MOV     C,0x80.1
   \   000135   B3           CPL     C
   \   000136   9281         MOV     0x80.1,C
    204                  }
    205          
    206                 		
    207                  if(xyz==0)              //定时时间间隔到
   \                     ??MainLoop_4:
   \   000138   7400         MOV     A,#0x0
   \   00013A   6E           XRL     A,R6
   \   00013B   7003         JNZ     ??MainLoop_5
   \   00013D   7400         MOV     A,#0x0
   \   00013F   6F           XRL     A,R7
   \                     ??MainLoop_5:
   \   000140   700A         JNZ     ??MainLoop_6
    208               	{    	    		
    209                		P0_0=~P0_0;     //改变红灯状态
   \   000142   A280         MOV     C,0x80.0
   \   000144   B3           CPL     C
   \   000145   9280         MOV     0x80.0,C
    210                          WirelessSendData(MSG_TAG_ISANYCAPTAINHERE);   //无线广播发送数据
   \   000147                ; Setup parameters for call to function WirelessSendData
   \   000147   7920         MOV     R1,#0x20
   \   000149   12....       LCALL   WirelessSendData
    211          
    212                 	}
    213                 xyz++;                   
   \                     ??MainLoop_6:
   \   00014C   EE           MOV     A,R6
   \   00014D   2401         ADD     A,#0x1
   \   00014F   FE           MOV     R6,A
   \   000150   EF           MOV     A,R7
   \   000151   3400         ADDC    A,#0x0
   \   000153   FF           MOV     R7,A
    214                 if(xyz>8000)xyz=0;       //记时
   \   000154   C3           CLR     C
   \   000155   EE           MOV     A,R6
   \   000156   9441         SUBB    A,#0x41
   \   000158   EF           MOV     A,R7
   \   000159   941F         SUBB    A,#0x1f

⌨️ 快捷键说明

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