📄 13+
字号:
A51 MACRO ASSEMBLER 4X4KEYBOARD 08/09/2007 01:03:06 PAGE 1
MACRO ASSEMBLER A51 V7.02a
OBJECT MODULE PLACED IN 4x4keyboard.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE 4x4keyboard.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0030 1 KEYBUF EQU 30H
0000 2 ORG 00H
0000 753008 3 START: MOV KEYBUF,#8
0003 4 WAIT:
0003 75B0FF 5 MOV P3,#0FFH
0006 C2B4 6 CLR P3.4
0008 E5B0 7 MOV A,P3
000A 540F 8 ANL A,#0FH
000C 640F 9 XRL A,#0FH
000E 6044 10 JZ NOKEY1
0010 12014A 11 LCALL DELY10MS
0013 E5B0 12 MOV A,P3
0015 540F 13 ANL A,#0FH
0017 640F 14 XRL A,#0FH
0019 6039 15 JZ NOKEY1
001B E5B0 16 MOV A,P3
001D 540F 17 ANL A,#0FH
001F B40706 18 CJNE A,#07H,NK0
0022 753000 19 MOV KEYBUF,#0
0025 020044 20 LJMP DK1
0028 B40B06 21 NK0: CJNE A,#0BH,NK1
002B 753001 22 MOV KEYBUF,#1
002E 020044 23 LJMP DK1
0031 B40D06 24 NK1: CJNE A,#0DH,NK2
0034 753002 25 MOV KEYBUF,#2
0037 020044 26 LJMP DK1
003A B40E06 27 NK2: CJNE A,#0EH,NK3
003D 753003 28 MOV KEYBUF,#3
0040 020044 29 LJMP DK1
0043 00 30 NK3: NOP
0044 31 DK1:
0044 E530 32 MOV A,KEYBUF
0046 900153 33 MOV DPTR,#TABLE
0049 93 34 MOVC A,@A+DPTR
004A F580 35 MOV P0,A
36
004C E5B0 37 DK1A: MOV A,P3
004E 540F 38 ANL A,#0FH
0050 640F 39 XRL A,#0FH
0052 70F8 40 JNZ DK1A
0054 41 NOKEY1:
0054 75B0FF 42 MOV P3,#0FFH
0057 C2B5 43 CLR P3.5
0059 E5B0 44 MOV A,P3
005B 540F 45 ANL A,#0FH
005D 640F 46 XRL A,#0FH
005F 6044 47 JZ NOKEY2
0061 12014A 48 LCALL DELY10MS
0064 E5B0 49 MOV A,P3
0066 540F 50 ANL A,#0FH
0068 640F 51 XRL A,#0FH
006A 6039 52 JZ NOKEY2
006C E5B0 53 MOV A,P3
006E 540F 54 ANL A,#0FH
0070 B40706 55 CJNE A,#07H,NK4
0073 753004 56 MOV KEYBUF,#4
0076 020095 57 LJMP DK2
0079 B40B06 58 NK4: CJNE A,#0BH,NK5
A51 MACRO ASSEMBLER 4X4KEYBOARD 08/09/2007 01:03:06 PAGE 2
007C 753005 59 MOV KEYBUF,#5
007F 020095 60 LJMP DK2
0082 B40D06 61 NK5: CJNE A,#0DH,NK6
0085 753006 62 MOV KEYBUF,#6
0088 020095 63 LJMP DK2
008B B40E06 64 NK6: CJNE A,#0EH,NK7
008E 753007 65 MOV KEYBUF,#7
0091 020095 66 LJMP DK2
0094 00 67 NK7: NOP
0095 68 DK2:
0095 E530 69 MOV A,KEYBUF
0097 900153 70 MOV DPTR,#TABLE
009A 93 71 MOVC A,@A+DPTR
009B F580 72 MOV P0,A
73
009D E5B0 74 DK2A: MOV A,P3
009F 540F 75 ANL A,#0FH
00A1 640F 76 XRL A,#0FH
00A3 70F8 77 JNZ DK2A
00A5 78 NOKEY2:
00A5 75B0FF 79 MOV P3,#0FFH
00A8 C2B6 80 CLR P3.6
00AA E5B0 81 MOV A,P3
00AC 540F 82 ANL A,#0FH
00AE 640F 83 XRL A,#0FH
00B0 6044 84 JZ NOKEY3
00B2 12014A 85 LCALL DELY10MS
00B5 E5B0 86 MOV A,P3
00B7 540F 87 ANL A,#0FH
00B9 640F 88 XRL A,#0FH
00BB 6039 89 JZ NOKEY3
00BD E5B0 90 MOV A,P3
00BF 540F 91 ANL A,#0FH
00C1 B40706 92 CJNE A,#07H,NK8
00C4 753008 93 MOV KEYBUF,#8
00C7 0200E6 94 LJMP DK3
00CA B40B06 95 NK8: CJNE A,#0BH,NK9
00CD 753009 96 MOV KEYBUF,#9
00D0 0200E6 97 LJMP DK3
00D3 B40D06 98 NK9: CJNE A,#0DH,NK10
00D6 75300A 99 MOV KEYBUF,#10
00D9 0200E6 100 LJMP DK3
00DC B40E06 101 NK10: CJNE A,#0EH,NK11
00DF 75300B 102 MOV KEYBUF,#11
00E2 0200E6 103 LJMP DK3
00E5 00 104 NK11: NOP
00E6 105 DK3:
00E6 E530 106 MOV A,KEYBUF
00E8 900153 107 MOV DPTR,#TABLE
00EB 93 108 MOVC A,@A+DPTR
00EC F580 109 MOV P0,A
110
00EE E5B0 111 DK3A: MOV A,P3
00F0 540F 112 ANL A,#0FH
00F2 640F 113 XRL A,#0FH
00F4 70F8 114 JNZ DK3A
00F6 115 NOKEY3:
00F6 75B0FF 116 MOV P3,#0FFH
00F9 C2B7 117 CLR P3.7
00FB E5B0 118 MOV A,P3
00FD 540F 119 ANL A,#0FH
00FF 640F 120 XRL A,#0FH
0101 6044 121 JZ NOKEY4
0103 12014A 122 LCALL DELY10MS
0106 E5B0 123 MOV A,P3
0108 540F 124 ANL A,#0FH
A51 MACRO ASSEMBLER 4X4KEYBOARD 08/09/2007 01:03:06 PAGE 3
010A 640F 125 XRL A,#0FH
010C 6039 126 JZ NOKEY4
010E E5B0 127 MOV A,P3
0110 540F 128 ANL A,#0FH
0112 B40706 129 CJNE A,#07H,NK12
0115 75300C 130 MOV KEYBUF,#12
0118 020137 131 LJMP DK4
011B B40B06 132 NK12: CJNE A,#0BH,NK13
011E 75300D 133 MOV KEYBUF,#13
0121 020137 134 LJMP DK4
0124 B40D06 135 NK13: CJNE A,#0DH,NK14
0127 75300E 136 MOV KEYBUF,#14
012A 020137 137 LJMP DK4
012D B40E06 138 NK14: CJNE A,#0EH,NK15
0130 75300F 139 MOV KEYBUF,#15
0133 020137 140 LJMP DK4
0136 00 141 NK15: NOP
0137 142 DK4:
0137 E530 143 MOV A,KEYBUF
0139 900153 144 MOV DPTR,#TABLE
013C 93 145 MOVC A,@A+DPTR
013D F580 146 MOV P0,A
147
013F E5B0 148 DK4A: MOV A,P3
0141 540F 149 ANL A,#0FH
0143 640F 150 XRL A,#0FH
0145 70F8 151 JNZ DK4A
0147 152 NOKEY4:
0147 020003 153 LJMP WAIT
014A 154 DELY10MS:
014A 7E0A 155 MOV R6,#10
014C 7FF8 156 D1: MOV R7,#248
014E DFFE 157 DJNZ R7,$
0150 DEFA 158 DJNZ R6,D1
0152 22 159 RET
0153 3F065B4F 160 TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
0157 666D7D07
015B 7F6F777C 161 DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
015F 395E7971
162 END
A51 MACRO ASSEMBLER 4X4KEYBOARD 08/09/2007 01:03:06 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
D1 . . . . . . . . C ADDR 014CH A
DELY10MS . . . . . C ADDR 014AH A
DK1. . . . . . . . C ADDR 0044H A
DK1A . . . . . . . C ADDR 004CH A
DK2. . . . . . . . C ADDR 0095H A
DK2A . . . . . . . C ADDR 009DH A
DK3. . . . . . . . C ADDR 00E6H A
DK3A . . . . . . . C ADDR 00EEH A
DK4. . . . . . . . C ADDR 0137H A
DK4A . . . . . . . C ADDR 013FH A
KEYBUF . . . . . . N NUMB 0030H A
NK0. . . . . . . . C ADDR 0028H A
NK1. . . . . . . . C ADDR 0031H A
NK10 . . . . . . . C ADDR 00DCH A
NK11 . . . . . . . C ADDR 00E5H A
NK12 . . . . . . . C ADDR 011BH A
NK13 . . . . . . . C ADDR 0124H A
NK14 . . . . . . . C ADDR 012DH A
NK15 . . . . . . . C ADDR 0136H A
NK2. . . . . . . . C ADDR 003AH A
NK3. . . . . . . . C ADDR 0043H A
NK4. . . . . . . . C ADDR 0079H A
NK5. . . . . . . . C ADDR 0082H A
NK6. . . . . . . . C ADDR 008BH A
NK7. . . . . . . . C ADDR 0094H A
NK8. . . . . . . . C ADDR 00CAH A
NK9. . . . . . . . C ADDR 00D3H A
NOKEY1 . . . . . . C ADDR 0054H A
NOKEY2 . . . . . . C ADDR 00A5H A
NOKEY3 . . . . . . C ADDR 00F6H A
NOKEY4 . . . . . . C ADDR 0147H A
P0 . . . . . . . . D ADDR 0080H A
P3 . . . . . . . . D ADDR 00B0H A
START. . . . . . . C ADDR 0000H A
TABLE. . . . . . . C ADDR 0153H A
WAIT . . . . . . . C ADDR 0003H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -