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

📄 test51.lst

📁 单片机键盘输入扫描方式以及防抖处理,此方法为普遍输入方法.
💻 LST
📖 第 1 页 / 共 3 页
字号:
                                           ; SOURCE LINE # 161
                                           ; SOURCE LINE # 162
0074 22                RET     
0075         ?C0010:
                                           ; SOURCE LINE # 164
                                           ; SOURCE LINE # 165
0075 C200        R     CLR     g_btKey_Press
                                           ; SOURCE LINE # 166
0077 7F10              MOV     R7,#010H
0079 120000      R     LCALL   _Setb_Func
                                           ; SOURCE LINE # 167
                                           ; SOURCE LINE # 168
007C         ?C0013:
007C 22                RET     
             ; FUNCTION Key_Scan (END)

             ; FUNCTION _Wait_Key (BEGIN)
                                           ; SOURCE LINE # 174
;---- Variable 'bFlag' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 175
                                           ; SOURCE LINE # 176
C51 COMPILER V7.50   TEST51                                                                12/02/2007 23:53:05 PAGE 11  

0000 EF                MOV     A,R7
0001 600B              JZ      ?C0033
                                           ; SOURCE LINE # 177
                                           ; SOURCE LINE # 178
0003 300005      R     JNB     g_btKey_Flag,?C0029
                                           ; SOURCE LINE # 179
                                           ; SOURCE LINE # 180
0006 C200        R     CLR     g_btKey_Flag
                                           ; SOURCE LINE # 181
0008 7F01              MOV     R7,#01H
000A 22                RET     
                                           ; SOURCE LINE # 182
000B         ?C0029:
                                           ; SOURCE LINE # 184
000B 7F00              MOV     R7,#00H
000D 22                RET     
                                           ; SOURCE LINE # 185
                                           ; SOURCE LINE # 187
000E         ?C0033:
                                           ; SOURCE LINE # 188
000E 3000FD      R     JNB     g_btKey_Flag,?C0033
0011         ?C0034:
                                           ; SOURCE LINE # 189
0011 C200        R     CLR     g_btKey_Flag
                                           ; SOURCE LINE # 190
0013 7F01              MOV     R7,#01H
                                           ; SOURCE LINE # 191
                                           ; SOURCE LINE # 192
0015         ?C0030:
0015 22                RET     
             ; FUNCTION _Wait_Key (END)

             ; FUNCTION _Hex_To_Disp (BEGIN)
                                           ; SOURCE LINE # 198
;---- Variable 'bDisp_Data' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 199
                                           ; SOURCE LINE # 202
0000 EF                MOV     A,R7
0001 C3                CLR     C
0002 9464              SUBB    A,#064H
0004 506F              JNC     ?C0045
                                           ; SOURCE LINE # 203
                                           ; SOURCE LINE # 204
0006 E4                CLR     A
0007 FC                MOV     R4,A
0008 FD                MOV     R5,A
0009 FE                MOV     R6,A
000A FB                MOV     R3,A
000B 7A00        R     MOV     R2,#HIGH bpDisp
000D 7900        R     MOV     R1,#LOW bpDisp
000F 120000      E     LCALL   _Bin_Bcd_Func
;---- Variable 'bI' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 205
0012 E4                CLR     A
0013 F500        R     MOV     bJ,A
0015         ?C0036:
0015 E500        R     MOV     A,bJ
0017 C3                CLR     C
0018 9F                SUBB    A,R7
0019 500F              JNC     ?C0037
                                           ; SOURCE LINE # 206
                                           ; SOURCE LINE # 207
C51 COMPILER V7.50   TEST51                                                                12/02/2007 23:53:05 PAGE 12  

001B 7400        R     MOV     A,#LOW bpDisp
001D 2500        R     ADD     A,bJ
001F F8                MOV     R0,A
0020 E6                MOV     A,@R0
0021 900000      R     MOV     DPTR,#g_bpDisp_Seg
0024 93                MOVC    A,@A+DPTR
0025 F6                MOV     @R0,A
                                           ; SOURCE LINE # 208
0026 0500        R     INC     bJ
0028 80EB              SJMP    ?C0036
002A         ?C0037:
                                           ; SOURCE LINE # 209
002A EF                MOV     A,R7
002B B40115            CJNE    A,#01H,?C0040
                                           ; SOURCE LINE # 210
                                           ; SOURCE LINE # 211
002E 7B00              MOV     R3,#00H
0030 7A00        R     MOV     R2,#HIGH bpDisp
0032 7900        R     MOV     R1,#LOW bpDisp
0034 750001      E     MOV     ?_Right_Move?BYTE+04H,#01H
0037 900000      R     MOV     DPTR,#g_bpDisp_Seg
003A E4                CLR     A
003B 93                MOVC    A,@A+DPTR
003C F500        E     MOV     ?_Right_Move?BYTE+05H,A
003E 7D01              MOV     R5,#01H
0040 120000      E     LCALL   _Right_Move
                                           ; SOURCE LINE # 212
0043         ?C0040:
                                           ; SOURCE LINE # 213
