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

📄 evboard.lst

📁 无线单片机cc2430简化协议的无线收发程序
💻 LST
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   11/Dec/2008  13:41:51 #
# 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\evboard.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\evboard.c                                   #
#    List file          =  D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\Debug\List\evboard.lst                          #
#    Object file        =  D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
#                          o\Debug\Obj\evboard.r51                           #
#                                                                            #
#                                                                            #
##############################################################################

D:\zigbee\演示程序\简化协议的无线收发演示\demo_pro\src\evboard.c
      1          
      2          
      3          #include "hal.h"

   \                                 In segment SFR_AN, at 0xf3
   \   unsigned char volatile __sfr P0SEL
   \                     P0SEL:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xf4
   \   unsigned char volatile __sfr P1SEL
   \                     P1SEL:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xfd
   \   unsigned char volatile __sfr P0DIR
   \                     P0DIR:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xfe
   \   unsigned char volatile __sfr P1DIR
   \                     P1DIR:
   \   000000                DS 1
      4          #include "halstack.h"
      5          #include "evboard.h"
      6          #include "evbConfig.h"
      7          
      8          #define JOYSTICK_PUSH         P2_0
      9          #define JOYSTICK_PRESSED()    JOYSTICK_PUSH
     10          #define INIT_JOYSTICK_PUSH() \
     11              do {                     \
     12                  P2DIR &= ~0x01;      \
     13                  P2INP |= 0x01;       \
     14              } while (0)
     15          
     16          BOOL joystickPushed( void );
     17          
     18          typedef enum {CENTRED, LEFT, RIGHT, UP, DOWN} JOYSTICK_DIRECTION;
     19          
     20          #define JOYSTICK              P0_6
     21          #define INIT_JOYSTICK()       IO_DIR_PORT_PIN(0, 6, IO_IN)
     22          #define ADC_INPUT_JOYSTICK    0x06
     23          
     24          JOYSTICK_DIRECTION getJoystickDirection( void );
     25          
     26          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     27          EVB_SW_STATE sw_state;
   \                     sw_state:
   \   000000                DS 2
     28          
     29          
     30          
     31          #define SW_POLL_TIME   MSECS_TO_MACTICKS(100)
     32          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     33          UINT32 last_switch_poll;
   \                     last_switch_poll:
   \   000000                DS 4
     34          
     35          
     36          //init the board

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     37          void evbInit(void){
   \                     evbInit:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
     38            sw_state.val = 0;
   \   000004   7400         MOV     A,#0x0
   \   000006   90....       MOV     DPTR,#sw_state
   \   000009   F0           MOVX    @DPTR,A
     39          
     40            P0SEL &= ~0xf3;
   \   00000A   53F30C       ANL     0xf3,#0xc
   \   00000D   E5F3         MOV     A,0xf3
     41            P1SEL &= ~0xff;
   \   00000F   E5F4         MOV     A,0xf4
   \   000011   75F400       MOV     0xf4,#0x0
     42            IO_DIR_PORT_PIN(0, 0, IO_OUT);
   \   000014   43FD01       ORL     0xfd,#0x1
     43            IO_DIR_PORT_PIN(0, 1, IO_OUT);
   \   000017   43FD02       ORL     0xfd,#0x2
     44            IO_DIR_PORT_PIN(0, 4, IO_IN);
   \   00001A   53FDEF       ANL     0xfd,#0xef
     45            IO_DIR_PORT_PIN(0, 5, IO_IN);
   \   00001D   53FDDF       ANL     0xfd,#0xdf
     46            IO_DIR_PORT_PIN(0, 6, IO_IN);
   \   000020   53FDBF       ANL     0xfd,#0xbf
     47            IO_DIR_PORT_PIN(0, 7, IO_IN);
   \   000023   53FD7F       ANL     0xfd,#0x7f
     48          
     49            IO_DIR_PORT_PIN(1, 0, IO_IN);
   \   000026   53FEFE       ANL     0xfe,#0xfe
     50            IO_DIR_PORT_PIN(1, 1, IO_IN);
   \   000029   53FEFD       ANL     0xfe,#0xfd
     51            IO_DIR_PORT_PIN(1, 2, IO_IN);
   \   00002C   53FEFB       ANL     0xfe,#0xfb
     52            IO_DIR_PORT_PIN(1, 3, IO_OUT);
   \   00002F   43FE08       ORL     0xfe,#0x8
     53            IO_DIR_PORT_PIN(1, 4, IO_OUT);
   \   000032   43FE10       ORL     0xfe,#0x10
     54            IO_DIR_PORT_PIN(1, 5, IO_OUT);
   \   000035   43FE20       ORL     0xfe,#0x20
     55            IO_DIR_PORT_PIN(1, 6, IO_IN);
   \   000038   53FEBF       ANL     0xfe,#0xbf
     56            IO_DIR_PORT_PIN(1, 7, IO_IN);
   \   00003B   53FE7F       ANL     0xfe,#0x7f
     57          }
   \   00003E   D083         POP     DPH
   \   000040   D082         POP     DPL
   \   000042   22           RET
     58          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     59          void evbLedSet(BYTE lednum, BOOL state) {
   \                     evbLedSet:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
     60              switch(lednum) {
   \   000004   E9           MOV     A,R1
   \   000005   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for evbLedSet>_0`:
   \   000008   01           DB        1
   \   000009   01           DB        1
   \   00000A   ....         DW        ??evbLedSet_0
   \   00000C   ....         DW        ??evbLedSet_1
   \   00000E   ....         DW        ??evbLedSet_2
     61                 case 1:    if (state) LED1_ON(); else LED1_OFF(); break;
   \                     ??evbLedSet_1:
   \   000010   EA           MOV     A,R2
   \   000011   6004         JZ      ??evbLedSet_3
   \   000013   C290         CLR     0x90.0
   \   000015   800D         SJMP    ??evbLedSet_0
   \                     ??evbLedSet_3:
   \   000017   D290         SETB    0x90.0
   \   000019   8009         SJMP    ??evbLedSet_0
     62                 case 2:    if (state) LED2_ON(); else LED2_OFF(); break;
   \                     ??evbLedSet_2:
   \   00001B   EA           MOV     A,R2
   \   00001C   6004         JZ      ??evbLedSet_4
   \   00001E   C293         CLR     0x90.3
   \   000020   8002         SJMP    ??evbLedSet_0
   \                     ??evbLedSet_4:
   \   000022   D293         SETB    0x90.3
     63              }
     64          }
   \                     ??evbLedSet_0:
   \   000024   D083         POP     DPH
   \   000026   D082         POP     DPL
   \   000028   22           RET
     65          

   \                                 In segment NEAR_CODE, align 1, keep-with-next
     66          BOOL evbLedGetk(BYTE lednum){
   \                     evbLedGetk:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
   \   000004   E9           MOV     A,R1
     67            switch(lednum) {
   \   000005   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for evbLedGetk>_0`:
   \   000008   01           DB        1
   \   000009   01           DB        1
   \   00000A   ....         DW        ??evbLedGetk_0
   \   00000C   ....         DW        ??evbLedGetk_1
   \   00000E   ....         DW        ??evbLedGetk_2
     68                 case 1:    return(LED1_STATE());
   \                     ??evbLedGetk_1:
   \   000010   A290         MOV     C,0x90.0
   \   000012   B3           CPL     C
   \   000013   E4           CLR     A
   \   000014   92E0         MOV     0xE0 /* A   */.0,C
   \   000016   F9           MOV     R1,A
   \   000017   8014         SJMP    ??evbLedGetk_3
     69                 case 2:    return(LED2_STATE());
   \                     ??evbLedGetk_2:
   \   000019   A293         MOV     C,0x90.3
   \   00001B   4004         JC      ??evbLedGetk_4
   \   00001D   D2F0         SETB    B.0
   \   00001F   8002         SJMP    ??evbLedGetk_5
   \                     ??evbLedGetk_4:
   \   000021   C2F0         CLR     B.0
   \                     ??evbLedGetk_5:
   \   000023   A2F0         MOV     C,B.0
   \   000025   E4           CLR     A
   \   000026   92E0         MOV     0xE0 /* A   */.0,C
   \   000028   F9           MOV     R1,A
   \   000029   8002         SJMP    ??evbLedGetk_3
     70              }
     71            return(FALSE);
   \                     ??evbLedGetk_0:
   \   00002B   7900         MOV     R1,#0x0
   \                     ??evbLedGetk_3:
   \   00002D   D083         POP     DPH
   \   00002F   D082         POP     DPL
   \   000031   22           RET
     72          }

   \                                 In segment SFR_AN, at 0x90
   \   union <unnamed> volatile __sfr _A_P1
   \                     _A_P1:
   \   000000                DS 1
     73          

   Maximum stack usage in bytes:

     Function   ISTACK PSTACK XSTACK
     --------   ------ ------ ------
     evbInit        2      0      0
     evbLedGetk     2      0      0
     evbLedSet      2      0      0


   Segment part sizes:

     Function/Label   Bytes
     --------------   -----
     P0SEL               1
     P1SEL               1
     P0DIR               1
     P1DIR               1
     sw_state            2
     last_switch_poll    4
     evbInit            67
     evbLedSet          41
     evbLedGetk         50
     _A_P1               1

 
 158 bytes in segment NEAR_CODE
   5 bytes in segment SFR_AN
   6 bytes in segment XDATA_Z
 
 158 bytes of CODE  memory
   0 bytes of DATA  memory (+ 5 bytes shared)
   6 bytes of XDATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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