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

📄 hal_led.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000030   90....       MOV     DPTR,#(??HalLedStatusControl + 36)
   \   000033   E0           MOVX    A,@DPTR
   \   000034   6003         JZ      $+5
   \   000036   02....       LJMP    ??HalLedUpdate_0 & 0xFFFF
    258            {
    259              while (leds)
    260              {
    261                if (leds & led)
   \                     ??HalLedUpdate_1:
   \   000039   85..82       MOV     DPL,?XSP + 0
   \   00003C   85..83       MOV     DPH,?XSP + 1
   \   00003F   E0           MOVX    A,@DPTR
   \   000040   C0E0         PUSH    A
   \   000042   7403         MOV     A,#0x3
   \   000044   12....       LCALL   ?XSTACK_DISP0_8
   \   000047   D0E0         POP     A
   \   000049   FA           MOV     R2,A
   \   00004A   E0           MOVX    A,@DPTR
   \   00004B   5A           ANL     A,R2
   \   00004C   7003         JNZ     $+5
   \   00004E   02....       LJMP    ??HalLedUpdate_2 & 0xFFFF
    262                {
    263                  if (sts->mode & HAL_LED_MODE_BLINK)
   \   000051   7401         MOV     A,#0x1
   \   000053   12....       LCALL   ?XSTACK_DISP0_8
   \   000056   12....       LCALL   ?Subroutine4 & 0xFFFF
   \                     ??CrossCallReturnLabel_5:
   \   000059   4003         JC      $+5
   \   00005B   02....       LJMP    ??HalLedUpdate_3 & 0xFFFF
    264                  {
    265                    time = osal_GetSystemClock();
   \   00005E                ; Setup parameters for call to function osal_GetSystemClock
   \   00005E   90....       MOV     DPTR,#(osal_GetSystemClock & 0xffff)
   \   000061   74..         MOV     A,#((osal_GetSystemClock >> 16) & 0xff)
   \   000063   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000066   8A..         MOV     ?V0 + 0,R2
   \   000068   8B..         MOV     ?V0 + 1,R3
   \   00006A   8C..         MOV     ?V0 + 2,R4
   \   00006C   8D..         MOV     ?V0 + 3,R5
   \   00006E   7406         MOV     A,#0x6
   \   000070   12....       LCALL   ?XSTACK_DISP0_8
   \   000073   78..         MOV     R0,#?V0 + 0
   \   000075   12....       LCALL   ?L_MOV_TO_X
    266                    if (time >= sts->next)
   \   000078   7406         MOV     A,#0x6
   \   00007A   12....       LCALL   ?XSTACK_DISP0_8
   \   00007D   C082         PUSH    DPL
   \   00007F   C083         PUSH    DPH
   \   000081   7401         MOV     A,#0x1
   \   000083   12....       LCALL   ?XSTACK_DISP0_8
   \   000086   12....       LCALL   ?Subroutine2 & 0xFFFF
   \                     ??CrossCallReturnLabel_0:
   \   000089   12....       LCALL   ?L_MOV_X
   \   00008C   D083         POP     DPH
   \   00008E   D082         POP     DPL
   \   000090   78..         MOV     R0,#?V0 + 0
   \   000092   12....       LCALL   ?UL_GT_X
   \   000095   5003         JNC     $+5
   \   000097   02....       LJMP    ??HalLedUpdate_4 & 0xFFFF
    267                    {
    268                      if (sts->mode & HAL_LED_MODE_ON)
   \   00009A   7401         MOV     A,#0x1
   \   00009C   12....       LCALL   ?XSTACK_DISP0_8
   \   00009F   12....       LCALL   ?Subroutine5 & 0xFFFF
   \                     ??CrossCallReturnLabel_7:
   \   0000A2   A2E0         MOV     C,0xE0 /* A   */.0
   \   0000A4   7401         MOV     A,#0x1
   \   0000A6   5050         JNC     ??HalLedUpdate_5
    269                      {
    270                        pct = 100 - sts->onPct;               /* Percentage of cycle for off */
   \   0000A8   12....       LCALL   ?XSTACK_DISP0_8
   \   0000AB   12....       LCALL   ?Subroutine7 & 0xFFFF
   \                     ??CrossCallReturnLabel_12:
   \   0000AE   FA           MOV     R2,A
   \   0000AF   7464         MOV     A,#0x64
   \   0000B1   C3           CLR     C
   \   0000B2   9A           SUBB    A,R2
   \   0000B3   F5..         MOV     ?V0 + 4,A
    271                        sts->mode &= ~HAL_LED_MODE_ON;        /* Say it's not on */
   \   0000B5   7401         MOV     A,#0x1
   \   0000B7   12....       LCALL   ?XSTACK_DISP0_8
   \   0000BA   12....       LCALL   ??Subroutine8_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_14:
   \   0000BD   C2E0         CLR     0xE0 /* A   */.0
   \   0000BF   F0           MOVX    @DPTR,A
    272                        HalLedOnOff (led, HAL_LED_MODE_OFF);  /* Turn it off */
   \   0000C0                ; Setup parameters for call to function HalLedOnOff
   \   0000C0   7A00         MOV     R2,#0x0
   \   0000C2   12....       LCALL   ?Subroutine3 & 0xFFFF
   \                     ??CrossCallReturnLabel_2:
   \   0000C5   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    273          
    274                        if (!(sts->mode & HAL_LED_MODE_FLASH))
   \   0000C8   7401         MOV     A,#0x1
   \   0000CA   12....       LCALL   ?XSTACK_DISP0_8
   \   0000CD   12....       LCALL   ?Subroutine5 & 0xFFFF
   \                     ??CrossCallReturnLabel_8:
   \   0000D0   A2E2         MOV     C,0xE0 /* A   */.2
   \   0000D2   403F         JC      ??HalLedUpdate_6
    275                        {
    276                          sts->todo--;                        /* Not continuous, reduce count */
   \   0000D4   7401         MOV     A,#0x1
   \   0000D6   12....       LCALL   ?XSTACK_DISP0_8
   \   0000D9   E0           MOVX    A,@DPTR
   \   0000DA   2401         ADD     A,#0x1
   \   0000DC   08           INC     R0
   \   0000DD   A3           INC     DPTR
   \   0000DE   E0           MOVX    A,@DPTR
   \   0000DF   3400         ADDC    A,#0x0
   \   0000E1   F9           MOV     R1,A
   \   0000E2   8882         MOV     DPL,R0
   \   0000E4   8983         MOV     DPH,R1
   \   0000E6   E0           MOVX    A,@DPTR
   \   0000E7   14           DEC     A
   \   0000E8   F0           MOVX    @DPTR,A
    277                          if (!sts->todo)
   \   0000E9   7028         JNZ     ??HalLedUpdate_6
    278                          {
    279                            sts->mode ^= HAL_LED_MODE_BLINK;  /* No more blinks */
   \   0000EB   7401         MOV     A,#0x1
   \   0000ED   12....       LCALL   ?XSTACK_DISP0_8
   \   0000F0   12....       LCALL   ?Subroutine5 & 0xFFFF
   \                     ??CrossCallReturnLabel_9:
   \   0000F3   6402         XRL     A,#0x2
   \   0000F5   F0           MOVX    @DPTR,A
   \   0000F6   801B         SJMP    ??HalLedUpdate_6
    280                          }
    281                        }
    282                      }
    283                      else
    284                      {
    285                        pct = sts->onPct;                     /* Percentage of cycle for on */
   \                     ??HalLedUpdate_5:
   \   0000F8   12....       LCALL   ?XSTACK_DISP0_8
   \   0000FB   12....       LCALL   ?Subroutine7 & 0xFFFF
   \                     ??CrossCallReturnLabel_13:
   \   0000FE   F5..         MOV     ?V0 + 4,A
    286                        sts->mode |= HAL_LED_MODE_ON;         /* Say it's on */
   \   000100   7401         MOV     A,#0x1
   \   000102   12....       LCALL   ?XSTACK_DISP0_8
   \   000105   12....       LCALL   ??Subroutine8_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_15:
   \   000108   D2E0         SETB    0xE0 /* A   */.0
   \   00010A   F0           MOVX    @DPTR,A
    287                        HalLedOnOff (led, HAL_LED_MODE_ON);   /* Turn it on */
   \   00010B                ; Setup parameters for call to function HalLedOnOff
   \   00010B   7A01         MOV     R2,#0x1
   \   00010D   12....       LCALL   ?Subroutine3 & 0xFFFF
   \                     ??CrossCallReturnLabel_3:
   \   000110   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    288                      }
    289          
    290                      if (sts->mode & HAL_LED_MODE_BLINK)
   \                     ??HalLedUpdate_6:
   \   000113   7401         MOV     A,#0x1
   \   000115   12....       LCALL   ?XSTACK_DISP0_8
   \   000118   12....       LCALL   ?Subroutine4 & 0xFFFF
   \                     ??CrossCallReturnLabel_6:
   \   00011B   5059         JNC     ??HalLedUpdate_7
    291                      {
    292                        wait = (((uint32)pct * (uint32)sts->time) / 100);
   \   00011D   75..00       MOV     ?V0 + 5,#0x0
   \   000120   75..00       MOV     ?V0 + 6,#0x0
   \   000123   75..00       MOV     ?V0 + 7,#0x0
   \   000126   7401         MOV     A,#0x1
   \   000128   12....       LCALL   ?XSTACK_DISP0_8
   \   00012B   12....       LCALL   ?Subroutine9 & 0xFFFF
   \                     ??CrossCallReturnLabel_18:
   \   00012E   E0           MOVX    A,@DPTR
   \   00012F   F5..         MOV     ?V0 + 0,A
   \   000131   A3           INC     DPTR
   \   000132   E0           MOVX    A,@DPTR
   \   000133   F5..         MOV     ?V0 + 1,A
   \   000135   75..00       MOV     ?V0 + 2,#0x0
   \   000138   75..00       MOV     ?V0 + 3,#0x0
   \   00013B   78..         MOV     R0,#?V0 + 4
   \   00013D   79..         MOV     R1,#?V0 + 0
   \   00013F   12....       LCALL   ?L_MUL
   \   000142   90....       MOV     DPTR,#__Constant_64
   \   000145   78..         MOV     R0,#?V0 + 0
   \   000147   12....       LCALL   ?L_MOV_X
   \   00014A   78..         MOV     R0,#?V0 + 4
   \   00014C   79..         MOV     R1,#?V0 + 0
   \   00014E   12....       LCALL   ?UL_DIV_MOD
   \   000151   AE..         MOV     R6,?V0 + 4
   \   000153   AF..         MOV     R7,?V0 + 5
    293                        sts->next = time + wait;
   \   000155   7406         MOV     A,#0x6
   \   000157   12....       LCALL   ?XSTACK_DISP0_8
   \   00015A   8E..         MOV     ?V0 + 0,R6
   \   00015C   8F..         MOV     ?V0 + 1,R7
   \   00015E   75..00       MOV     ?V0 + 2,#0x0
   \   000161   75..00       MOV     ?V0 + 3,#0x0
   \   000164   78..         MOV     R0,#?V0 + 0
   \   000166   12....       LCALL   ?L_ADD_X
   \   000169   7401         MOV     A,#0x1
   \   00016B   12....       LCALL   ?XSTACK_DISP0_8
   \   00016E   12....       LCALL   ?Subroutine2 & 0xFFFF
   \                     ??CrossCallReturnLabel_1:
   \   000171   12....       LCALL   ?L_MOV_TO_X
   \   000174   804F         SJMP    ??HalLedUpdate_8
    294                      }
    295                      else
    296                      {
    297                        /* no more blink, no more wait */
    298                        wait = 0;
   \                     ??HalLedUpdate_7:
   \   000176   7E00         MOV     R6,#0x0
   \   000178   7F00         MOV     R7,#0x0
    299                        /* After blinking, set the LED back to the state before it blinks */
    300                        HalLedSet (led, ((preBlinkState & led)!=0)?HAL_LED_MODE_ON:HAL_LED_MODE_OFF);
   \   00017A   85..82       MOV     DPL,?XSP + 0
   \   00017D   85..83       MOV     DPH,?XSP + 1
   \   000180   E0           MOVX    A,@DPTR
   \   000181   90....       MOV     DPTR,#??preBlinkState
   \   000184   FA           MOV     R2,A
   \   000185   E0           MOVX    A,@DPTR
   \   000186   5A           ANL     A,R2
   \   000187   6004         JZ      ??HalLedUpdate_9
   \   000189   7A01         MOV     R2,#0x1
   \   00018B   8002         SJMP    ??HalLedUpdate_10
   \                     ??HalLedUpdate_9:
   \   00018D   7A00         MOV     R2,#0x0
   \                     ??HalLedUpdate_10:
   \   00018F                ; Setup parameters for call to function HalLedSet
   \   00018F   85..82       MOV     DPL,?XSP + 0
   \   000192   85..83       MOV     DPH,?XSP + 1
   \   000195   E0           MOVX    A,@DPTR
   \   000196   F9           MOV     R1,A
   \   000197   90....       MOV     DPTR,#(HalLedSet & 0xffff)
   \   00019A   74..         MOV     A,#((HalLedSet >> 16) & 0xff)
   \   00019C   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    301                        /* Clear the saved bit */
    302                        preBlinkState &= ~led;
   \   00019F   85..82       MOV     DPL,?XSP + 0
   \   0001A2   85..83       MOV     DPH,?XSP + 1
   \   0001A5   E0           MOVX    A,@DPTR
   \   0001A6   F4           CPL     A
   \   0001A7   FA           MOV     R2,A
   \   0001A8   90....       MOV     DPTR,#??preBlinkState
   \   0001AB   E0           MOVX    A,@DPTR
   \   0001AC   5A           ANL     A,R2
   \   0001AD   F0           MOVX    @DPTR,A
   \   0001AE   8015         SJMP    ??HalLedUpdate_8
    303                      }
    304                    }
    305                    else
    306                    {

⌨️ 快捷键说明

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