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

📄 lcd.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00009A   12....       LCALL   ?XSTACK_DISP0_8
   \   00009D   D0E0         POP     A
   \   00009F   F0           MOVX    @DPTR,A
     87             sendBuffer[6] = symbol[4];
   \   0000A0   8E82         MOV     DPL,R6
   \   0000A2   8F83         MOV     DPH,R7
   \   0000A4   A3           INC     DPTR
   \   0000A5   A3           INC     DPTR
   \   0000A6   A3           INC     DPTR
   \   0000A7   A3           INC     DPTR
   \   0000A8   E0           MOVX    A,@DPTR
   \   0000A9   C0E0         PUSH    A
   \   0000AB   7406         MOV     A,#0x6
   \   0000AD   12....       LCALL   ?XSTACK_DISP0_8
   \   0000B0   D0E0         POP     A
   \   0000B2   F0           MOVX    @DPTR,A
     88             sendBuffer[7] = symbol[5];
   \   0000B3   8E82         MOV     DPL,R6
   \   0000B5   8F83         MOV     DPH,R7
   \   0000B7   A3           INC     DPTR
   \   0000B8   A3           INC     DPTR
   \   0000B9   A3           INC     DPTR
   \   0000BA   A3           INC     DPTR
   \   0000BB   A3           INC     DPTR
   \   0000BC   E0           MOVX    A,@DPTR
   \   0000BD   C0E0         PUSH    A
   \   0000BF   7407         MOV     A,#0x7
   \   0000C1   12....       LCALL   ?XSTACK_DISP0_8
   \   0000C4   D0E0         POP     A
   \   0000C6   F0           MOVX    @DPTR,A
     89             sendBuffer[8] = symbol[6];
   \   0000C7   8E82         MOV     DPL,R6
   \   0000C9   8F83         MOV     DPH,R7
   \   0000CB   A3           INC     DPTR
   \   0000CC   A3           INC     DPTR
   \   0000CD   A3           INC     DPTR
   \   0000CE   A3           INC     DPTR
   \   0000CF   A3           INC     DPTR
   \   0000D0   A3           INC     DPTR
   \   0000D1   E0           MOVX    A,@DPTR
   \   0000D2   C0E0         PUSH    A
   \   0000D4   7408         MOV     A,#0x8
   \   0000D6   12....       LCALL   ?XSTACK_DISP0_8
   \   0000D9   D0E0         POP     A
   \   0000DB   F0           MOVX    @DPTR,A
     90             sendBuffer[9] = symbol[7];
   \   0000DC   8E82         MOV     DPL,R6
   \   0000DE   8F83         MOV     DPH,R7
   \   0000E0   A3           INC     DPTR
   \   0000E1   A3           INC     DPTR
   \   0000E2   A3           INC     DPTR
   \   0000E3   A3           INC     DPTR
   \   0000E4   A3           INC     DPTR
   \   0000E5   A3           INC     DPTR
   \   0000E6   A3           INC     DPTR
   \   0000E7   E0           MOVX    A,@DPTR
   \   0000E8   C0E0         PUSH    A
   \   0000EA   7409         MOV     A,#0x9
   \   0000EC   12....       LCALL   ?XSTACK_DISP0_8
   \   0000EF   D0E0         POP     A
   \   0000F1   F0           MOVX    @DPTR,A
     91          
     92             smbSend(sendBuffer, 10);
   \   0000F2                ; Setup parameters for call to function smbSend
   \   0000F2   790A         MOV     R1,#0xa
   \   0000F4   85..82       MOV     DPL,?XSP + 0
   \   0000F7   85..83       MOV     DPH,?XSP + 1
   \   0000FA   AA82         MOV     R2,DPL
   \   0000FC   AB83         MOV     R3,DPH
   \   0000FE   90....       MOV     DPTR,#(smbSend & 0xffff)
   \   000101   74..         MOV     A,#((smbSend >> 16) & 0xff)
   \   000103   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
     93          }
   \   000106   740A         MOV     A,#0xa
   \   000108   02....       LJMP    ?Subroutine0 & 0xFFFF

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine0:
   \   000000   12....       LCALL   ?DEALLOC_XSTACK8
   \                     ??Subroutine0_0:
   \   000003   7F01         MOV     R7,#0x1
   \   000005   02....       LJMP    ?BANKED_LEAVE_XDATA
     94          
     95          
     96          /******************************************************************************
     97          * See lcd.h for a description of this function.
     98          ******************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
     99          void initLcd(void){
   \                     initLcd:
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 8
   \   000004   74F8         MOV     A,#-0x8
   \   000006   12....       LCALL   ?ALLOC_XSTACK8
    100             BYTE sendBuffer[8];
    101          
    102             // Setting the ports as inputs.
    103             IO_DIR_PORT_PIN(1, 2, IO_IN);
   \   000009   53FEFB       ANL     0xfe,#0xfb
    104             IO_DIR_PORT_PIN(2, 0, IO_IN);
   \   00000C   53FFFE       ANL     0xff,#0xfe
    105          
    106             // Setting P2_3 and P2_4 for general IO operation.
    107             IO_FUNC_PORT_PIN(1, 2, IO_FUNC_GIO);
   \   00000F   53F4FB       ANL     0xf4,#0xfb
    108             IO_FUNC_PORT_PIN(2, 0, IO_FUNC_GIO);
   \   000012   53F5FE       ANL     0xf5,#0xfe
    109          
    110             // Setting ports for pull-up.
    111             IO_IMODE_PORT_PIN(1, 2, IO_IMODE_PUD);
   \   000015   53F6FB       ANL     0xf6,#0xfb
    112             IO_IMODE_PORT_PIN(2, 0, IO_IMODE_PUD);
   \   000018   53F7FE       ANL     0xf7,#0xfe
    113             IO_PUD_PORT(1, IO_PULLUP);
   \   00001B   53F7BF       ANL     0xf7,#0xbf
    114             IO_PUD_PORT(2, IO_PULLUP);
   \   00001E   53F77F       ANL     0xf7,#0x7f
    115          
    116             // Setting up the lcd initialisation data.
    117             sendBuffer[0] = LCD_ADDR;
   \   000021   7476         MOV     A,#0x76
   \   000023   85..82       MOV     DPL,?XSP + 0
   \   000026   85..83       MOV     DPH,?XSP + 1
   \   000029   F0           MOVX    @DPTR,A
    118             sendBuffer[1] = RS_0;      // Instruction Register
   \   00002A   7401         MOV     A,#0x1
   \   00002C   12....       LCALL   ?XSTACK_DISP0_8
   \   00002F   E4           CLR     A
   \   000030   F0           MOVX    @DPTR,A
    119             sendBuffer[2] = 0x0C;      // Display control         D =  1:      Display On
   \   000031   7402         MOV     A,#0x2
   \   000033   12....       LCALL   ?XSTACK_DISP0_8
   \   000036   740C         MOV     A,#0xc
   \   000038   F0           MOVX    @DPTR,A
    120             //                                                    C =  0:      Cursor Off
    121             //                                                    B =  0:      Cursor character blink off
    122             sendBuffer[3] = 0x21;      // Function set            H =  1:      Use extended instruction set
   \   000039   7403         MOV     A,#0x3
   \   00003B   12....       LCALL   ?XSTACK_DISP0_8
   \   00003E   7421         MOV     A,#0x21
   \   000040   F0           MOVX    @DPTR,A
    123             sendBuffer[4] = 0xA0;      // Set DDRAM address       ADD = 0x20
   \   000041   7404         MOV     A,#0x4
   \   000043   12....       LCALL   ?XSTACK_DISP0_8
   \   000046   74A0         MOV     A,#-0x60
   \   000048   F0           MOVX    @DPTR,A
    124             sendBuffer[5] = 0x07;      // Display configuration   P =  1:      Column data right to left
   \   000049   7405         MOV     A,#0x5
   \   00004B   12....       LCALL   ?XSTACK_DISP0_8
   \   00004E   7407         MOV     A,#0x7
   \   000050   F0           MOVX    @DPTR,A
    125             //                                                    Q =  1:      Row data, bottom to top
    126             sendBuffer[6] = 0x34;      // Function set            DL=  0:      4 bits
   \   000051   7406         MOV     A,#0x6
   \   000053   12....       LCALL   ?XSTACK_DISP0_8
   \   000056   7434         MOV     A,#0x34
   \   000058   F0           MOVX    @DPTR,A
    127             //                                                    M =  1:      2-line by 16 display
    128             //                                                    SL=  0:      MUX1:18
    129             //                                                    H =  0:      Use basic instruction set
    130             sendBuffer[7] = 0x01;      // Clearing display
   \   000059   7407         MOV     A,#0x7
   \   00005B   12....       LCALL   ?XSTACK_DISP0_8
   \   00005E   7401         MOV     A,#0x1
   \   000060   F0           MOVX    @DPTR,A
    131             smbSend(sendBuffer, 8);
   \   000061                ; Setup parameters for call to function smbSend
   \   000061   7908         MOV     R1,#0x8
   \   000063   85..82       MOV     DPL,?XSP + 0
   \   000066   85..83       MOV     DPH,?XSP + 1
   \   000069   AA82         MOV     R2,DPL
   \   00006B   AB83         MOV     R3,DPH
   \   00006D   90....       MOV     DPTR,#(smbSend & 0xffff)
   \   000070   74..         MOV     A,#((smbSend >> 16) & 0xff)
   \   000072   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    132          
    133             lcdUpdate((char*)"", (char*)"");  //clear display
   \   000075                ; Setup parameters for call to function lcdUpdateLine
   \   000075   7A..         MOV     R2,#(`?<Constant "">` & 0xff)
   \   000077   7B..         MOV     R3,#((`?<Constant "">` >> 8) & 0xff)
   \   000079   7900         MOV     R1,#0x0
   \   00007B   90....       MOV     DPTR,#(lcdUpdateLine & 0xffff)
   \   00007E   74..         MOV     A,#((lcdUpdateLine >> 16) & 0xff)
   \   000080   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000083                ; Setup parameters for call to function lcdUpdateLine
   \   000083   7A..         MOV     R2,#(`?<Constant "">` & 0xff)
   \   000085   7B..         MOV     R3,#((`?<Constant "">` >> 8) & 0xff)
   \   000087   7901         MOV     R1,#0x1
   \   000089   74..         MOV     A,#((lcdUpdateLine >> 16) & 0xff)
   \   00008B   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    134          }
   \   00008E   7408         MOV     A,#0x8
   \   000090   12....       LCALL   ?DEALLOC_XSTACK8
   \   000093   02....       LJMP    ??Subroutine1_1 & 0xFFFF

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine1:
   \   000000   90....       MOV     DPTR,#(smbClock & 0xffff)
   \   000003   74..         MOV     A,#((smbClock >> 16) & 0xff)
   \                     ??Subroutine1_0:
   \   000005   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \                     ??Subroutine1_1:
   \   000008   D083         POP     DPH
   \   00000A   D082         POP     DPL
   \   00000C   02....       LJMP    ?BRET
    135          
    136          
    137          
    138          /******************************************************************************
    139          * See lcd.h for a description of this function.
    140          ******************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    141          void lcdUpdate(char *pLine1, char *pLine2) {
   \                     lcdUpdate:
   \   000000   74F7         MOV     A,#-0x9
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 9
   \   000005                ; Auto size: 0
   \   000005   EC           MOV     A,R4
   \   000006   FE           MOV     R6,A
   \   000007   ED           MOV     A,R5
   \   000008   FF           MOV     R7,A
    142             lcdUpdateLine(LINE1, pLine1);
   \   000009                ; Setup parameters for call to function lcdUpdateLine
   \   000009   7900         MOV     R1,#0x0
   \   00000B   90....       MOV     DPTR,#(lcdUpdateLine & 0xffff)
   \   00000E   74..         MOV     A,#((lcdUpdateLine >> 16) & 0xff)
   \   000010   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    143             lcdUpdateLine(LINE2, pLine2);
   \   000013                ; Setup parameters for call to function lcdUpdateLine
   \   000013   EE           MOV     A,R6
   \   000014   FA           MOV     R2,A
   \   000015   EF           MOV     A,R7
   \   000016   FB           MOV     R3,A
   \   000017   7901         MOV     R1,#0x1
   \   000019   74..         MOV     A,#((lcdUpdateLine >> 16) & 0xff)
   \   00001B                REQUIRE ?Subroutine4
   \   00001B                ; // Fall through to label ?Subroutine4
    144             return;
    145          }

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine4:
   \   000000   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000003   02....       LJMP    ??Subroutine0_0 & 0xFFFF
    146          
    147          
    148          /******************************************************************************
    149          * See lcd.h for a description of this function.
    150          ******************************************************************************/

⌨️ 快捷键说明

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