0043 E500        R     MOV     A,g_bCurrent_Local
0045 70FC              JNZ     ?C0040
0047         ?C0041:
                                           ; SOURCE LINE # 214
0047 C2A9              CLR     ET0
                                           ; SOURCE LINE # 215
0049 7B00              MOV     R3,#00H
004B 7A00        R     MOV     R2,#HIGH g_bpDisp
004D 7900        R     MOV     R1,#LOW g_bpDisp
004F 7500FF      E     MOV     ?_Init_Array_Func?BYTE+04H,#0FFH
0052 7F02              MOV     R7,#02H
0054 120000      E     LCALL   _Init_Array_Func
                                           ; SOURCE LINE # 216
0057 E4                CLR     A
0058 F500        R     MOV     bJ,A
005A         ?C0042:
005A E500        R     MOV     A,bJ
005C C3                CLR     C
005D 9402              SUBB    A,#02H
005F 5012              JNC     ?C0043
                                           ; SOURCE LINE # 217
0061 7400        R     MOV     A,#LOW bpDisp
0063 2500        R     ADD     A,bJ
0065 F8                MOV     R0,A
0066 E6                MOV     A,@R0
0067 FF                MOV     R7,A
0068 7400        R     MOV     A,#LOW g_bpDisp
006A 2500        R     ADD     A,bJ
006C F8                MOV     R0,A
006D A607              MOV     @R0,AR7
006F 0500        R     INC     bJ
0071 80E7              SJMP    ?C0042
0073         ?C0043:
C51 COMPILER V7.50   TEST51                                                                12/02/2007 23:53:05 PAGE 13  

                                           ; SOURCE LINE # 218
0073 D2A9              SETB    ET0
                                           ; SOURCE LINE # 219
                                           ; SOURCE LINE # 220
0075         ?C0045:
0075 22                RET     
             ; FUNCTION _Hex_To_Disp (END)

             ; FUNCTION Power_Up (BEGIN)
                                           ; SOURCE LINE # 226
                                           ; SOURCE LINE # 227
                                           ; SOURCE LINE # 228
0000 758901            MOV     TMOD,#01H
                                           ; SOURCE LINE # 229
0003 758CDB            MOV     TH0,#0DBH
                                           ; SOURCE LINE # 230
0006 758AD4            MOV     TL0,#0D4H
                                           ; SOURCE LINE # 231
0009 75A882            MOV     IE,#082H
                                           ; SOURCE LINE # 232
000C D28C              SETB    TR0
                                           ; SOURCE LINE # 233
000E 7500FF      R     MOV     g_bP2_Io,#0FFH
                                           ; SOURCE LINE # 234
0011 7500FF      R     MOV     g_bKey_Bak,#0FFH
                                           ; SOURCE LINE # 235
0014 22                RET     
             ; FUNCTION Power_Up (END)

             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 241
                                           ; SOURCE LINE # 242
                                           ; SOURCE LINE # 243
0000 120000      R     LCALL   Power_Up
0003         ?C0047:
                                           ; SOURCE LINE # 244
                                           ; SOURCE LINE # 245
                                           ; SOURCE LINE # 246
0003 E4                CLR     A
0004 FF                MOV     R7,A
0005 120000      R     LCALL   _Wait_Key
0008 EF                MOV     A,R7
0009 60F8              JZ      ?C0047
                                           ; SOURCE LINE # 247
                                           ; SOURCE LINE # 248
000B AF00        R     MOV     R7,g_bKey
000D 120000      R     LCALL   _Hex_To_Disp
                                           ; SOURCE LINE # 249
                                           ; SOURCE LINE # 250
0010 80F1              SJMP    ?C0047
0012 22                RET     
             ; FUNCTION main (END)

C51 COMPILER V7.50   TEST51                                                                12/02/2007 23:53:05 PAGE 14  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
Disp_Func. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
_Wait_Key. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  bFlag. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
Key_Scan . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  bK . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  bKey . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  bLine. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  bRow . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
Key_Func . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  bI . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
_Hex_To_Disp . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  bDisp_Data . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  bI . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  bJ . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  bpDisp . . . . . . . . . . . . . . .  AUTO     DATA   ARRAY    0001H  2
g_bCur_Offset. . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
dword. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
g_btKey_Flag . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
g_bpDisp . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0001H  2
g_bpDisp_Seg . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  10
Time0_Func . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
Power_Up . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
byte . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
g_btKey_Press. . . . . . . . . . . . .  PUBLIC   DATA   BIT      0001H  1
word . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
g_bKey_Bak . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0003H  1
g_bP2_Io . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0004H  1
g_bKey_Time. . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0005H  1
_Init_Array_Func . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
TH0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008CH  1
TL0. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008AH  1
_Bin_Bcd_Func. . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
g_bKey . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0006H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
_Right_Move. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_Setb_Func . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  bPort. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  btEa_Bak . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
g_bCurrent_Local . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0007H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
_Clr_Func. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  bPort. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  btEa_Bak . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


C51 COMPILER V7.50   TEST51                                                                12/02/2007 23:53:05 PAGE 15  

MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    479    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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