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

📄 hal_lcd.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 4 页
字号:
    330            uint8 tmpLen;
    331            uint8 buf[LCD_MAX_BUF];
    332            uint32 err;
    333          
    334            tmpLen = (uint8)osal_strlen( (char*)title );
   \   000014                ; Setup parameters for call to function osal_strlen
   \   000014   90....       MOV     DPTR,#(osal_strlen & 0xffff)
   \   000017   74..         MOV     A,#((osal_strlen >> 16) & 0xff)
   \   000019   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00001C   EA           MOV     A,R2
   \   00001D   F5..         MOV     ?V0 + 4,A
    335            osal_memcpy( buf, title, tmpLen );
   \   00001F                ; Setup parameters for call to function osal_memcpy
   \   00001F   75..00       MOV     ?V0 + 2,#0x0
   \   000022   78..         MOV     R0,#?V0 + 0
   \   000024   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   000027   EA           MOV     A,R2
   \   000028   FC           MOV     R4,A
   \   000029   7D00         MOV     R5,#0x0
   \   00002B   7403         MOV     A,#0x3
   \   00002D   12....       LCALL   ?XSTACK_DISP0_8
   \   000030   AA82         MOV     R2,DPL
   \   000032   AB83         MOV     R3,DPH
   \   000034   90....       MOV     DPTR,#(osal_memcpy & 0xffff)
   \   000037   74..         MOV     A,#((osal_memcpy >> 16) & 0xff)
   \   000039   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00003C   7403         MOV     A,#0x3
   \   00003E   12....       LCALL   ?DEALLOC_XSTACK8
    336            buf[tmpLen] = ' ';
   \   000041   85..82       MOV     DPL,?XSP + 0
   \   000044   85..83       MOV     DPH,?XSP + 1
   \   000047   E582         MOV     A,DPL
   \   000049   25..         ADD     A,?V0 + 4
   \   00004B   F582         MOV     DPL,A
   \   00004D   E583         MOV     A,DPH
   \   00004F   3400         ADDC    A,#0x0
   \   000051   F583         MOV     DPH,A
   \   000053   7420         MOV     A,#0x20
   \   000055   F0           MOVX    @DPTR,A
    337            err = (uint32)(value);
    338            _ltoa( err, &buf[tmpLen+1], format );
   \   000056                ; Setup parameters for call to function _ltoa
   \   000056   A3           INC     DPTR
   \   000057   8582..       MOV     ?V0 + 0,DPL
   \   00005A   8583..       MOV     ?V0 + 1,DPH
   \   00005D   78..         MOV     R0,#?V0 + 0
   \   00005F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000062   A9..         MOV     R1,?V0 + 3
   \   000064   8E..         MOV     ?V0 + 0,R6
   \   000066   8F..         MOV     ?V0 + 1,R7
   \   000068   AA..         MOV     R2,?V0 + 0
   \   00006A   AB..         MOV     R3,?V0 + 1
   \   00006C   7C00         MOV     R4,#0x0
   \   00006E   7D00         MOV     R5,#0x0
   \   000070   02....       LJMP    ?Subroutine3 & 0xFFFF
    339            HalLcdWriteString( (char*)buf, line );		
    340          #endif /* HAL_LCD */
    341          }
    342          
    343          /**************************************************************************************************
    344           * @fn      HalLcdWriteStringValue
    345           *
    346           * @brief   Write a string followed by a value to the LCD
    347           *
    348           * @param   title   -
    349           *          value1  -
    350           *          format1 -
    351           *          value2  -
    352           *          format2 -
    353           *          line    -
    354           *
    355           * @return  None
    356           **************************************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    357          void HalLcdWriteStringValueValue( char *title, uint16 value1, uint8 format1,
   \                     HalLcdWriteStringValueValue:
    358                                            uint16 value2, byte format2, uint8 line )
    359          {
   \   000000   74F0         MOV     A,#-0x10
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 16
   \   000005                ; Auto size: 25
   \   000005   74E7         MOV     A,#-0x19
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   8A..         MOV     ?V0 + 0,R2
   \   00000C   8B..         MOV     ?V0 + 1,R3
   \   00000E   EC           MOV     A,R4
   \   00000F   FE           MOV     R6,A
   \   000010   ED           MOV     A,R5
   \   000011   FF           MOV     R7,A
   \   000012   89..         MOV     ?V0 + 3,R1
   \   000014   7429         MOV     A,#0x29
   \   000016   12....       LCALL   ?XSTACK_DISP0_8
   \   000019   E0           MOVX    A,@DPTR
   \   00001A   F5..         MOV     ?V0 + 6,A
   \   00001C   A3           INC     DPTR
   \   00001D   E0           MOVX    A,@DPTR
   \   00001E   F5..         MOV     ?V0 + 7,A
    360          #if (HAL_LCD == TRUE)
    361            uint8 tmpLen;
    362            uint8 buf[LCD_MAX_BUF];
    363            uint32 err;
    364          
    365            tmpLen = (uint8)osal_strlen( (char*)title );
   \   000020                ; Setup parameters for call to function osal_strlen
   \   000020   90....       MOV     DPTR,#(osal_strlen & 0xffff)
   \   000023   74..         MOV     A,#((osal_strlen >> 16) & 0xff)
   \   000025   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000028   EA           MOV     A,R2
   \   000029   F5..         MOV     ?V0 + 4,A
    366            if ( tmpLen )
   \   00002B   6029         JZ      ??HalLcdWriteStringValueValue_0
    367            {
    368              osal_memcpy( buf, title, tmpLen );
   \   00002D                ; Setup parameters for call to function osal_memcpy
   \   00002D   75..00       MOV     ?V0 + 2,#0x0
   \   000030   78..         MOV     R0,#?V0 + 0
   \   000032   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   000035   EA           MOV     A,R2
   \   000036   F5..         MOV     ?V0 + 0,A
   \   000038   FC           MOV     R4,A
   \   000039   7D00         MOV     R5,#0x0
   \   00003B   7403         MOV     A,#0x3
   \   00003D   12....       LCALL   ?XSTACK_DISP0_8
   \   000040   AA82         MOV     R2,DPL
   \   000042   AB83         MOV     R3,DPH
   \   000044   90....       MOV     DPTR,#(osal_memcpy & 0xffff)
   \   000047   74..         MOV     A,#((osal_memcpy >> 16) & 0xff)
   \   000049   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00004C   7403         MOV     A,#0x3
   \   00004E   12....       LCALL   ?DEALLOC_XSTACK8
    369              buf[tmpLen++] = ' ';
   \   000051   12....       LCALL   ?Subroutine0 & 0xFFFF
   \                     ??CrossCallReturnLabel_0:
   \   000054   05..         INC     ?V0 + 4
    370            }
    371          
    372            err = (uint32)(value1);
    373            _ltoa( err, &buf[tmpLen], format1 );
   \                     ??HalLcdWriteStringValueValue_0:
   \   000056                ; Setup parameters for call to function _ltoa
   \   000056   85..82       MOV     DPL,?XSP + 0
   \   000059   85..83       MOV     DPH,?XSP + 1
   \   00005C   E582         MOV     A,DPL
   \   00005E   25..         ADD     A,?V0 + 4
   \   000060   F5..         MOV     ?V0 + 0,A
   \   000062   E583         MOV     A,DPH
   \   000064   3400         ADDC    A,#0x0
   \   000066   F5..         MOV     ?V0 + 1,A
   \   000068   78..         MOV     R0,#?V0 + 0
   \   00006A   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00006D   A9..         MOV     R1,?V0 + 3
   \   00006F   8E..         MOV     ?V0 + 0,R6
   \   000071   8F..         MOV     ?V0 + 1,R7
   \   000073   AA..         MOV     R2,?V0 + 0
   \   000075   AB..         MOV     R3,?V0 + 1
   \   000077   7C00         MOV     R4,#0x0
   \   000079   7D00         MOV     R5,#0x0
   \   00007B   90....       MOV     DPTR,#(_ltoa & 0xffff)
   \   00007E   74..         MOV     A,#((_ltoa >> 16) & 0xff)
   \   000080   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000083   7402         MOV     A,#0x2
   \   000085   12....       LCALL   ?DEALLOC_XSTACK8
    374            tmpLen = (uint8)osal_strlen( (char*)buf );
   \   000088                ; Setup parameters for call to function osal_strlen
   \   000088   85..82       MOV     DPL,?XSP + 0
   \   00008B   85..83       MOV     DPH,?XSP + 1
   \   00008E   AA82         MOV     R2,DPL
   \   000090   AB83         MOV     R3,DPH
   \   000092   90....       MOV     DPTR,#(osal_strlen & 0xffff)
   \   000095   74..         MOV     A,#((osal_strlen >> 16) & 0xff)
   \   000097   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00009A   EA           MOV     A,R2
   \   00009B   F5..         MOV     ?V0 + 4,A
    375          
    376            buf[tmpLen++] = ',';
   \   00009D   F5..         MOV     ?V0 + 0,A
   \   00009F   12....       LCALL   ?Subroutine1 & 0xFFFF
   \                     ??CrossCallReturnLabel_2:
   \   0000A2   742C         MOV     A,#0x2c
   \   0000A4   F0           MOVX    @DPTR,A
   \   0000A5   05..         INC     ?V0 + 4
    377            buf[tmpLen++] = ' ';
   \   0000A7   85....       MOV     ?V0 + 0,?V0 + 4
   \   0000AA   12....       LCALL   ?Subroutine0 & 0xFFFF
    378            err = (uint32)(value2);
    379            _ltoa( err, &buf[tmpLen], format2 );
   \                     ??CrossCallReturnLabel_1:
   \   0000AD                ; Setup parameters for call to function _ltoa
   \   0000AD   7401         MOV     A,#0x1
   \   0000AF   25..         ADD     A,?V0 + 4
   \   0000B1   F8           MOV     R0,A
   \   0000B2   85..82       MOV     DPL,?XSP + 0
   \   0000B5   85..83       MOV     DPH,?XSP + 1
   \   0000B8   E582         MOV     A,DPL
   \   0000BA   28           ADD     A,R0
   \   0000BB   F5..         MOV     ?V0 + 0,A
   \   0000BD   E583         MOV     A,DPH
   \   0000BF   3400         ADDC    A,#0x0
   \   0000C1   F5..         MOV     ?V0 + 1,A
   \   0000C3   78..         MOV     R0,#?V0 + 0
   \   0000C5   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   0000C8   742D         MOV     A,#0x2d
   \   0000CA   12....       LCALL   ?XSTACK_DISP0_8
   \   0000CD   E0           MOVX    A,@DPTR
   \   0000CE   F9           MOV     R1,A
   \   0000CF   AA..         MOV     R2,?V0 + 6
   \   0000D1   AB..         MOV     R3,?V0 + 7
   \   0000D3   7C00         MOV     R4,#0x0
   \   0000D5   7D00         MOV     R5,#0x0
   \   0000D7   90....       MOV     DPTR,#(_ltoa & 0xffff)
   \   0000DA   74..         MOV     A,#((_ltoa >> 16) & 0xff)
   \   0000DC   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   0000DF   7402         MOV     A,#0x2
   \   0000E1   12....       LCALL   ?DEALLOC_XSTACK8
    380          
    381            HalLcdWriteString( (char *)buf, line );		
    382          #endif /* HAL_LCD */
    383          }
   \   0000E4   7419         MOV     A,#0x19
   \   0000E6   12....       LCALL   ?DEALLOC_XSTACK8
   \   0000E9   7F08         MOV     R7,#0x8
   \   0000EB   02....       LJMP    ?BANKED_LEAVE_XDATA

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine0:
   \   000000   12....       LCALL   ?Subroutine2 & 0xFFFF
   \                     ??CrossCallReturnLabel_4:
   \   000003   7420         MOV     A,#0x20
   \   000005   F0           MOVX    @DPTR,A
   \   000006   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine1:
   \   000000   12....       LCALL   ?Subroutine2 & 0xFFFF
   \                     ??CrossCallReturnLabel_5:
   \   000003   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine2:
   \   000000   85..82       MOV     DPL,?XSP + 0
   \   000003   85..83       MOV     DPH,?XSP + 1
   \   000006   E582         MOV     A,DPL
   \   000008   25..         ADD     A,?V0 + 0
   \   00000A   F582         MOV     DPL,A
   \   00000C   E583         MOV     A,DPH
   \   00000E   3400         ADDC    A,#0x0
   \   000010   F583         MOV     DPH,A
   \   000012   22           RET
    384          
    385          /**************************************************************************************************
    386           * @fn      HalLcdDisplayPercentBar
    387           *
    388           * @brief   Display percentage bar on the LCD
    389           *
    390           * @param   title   -
    391           *          value   -
    392           *
    393           * @return  None
    394           **************************************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next

⌨️ 快捷键说明

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