📄 键盘.lst
字号:
161
162 ;====================================================
163 ;键值显示子程序
164 ;====================================================
165
166
00EA 7940 167 DISPLAYKEY_1: MOV R1,#40H
00EC 7D7F 168 MOV R5,#07FH
00EE ED 169 PLAY_1: MOV A,R5
00EF 7580FF 170 MOV P0,#0FFH
00F2 F590 171 MOV P1,A
00F4 E7 172 MOV A,@R1
173
00F5 900186 174 MOV DPTR,#TABLE
00F8 93 175 MOVC A,@A+DPTR
00F9 F580 176 MOV P0,A
00FB 3130 177 CALL DELAY1
00FD 09 178 INC R1
00FE ED 179 MOV A,R5
00FF 30E004 180 JNB ACC.0,ENDOUT_1
0102 03 181 RR A
0103 FD 182 MOV R5,A
0104 80E8 183 JMP PLAY_1
0106 7590FF 184 ENDOUT_1: MOV P1,#0FFH
0109 7580FF 185 MOV P0,#0FFH
186
010C 22 187 RET ;显示完成,返回
188
189
190
A51 MACRO ASSEMBLER 键臺 05/16/2008 16:41:39 PAGE 4
010D 7940 191 DISPLAYKEY_2:MOV R1,#40H
010F 7D7F 192 MOV R5,#07FH
0111 ED 193 PLAY_2: MOV A,R5
0112 7580FF 194 MOV P0,#0FFH
0115 F590 195 MOV P1,A
0117 E7 196 MOV A,@R1
197
0118 900186 198 MOV DPTR,#TABLE
011B 93 199 MOVC A,@A+DPTR
011C F580 200 MOV P0,A
011E 3171 201 CALL DL1MS
0120 09 202 INC R1
0121 ED 203 MOV A,R5
0122 30E004 204 JNB ACC.0,ENDOUT_2
0125 03 205 RR A
0126 FD 206 MOV R5,A
0127 80E8 207 JMP PLAY_2
0129 7590FF 208 ENDOUT_2: MOV P1,#0FFH
012C 7580FF 209 MOV P0,#0FFH
210
012F 22 211 RET ;显示完成,返回
212
213
214
215 ;;晶振12MHZ,延时0.25秒
216
217
218
0130 757264 219 DELAY1:MOV 72H,#100
0133 757164 220 LOOP1_3:MOV 71H,#100
0136 75700A 221 LOOP1_1:MOV 70H,#10
0139 D570FD 222 LOOP1_0:DJNZ 70H,LOOP1_0
013C D571F7 223 DJNZ 71H,LOOP1_1
013F 75702E 224 MOV 70H,#46
0142 D570FD 225 LOOP1_2:DJNZ 70H,LOOP1_2
0145 00 226 NOP
0146 D572EA 227 DJNZ 72H,LOOP1_3
0149 757030 228 MOV 70H,#48
014C D570FD 229 LOOP1_4:DJNZ 70H,LOOP1_4
230
014F 22 231 RET
232
233 ;;晶振12MHZ,延时1秒
234
0150 757264 235 DELAY2:MOV 72H,#100
0153 757164 236 LOOP2_3:MOV 71H,#100
0156 75702F 237 LOOP2_1:MOV 70H,#47
0159 D570FD 238 LOOP2_0:DJNZ 70H,LOOP2_0
015C 00 239 NOP
015D D571F6 240 DJNZ 71H,LOOP2_1
0160 75702E 241 MOV 70H,#46
0163 D570FD 242 LOOP2_2:DJNZ 70H,LOOP2_2
0166 00 243 NOP
0167 D572E9 244 DJNZ 72H,LOOP2_3
016A 757030 245 MOV 70H,#48
016D D570FD 246 LOOP2_4:DJNZ 70H,LOOP2_4
247
0170 22 248 RET
249
250
0171 7E14 251 DL1MS: MOV R6,#14H
0173 7F19 252 DL1: MOV R7,#19H
0175 DFFE 253 DL2: DJNZ R7,DL2
0177 DEFA 254 DJNZ R6,DL1
255
0179 22 256 RET
A51 MACRO ASSEMBLER 键臺 05/16/2008 16:41:39 PAGE 5
257 ; 特征编码与顺序编码的对应关系表
017A 7D 258 KEY_TABLE:DB 07DH ;0 顺序码
017B EEEDEB 259 DB 0EEH,0EDH,0EBH ;1,2,3 顺序码
017E DEDDDB 260 DB 0DEH,0DDH,0DBH ;4,5,6 顺序码
0181 BEBDBB 261 DB 0BEH,0BDH,0BBH ;7,8,9 顺序码
0184 77 262 DB 077H ;D 输入结束确认
0185 00 263 DB 00H ;结束码
264
0186 039F250D 265 TABLE:DB 03H,9FH,25H,0DH,99H,49H,41H,01FH,01H,09H,0FFH ;0--9,"全灭"
018A 9949411F
018E 0109FF
266 END
A51 MACRO ASSEMBLER 键臺 05/16/2008 16:41:39 PAGE 6
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
B. . . . . . . . . D ADDR 00F0H A
DELAY1 . . . . . . C ADDR 0130H A
DELAY2 . . . . . . C ADDR 0150H A
DISPLAYKEY_1 . . . C ADDR 00EAH A
DISPLAYKEY_2 . . . C ADDR 010DH A
DL1. . . . . . . . C ADDR 0173H A
DL1MS. . . . . . . C ADDR 0171H A
DL2. . . . . . . . C ADDR 0175H A
ENDOUT_1 . . . . . C ADDR 0106H A
ENDOUT_2 . . . . . C ADDR 0129H A
EXIT . . . . . . . C ADDR 00E4H A
KEY_IN1_1. . . . . C ADDR 003DH A
KEY_IN1_2. . . . . C ADDR 0044H A
KEY_IN1_3. . . . . C ADDR 005AH A
KEY_IN2_1. . . . . C ADDR 0076H A
KEY_IN2_2. . . . . C ADDR 007DH A
KEY_IN2_3. . . . . C ADDR 00A1H A
KEY_IN3_1. . . . . C ADDR 00BDH A
KEY_IN3_2. . . . . C ADDR 00C4H A
KEY_IN3_3. . . . . C ADDR 00DFH A
KEY_SCAN1. . . . . C ADDR 0026H A
KEY_SCAN2. . . . . C ADDR 005FH A
KEY_SCAN3. . . . . C ADDR 00A6H A
KEY_TABLE. . . . . C ADDR 017AH A
LOOP . . . . . . . C ADDR 00E6H A
LOOP1_0. . . . . . C ADDR 0139H A
LOOP1_1. . . . . . C ADDR 0136H A
LOOP1_2. . . . . . C ADDR 0142H A
LOOP1_3. . . . . . C ADDR 0133H A
LOOP1_4. . . . . . C ADDR 014CH A
LOOP2_0. . . . . . C ADDR 0159H A
LOOP2_1. . . . . . C ADDR 0156H A
LOOP2_2. . . . . . C ADDR 0163H A
LOOP2_3. . . . . . C ADDR 0153H A
LOOP2_4. . . . . . C ADDR 016DH A
MAIN . . . . . . . C ADDR 0002H A
OUT2 . . . . . . . C ADDR 0094H A
OUT3 . . . . . . . C ADDR 00DBH A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
PLAY_1 . . . . . . C ADDR 00EEH A
PLAY_2 . . . . . . C ADDR 0111H A
SP . . . . . . . . D ADDR 0081H A
TABLE. . . . . . . C ADDR 0186H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -