📄 jzjp.lst
字号:
A51 MACRO ASSEMBLER JZJP 05/28/2005 21:48:49 PAGE 1
MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN .\JZJP.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE .\JZJP.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2
3
0093 4 RELAY EQU P1.3
00B7 5 BEEP EQU P3.7
6 ;------------------------------------------------------
0000 7 ORG 0000H
0000 8000 8 JMP MAIN
9 ;------------------------------------------------------
0002 758160 10 MAIN: MOV SP,#60H
0005 753000 11 MOV 30H,#00H
0008 12 LOOP1:
0008 110E 13 CALL KEY_IN
000A 116A 14 CALL KEY_PLAER
000C 80FA 15 JMP LOOP1
16 ;-----------------------------------------------------
000E 7590F0 17 KEY_IN: MOV P1,#0F0H ;置列线为0,行线为1
0011 E590 18 MOV A,P1
0013 54F0 19 ANL A,#0F0H
0015 F5F0 20 MOV B,A
0017 75900F 21 MOV P1,#0FH ;置列线为1,行线为0
001A E590 22 MOV A,P1
001C 540F 23 ANL A,#0FH
001E 45F0 24 ORL A,B ;高四位与低四位重新组合
0020 B4FF01 25 CJNE A,#0FFH,KEY_IN1 ;0FFH为末按键
0023 22 26 RET
0024 F5F0 27 KEY_IN1: MOV B,A
0026 900059 28 MOV DPTR,#KEYTABLE
0029 7BFF 29 MOV R3,#0FFH ;
002B 0B 30 KEY_IN2: INC R3
002C EB 31 MOV A,R3
002D 93 32 MOVC A,@A+DPTR
002E B5F006 33 CJNE A,B,KEY_IN3
0031 EB 34 MOV A,R3 ;找到,取顺序码
0032 F530 35 MOV 30H,A
0034 113B 36 CALL BEEP_BL
0036 22 37 RET
0037 B4FFF1 38 KEY_IN3: CJNE A,#0FFH,KEY_IN2 ;末完,继续查
003A 22 39 RET ;0FFH为结束码
40 ;----------------------------------------------
41 ;蜂鸣器响一声子程序
42 ;----------------------------------------------
003B 43 BEEP_BL:
003B 7E64 44 MOV R6,#100
003D 1148 45 BL1: CALL DEX1
003F B2B7 46 CPL BEEP
0041 DEFA 47 DJNZ R6,BL1
0043 7D19 48 MOV R5,#25
0045 114E 49 CALL DELAY
0047 22 50 RET
0048 7FB4 51 DEX1: MOV R7,#180
004A 00 52 DEX2: NOP
004B DFFD 53 DJNZ R7,DEX2
004D 22 54 RET
004E 55 DELAY: ;延时R5×10MS
004E 7E32 56 MOV R6,#50
0050 7F64 57 DELAY1: MOV R7,#100
0052 DFFE 58 DJNZ R7,$
A51 MACRO ASSEMBLER JZJP 05/28/2005 21:48:49 PAGE 2
0054 DEFA 59 DJNZ R6,DELAY1
0056 DDF6 60 DJNZ R5,DELAY
0058 22 61 RET
62 ;-----------------------------------------------------
0059 63 KEYTABLE:
0059 EEEDEBE7 64 DB 0EEH,0EDH,0EBH,0E7H,0DEH ;0,1,2,3,4, 顺序码
005D DE
005E DDDBD7BE 65 DB 0DDH,0DBH,0D7H,0BEH,0BDH ;5,6,7,8,9,
0062 BD
0063 BBB77E7D 66 DB 0BBH,0B7H,07EH,07DH,07BH ;A,B,C,D,E,
0067 7B
0068 77FF 67 DB 077H,0FFH ;F 0FF为结束码
68 ;-----------------------------------------------------
69 ;键值显示子程序
70 ;使用一个事牍芟允
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -