📄 jp.lst
字号:
A51 MACRO ASSEMBLER JP 07/22/2008 15:25:03 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN ..\..\JP.obj
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE JP.asm SET(SMALL) DEBUG OBJECT(..\..\JP.obj) EP
LOC OBJ LINE SOURCE
0030 1 KEYBUF EQU 30H
00A7 2 LCD_RS EQU P2.7
00A6 3 LCD_RW EQU P2.6
00A5 4 LCD_EN EQU P2.5
0000 5 ORG 0000H
0000 2100 6 AJMP MAIN
0100 7 ORG 0100H
0100 7530E9 8 MAIN: MOV KEYBUF,#-23
0103 3160 9 ACALL LCD
0105 310B 10 XH: ACALL KEY_B
0107 31A5 11 ACALL XS
0109 2105 12 AJMP XH
010B 13 KEY_B:
010B 75B00F 14 MOV P3,#0FH
010E E5B0 15 MOV A,P3
0110 540F 16 ANL A,#0FH
0112 B40F02 17 CJNE A,#0FH,L1
0115 212A 18 AJMP WJ
0117 512D 19 L1: ACALL DELAY15MS
0119 79EF 20 MOV R1,#0EFH
011B 89B0 21 L2: MOV P3,R1
011D E5B0 22 MOV A,P3
011F 540F 23 ANL A,#0FH
0121 B40F07 24 CJNE A,#0FH,L3
0124 E9 25 MOV A,R1
0125 23 26 RL A
0126 F9 27 MOV R1,A
0127 B4FEF1 28 CJNE A,#0FEH,L2
012A 29 WJ:
012A 22 30 RET
012B FA 31 L3:MOV R2,A
012C E9 32 MOV A,R1
012D 54F0 33 ANL A,#0F0H
012F 4A 34 ORL A,R2
0130 F506 35 MOV 06H,A
0132 7B00 36 MOV R3,#00
0134 900150 37 MOV DPTR,#KEYTBL
0137 EB 38 L4:MOV A,R3
0138 93 39 MOVC A,@A+DPTR
0139 B50602 40 CJNE A,06H,L5
013C 2141 41 AJMP L6
013E 0B 42 L5:INC R3
013F 2137 43 AJMP L4
0141 512D 44 L6:ACALL DELAY15MS
0143 75B00F 45 MOV P3,#0FH
0146 E5B0 46 MOV A,P3
0148 540F 47 ANL A,#0FH
014A B40FF4 48 CJNE A,#0FH,L6
014D 8B30 49 MOV KEYBUF,R3
014F 22 50 RET
0150 EEEDEBE7 51 KEYTBL: DB 0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7H,0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H
0154 DEDDDBD7
0158 BEBDBBB7
015C 7E7D7B77
52
53
54
A51 MACRO ASSEMBLER JP 07/22/2008 15:25:03 PAGE 2
55
0160 56 LCD:
0160 758160 57 MOV SP, #60H
0163 7590FF 58 MOV P1, #0FFH
0166 75A0FF 59 MOV P2, #0FFH
0169 31BF 60 CALL LCD_INI
016B 12024C 61 LCALL L7
016E 7900 62 MOV R1, #0
0170 9002A5 63 MOV DPTR, #MESSAGE1
0173 7800 64 MOV R0, #0
0175 7900 65 MOV R1,#0
66
0177 67 DISCHA:
68
0177 510A 69 CALL CHECK_BUSY
0179 7480 70 MOV A, #80H
017B 28 71 ADD A, R0
017C 31FC 72 CALL WCOM
017E 510A 73 CALL CHECK_BUSY
0180 E9 74 MOV A, R1
0181 93 75 MOVC A, @A+DPTR
0182 31EE 76 CALL WDATA
0184 08 77 INC R0
0185 09 78 INC R1
0186 B80AEE 79 CJNE R0, #10, DISCHA
0189 7800 80 MOV R0,#00H
018B 7900 81 MOV R1,#0
018D 9002C0 82 MOV DPTR, #KEYT
0190 74C0 83 MOV A, #0C0H
0192 510A 84 DISCHA1: CALL CHECK_BUSY
0194 74C0 85 MOV A, #0C0H
0196 28 86 ADD A, R0
0197 31FC 87 CALL WCOM
0199 510A 88 CALL CHECK_BUSY
019B E9 89 MOV A,R1
019C 93 90 MOVC A, @A+DPTR
019D 31EE 91 CALL WDATA
019F 08 92 INC R0
01A0 09 93 INC R1
01A1 B80FEE 94 CJNE R0, #15, DISCHA1
01A4 22 95 RET
01A5 510A 96 XS: CALL CHECK_BUSY
01A7 74CC 97 MOV A, #0CCH
01A9 31FC 98 CALL WCOM
01AB 510A 99 CALL CHECK_BUSY
01AD E530 100 MOV A, KEYBUF
01AF C3 101 CLR C
01B0 940A 102 SUBB A,#0AH
01B2 4004 103 JC SZ
01B4 2441 104 ADD A,#41H
01B6 21BC 105 AJMP EN
01B8 E530 106 SZ: MOV A,KEYBUF
01BA 2430 107 ADD A,#30H
01BC 31EE 108 EN: CALL WDATA
109
01BE 22 110 RET
01BF 111 LCD_INI:
01BF 512D 112 CALL DELAY15MS
01C1 7438 113 MOV A, #38H
01C3 31FC 114 CALL WCOM
01C5 5124 115 CALL DELAY5MS
01C7 7438 116 MOV A, #38H
01C9 31FC 117 CALL WCOM
01CB 5124 118 CALL DELAY5MS
01CD 7438 119 MOV A, #38H
01CF 510A 120 CALL CHECK_BUSY
A51 MACRO ASSEMBLER JP 07/22/2008 15:25:03 PAGE 3
01D1 7438 121 MOV A, #38H
01D3 31FC 122 CALL WCOM
01D5 510A 123 CALL CHECK_BUSY
01D7 7408 124 MOV A, #08H
01D9 31FC 125 CALL WCOM
01DB 510A 126 CALL CHECK_BUSY
01DD 7401 127 MOV A, #01H
01DF 31FC 128 CALL WCOM
01E1 510A 129 CALL CHECK_BUSY
01E3 7406 130 MOV A, #06H
01E5 31FC 131 CALL WCOM
01E7 510A 132 CALL CHECK_BUSY
01E9 740C 133 MOV A, #0CH
01EB 31FC 134 CALL WCOM
01ED 22 135 RET
136
01EE 137 WDATA:
01EE F590 138 MOV P1, A
01F0 D2A7 139 SETB LCD_RS
01F2 C2A6 140 CLR LCD_RW
01F4 D2A5 141 SETB LCD_EN
01F6 5136 142 CALL DELAY1MS
01F8 C2A5 143 CLR LCD_EN
01FA 00 144 NOP
01FB 22 145 RET
146
147
01FC 148 WCOM:
01FC F590 149 MOV P1, A
01FE C2A7 150 CLR LCD_RS
0200 C2A6 151 CLR LCD_RW
0202 D2A5 152 SETB LCD_EN
0204 5136 153 CALL DELAY1MS
0206 C2A5 154 CLR LCD_EN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -