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

📄 keyboard.m51

📁 通过89s51实现的模拟键盘代码
💻 M51
📖 第 1 页 / 共 3 页
字号:
BL51 BANKED LINKER/LOCATER V5.02                                                        04/23/2005  11:28:05  PAGE 1


BL51 BANKED LINKER/LOCATER V5.02, INVOKED BY:
D:\PROGRAM FILES\KEIL\C51\BIN\BL51.EXE code.obj, dat.obj, head.obj, main_t.obj, protocol.obj, send.obj TO keyboard


MEMORY MODEL: SMALL


INPUT MODULES INCLUDED:
  code.obj (CODE)
  dat.obj (DAT)
  head.obj (HEAD)
  main_t.obj (MAIN_T)
  protocol.obj (PROTOCOL)
  send.obj (SEND)
  D:\PROGRAM FILES\KEIL\C51\LIB\C51S.LIB (?C_STARTUP)
  D:\PROGRAM FILES\KEIL\C51\LIB\C51S.LIB (?C?CLDPTR)
  D:\PROGRAM FILES\KEIL\C51\LIB\C51S.LIB (?C?CCASE)


LINK MAP OF MODULE:  keyboard (CODE)


            TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
            -----------------------------------------------------

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
            DATA    0008H     0005H     UNIT         ?DT?PROTOCOL
            DATA    000DH     0005H     UNIT         _DATA_GROUP_
            DATA    0012H     0001H     UNIT         ?DT?MAIN_T
                    0013H     000DH                  *** GAP ***
            DATA    0020H     0001H     BIT_ADDR     ?BA?MAIN_T
            DATA    0021H     0006H     BIT_ADDR     ?BA?PROTOCOL
            BIT     0027H.0   0000H.3   UNIT         _BIT_GROUP_
            BIT     0027H.3   0000H.2   UNIT         ?BI?MAIN_T
            BIT     0027H.5   0000H.1   UNIT         ?BI?SEND
                    0027H.6   0000H.2                *** GAP ***
            DATA    0028H     0022H     UNIT         ?DT?DAT
            IDATA   004AH     0001H     UNIT         ?STACK

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     0003H     ABSOLUTE     
            CODE    0003H     0008H     UNIT         ?PR?DEL_HEAD?DAT
            CODE    000BH     0003H     ABSOLUTE     
            CODE    000EH     000DH     UNIT         ?PR?SLEEP?PROTOCOL
            CODE    001BH     0003H     ABSOLUTE     
            CODE    001EH     00BCH     UNIT         ?CO?CODE
            CODE    00DAH     00A3H     UNIT         ?PR?SCAN?MAIN_T
            CODE    017DH     00A3H     UNIT         ?PR?RECEIVE_PROCESS?PROTOCOL
            CODE    0220H     008AH     UNIT         ?PR?SEND_BUF?SEND
            CODE    02AAH     0089H     UNIT         ?PR?RECEIVE?PROTOCOL
            CODE    0333H     006FH     UNIT         ?PR?_SEND?PROTOCOL
            CODE    03A2H     006AH     UNIT         ?PR?_SEND_CODE?SEND
            CODE    040CH     005EH     UNIT         ?PR?_SET_SCAN_V?PROTOCOL
            CODE    046AH     0043H     UNIT         ?PR?BAT?PROTOCOL
            CODE    04ADH     003FH     UNIT         ?C?LIB_CODE
            CODE    04ECH     0036H     UNIT         ?PR?_SCANKB?MAIN_T
            CODE    0522H     0034H     UNIT         ?PR?MAIN?MAIN_T
BL51 BANKED LINKER/LOCATER V5.02                                                      04/23/2005  11:28:05  PAGE 2


            CODE    0556H     002AH     UNIT         ?PR?_INSERT?DAT
            CODE    0580H     0025H     UNIT         ?PR?_EXIST?DAT
            CODE    05A5H     0024H     UNIT         ?PR?RECEIVE_V?PROTOCOL
            CODE    05C9H     001CH     UNIT         ?PR?RECEIVE_LED?PROTOCOL
            CODE    05E5H     0019H     UNIT         ?PR?PARITY?PROTOCOL
            CODE    05FEH     0019H     UNIT         ?PR?RESET?PROTOCOL
            CODE    0617H     0018H     UNIT         ?PR?TIMER1_ISR?PROTOCOL
            CODE    062FH     0018H     UNIT         ?PR?TIMER0_ISR?PROTOCOL
            CODE    0647H     0011H     UNIT         ?PR?GET_HEAD_F?DAT
            CODE    0658H     0011H     UNIT         ?PR?GET_HEAD?DAT
            CODE    0669H     000FH     UNIT         ?PR?INI_TIMER1?PROTOCOL
            CODE    0678H     000FH     UNIT         ?PR?INI_TIMER0?PROTOCOL
            CODE    0687H     000EH     UNIT         ?PR?COMMAND_S?PROTOCOL
            CODE    0695H     000EH     UNIT         ?PR?SET_TIMER1?PROTOCOL
            CODE    06A3H     000EH     UNIT         ?PR?SET_TIMER0?PROTOCOL
            CODE    06B1H     000CH     UNIT         ?PR?SET_DEFAULT?PROTOCOL
            CODE    06BDH     000CH     UNIT         ?C_C51STARTUP
            CODE    06C9H     000BH     UNIT         ?PR?BUF_LENGTH?DAT
            CODE    06D4H     000AH     UNIT         ?PR?DELAY?PROTOCOL
            CODE    06DEH     0009H     UNIT         ?PR?_SET_FLAG?DAT
            CODE    06E7H     0006H     UNIT         ?PR?CLR_BUF?DAT
            CODE    06EDH     0006H     UNIT         ?PR?CLOSE_TIMER1?PROTOCOL
            CODE    06F3H     0005H     UNIT         ?PR?RE_SEND?PROTOCOL



OVERLAY MAP OF MODULE:   keyboard (CODE)


SEGMENT                                 BIT_GROUP          DATA_GROUP 
  +--> CALLED SEGMENT                START    LENGTH     START    LENGTH
------------------------------------------------------------------------
?C_C51STARTUP                        -----    -----      -----    -----
  +--> ?PR?MAIN?MAIN_T

?PR?MAIN?MAIN_T                      -----    -----      -----    -----
  +--> ?PR?BAT?PROTOCOL
  +--> ?PR?_SEND?PROTOCOL
  +--> ?PR?SET_DEFAULT?PROTOCOL
  +--> ?PR?INI_TIMER1?PROTOCOL
  +--> ?PR?INI_TIMER0?PROTOCOL
  +--> ?PR?COMMAND_S?PROTOCOL
  +--> ?PR?RECEIVE_PROCESS?PROTOCOL
  +--> ?PR?SCAN?MAIN_T
  +--> ?PR?SEND_BUF?SEND

?PR?_SEND?PROTOCOL                   0027H.1  0000H.1    -----    -----
  +--> ?PR?PARITY?PROTOCOL
  +--> ?PR?SLEEP?PROTOCOL
  +--> ?PR?DELAY?PROTOCOL

?PR?PARITY?PROTOCOL                  0027H.2  0000H.1    -----    -----

?PR?SLEEP?PROTOCOL                   -----    -----      -----    -----
  +--> ?PR?DELAY?PROTOCOL

?PR?SET_DEFAULT?PROTOCOL             -----    -----      -----    -----
BL51 BANKED LINKER/LOCATER V5.02                                                      04/23/2005  11:28:05  PAGE 3


  +--> ?PR?CLR_BUF?DAT
  +--> ?PR?_SET_SCAN_V?PROTOCOL

?PR?RECEIVE_PROCESS?PROTOCOL         -----    -----      -----    -----
  +--> ?PR?COMMAND_S?PROTOCOL
  +--> ?PR?RECEIVE?PROTOCOL
  +--> ?PR?_SEND?PROTOCOL
  +--> ?PR?RESET?PROTOCOL
  +--> ?PR?RE_SEND?PROTOCOL
  +--> ?PR?SET_DEFAULT?PROTOCOL
  +--> ?PR?CLR_BUF?DAT
  +--> ?PR?RECEIVE_V?PROTOCOL
  +--> ?PR?RECEIVE_LED?PROTOCOL

?PR?RECEIVE?PROTOCOL                 0027H.0  0000H.1    -----    -----
  +--> ?PR?DELAY?PROTOCOL
  +--> ?PR?SLEEP?PROTOCOL
  +--> ?PR?PARITY?PROTOCOL
  +--> ?PR?_SEND?PROTOCOL

?PR?RESET?PROTOCOL                   -----    -----      -----    -----
  +--> ?PR?BAT?PROTOCOL
  +--> ?PR?_SEND?PROTOCOL

?PR?RE_SEND?PROTOCOL                 -----    -----      -----    -----
  +--> ?PR?_SEND?PROTOCOL

?PR?RECEIVE_V?PROTOCOL               -----    -----      -----    -----
  +--> ?PR?SET_TIMER1?PROTOCOL
  +--> ?PR?COMMAND_S?PROTOCOL
  +--> ?PR?RECEIVE?PROTOCOL
  +--> ?PR?_SET_SCAN_V?PROTOCOL
  +--> ?PR?_SEND?PROTOCOL
  +--> ?PR?CLOSE_TIMER1?PROTOCOL

?PR?RECEIVE_LED?PROTOCOL             -----    -----      000DH    0001H
  +--> ?PR?SET_TIMER1?PROTOCOL
  +--> ?PR?COMMAND_S?PROTOCOL
  +--> ?PR?RECEIVE?PROTOCOL
  +--> ?PR?_SEND?PROTOCOL
  +--> ?PR?CLOSE_TIMER1?PROTOCOL

?PR?SCAN?MAIN_T                      0027H.0  0000H.1    000DH    0005H
  +--> ?PR?_SCANKB?MAIN_T
  +--> ?PR?SET_TIMER1?PROTOCOL
  +--> ?PR?COMMAND_S?PROTOCOL
  +--> ?PR?CLOSE_TIMER1?PROTOCOL
  +--> ?PR?_EXIST?DAT
  +--> ?PR?_INSERT?DAT
  +--> ?PR?_SET_FLAG?DAT

?PR?SEND_BUF?SEND                    -----    -----      000DH    0001H
  +--> ?PR?BUF_LENGTH?DAT
  +--> ?PR?GET_HEAD_F?DAT
  +--> ?PR?GET_HEAD?DAT
  +--> ?PR?_SEND_CODE?SEND
  +--> ?PR?_INSERT?DAT
BL51 BANKED LINKER/LOCATER V5.02                                                      04/23/2005  11:28:05  PAGE 4


  +--> ?PR?_SEND?PROTOCOL
  +--> ?PR?CLR_BUF?DAT
  +--> ?PR?DEL_HEAD?DAT
  +--> ?PR?_EXIST?DAT
  +--> ?PR?SET_TIMER0?PROTOCOL

?PR?_SEND_CODE?SEND                  0027H.0  0000H.1    000EH    0003H
  +--> ?CO?CODE
  +--> ?PR?_SEND?PROTOCOL



SYMBOL TABLE OF MODULE:  keyboard (CODE)

  VALUE           TYPE          NAME
  ----------------------------------

  -------         MODULE        CODE
  C:0000H         SYMBOL        _ICE_DUMMY_
  C:001EH         PUBLIC        _A_
  C:0023H         PUBLIC        _B_
  C:0028H         PUBLIC        _C_
  C:002DH         PUBLIC        _D_
  C:0032H         PUBLIC        _E_
  C:0037H         PUBLIC        _F_
  C:003CH         PUBLIC        _G_
  C:0041H         PUBLIC        _H_
  C:0046H         PUBLIC        _I_
  C:004BH         PUBLIC        _J_
  C:0050H         PUBLIC        _K_
  C:0055H         PUBLIC        _L_
  C:005AH         PUBLIC        _M_
  C:005FH         PUBLIC        _N_
  C:0064H         PUBLIC        _O_
  C:0069H         PUBLIC        _P_
  C:006EH         PUBLIC        _Q_
  C:0073H         PUBLIC        _R_
  C:0078H         PUBLIC        _S_
  C:007DH         PUBLIC        _T_
  C:0082H         PUBLIC        _U_
  C:0087H         PUBLIC        _V_
  C:008CH         PUBLIC        _W_
  C:0091H         PUBLIC        _X_
  C:0096H         PUBLIC        _Y_
  C:009BH         PUBLIC        _Z_
  C:00A4H         PUBLIC        kk
  C:00A0H         PUBLIC        _NULL_
  -------         ENDMOD        CODE

  -------         MODULE        DAT
  C:0000H         SYMBOL        _ICE_DUMMY_
  C:0580H         PUBLIC        _exist
  D:0028H         PUBLIC        head
  D:0029H         PUBLIC        flag
  C:06C9H         PUBLIC        buf_length
  C:06DEH         PUBLIC        _set_flag
  C:0003H         PUBLIC        del_head
BL51 BANKED LINKER/LOCATER V5.02                                                      04/23/2005  11:28:05  PAGE 5


  C:0658H         PUBLIC        get_head
  D:0039H         PUBLIC        end
  C:06E7H         PUBLIC        clr_buf
  D:003AH         PUBLIC        kb_buf
  C:0556H         PUBLIC        _insert
  C:0647H         PUBLIC        get_head_f
  -------         PROC          _INSERT
  D:0007H         SYMBOL        a
  D:0005H         SYMBOL        f
  C:0556H         LINE#         5
  C:0556H         LINE#         7
  C:0556H         LINE#         8
  C:055FH         LINE#         9
  C:0561H         LINE#         10
  C:056CH         LINE#         11
  C:056EH         LINE#         12
  C:0575H         LINE#         13
  C:057CH         LINE#         14
  C:057EH         LINE#         15
  C:057FH         LINE#         16
  -------         ENDPROC       _INSERT
  -------         PROC          CLR_BUF
  C:06E7H         LINE#         17
  C:06E7H         LINE#         18
  C:06E7H         LINE#         19
  C:06ECH         LINE#         20
  -------         ENDPROC       CLR_BUF
  -------         PROC          _EXIST
  D:0007H         SYMBOL        mark
  -------         DO            
  D:0006H         SYMBOL        i
  -------         ENDDO         
  C:0580H         LINE#         21
  C:0580H         LINE#         22
  C:0580H         LINE#         23
  C:0582H         LINE#         24
  C:0588H         LINE#         25
  C:058BH         LINE#         26
  C:0590H         LINE#         27
  C:0590H         LINE#         28
  C:0598H         LINE#         29
  C:059BH         LINE#         30
  C:05A0H         LINE#         31
  C:05A2H         LINE#         32
  C:05A4H         LINE#         33
  -------         ENDPROC       _EXIST
  -------         PROC          GET_HEAD_F
  C:0647H         LINE#         45
  C:0647H         LINE#         46
  C:0647H         LINE#         47
  C:064DH         LINE#         48
  C:0655H         LINE#         50
  C:0657H         LINE#         51
  -------         ENDPROC       GET_HEAD_F
  -------         PROC          GET_HEAD
  C:0658H         LINE#         52
  C:0658H         LINE#         53
BL51 BANKED LINKER/LOCATER V5.02                                                      04/23/2005  11:28:05  PAGE 6


  C:0658H         LINE#         54
  C:065EH         LINE#         55
  C:0666H         LINE#         57
  C:0668H         LINE#         58
  -------         ENDPROC       GET_HEAD
  -------         PROC          DEL_HEAD
  C:0003H         LINE#         59
  C:0003H         LINE#         60
  C:0003H         LINE#         61
  C:000AH         LINE#         62
  -------         ENDPROC       DEL_HEAD
  -------         PROC          _SET_FLAG
  D:0007H         SYMBOL        dire
  C:06DEH         LINE#         63
  C:06DEH         LINE#         64
  C:06DEH         LINE#         65
  C:06E6H         LINE#         66
  -------         ENDPROC       _SET_FLAG
  -------         PROC          BUF_LENGTH
  C:06C9H         LINE#         67
  C:06C9H         LINE#         68
  C:06C9H         LINE#         69
  C:06D3H         LINE#         70
  -------         ENDPROC       BUF_LENGTH
  -------         ENDMOD        DAT

  -------         MODULE        HEAD
  C:0000H         SYMBOL        _ICE_DUMMY_
  D:00B0H         PUBLIC        P3
  -------         ENDMOD        HEAD

  -------         MODULE        MAIN_T
  C:0000H         SYMBOL        _ICE_DUMMY_
  D:00A0H         PUBLIC        P2
  D:00B0H         PUBLIC        P3
  B:00A8H.7       PUBLIC        EA
  B:00B0H.4       PUBLIC        KBSHIFT
  D:00A8H         PUBLIC        IE
  D:00B8H         PUBLIC        IP
  C:0522H         PUBLIC        main
  C:00DAH         PUBLIC        scan
  D:0020H         PUBLIC        clu
  C:04ECH         PUBLIC        _scankb
  D:0012H         PUBLIC        last_key
  B:0027H.3       PUBLIC        scan_on
  B:0020H.0       PUBLIC        clu0
  B:0027H.4       PUBLIC        last_f
  -------         PROC          _SCANKB
  D:0007H         SYMBOL        row
  -------         DO            
  D:0007H         SYMBOL        c
  -------         ENDDO         

⌨️ 快捷键说明

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