📄 1.lst
字号:
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 1
MCS-51 Family Cross Assembler A S E M - 5 1 V 1.2
=====================================================
Source File: 1.ASM
Object File: 1.HEX
List File: 1.LST
Line I Addr Code Source
1: N 0030 LINE EQU 30H
2: N 0031 ROW EQU 31H
3: N 0000 ORG 00H
4: 0000 START:
5: 0000 75 A0 00 MOV P2,#00H ;数码管显示初始化
6: 0003 75 80 00 MOV P0,#00H
7: 0006 D2 B7 SETB P3.7
8: 0008 75 90 F0 LSCAN: MOV P1,#0F0H ;列线置高电平,行线置低电平
9: 000B 30 90 0C L1: JNB P1.0,L2 ;逐行扫描
10: 000E 12 00 A3 LCALL DELAY
11: 0011 30 90 06 JNB P1.0,L2
12: 0014 75 30 00 MOV LINE,#00H ;存行号
13: 0017 02 00 44 LJMP RSCAN
14: 001A 30 91 0C L2: JNB P1.1,L3
15: 001D 12 00 A3 LCALL DELAY
16: 0020 30 91 06 JNB P1.1,L3
17: 0023 75 30 01 MOV LINE,#01H ;存行号
18: 0026 02 00 44 LJMP RSCAN
19: 0029 30 92 0C L3: JNB P1.2,L4
20: 002C 12 00 A3 LCALL DELAY
21: 002F 30 92 06 JNB P1.2,L4
22: 0032 75 30 02 MOV LINE,#02H ;存行号
23: 0035 02 00 44 LJMP RSCAN
24: 0038 30 93 D0 L4: JNB P1.3,L1
25: 003B 12 00 A3 LCALL DELAY
26: 003E 30 93 CA JNB P1.3,L1
27: 0041 75 30 03 MOV LINE,#03H ;存行号
28: 0044 75 90 0F RSCAN: MOV P1,#0FH ;行线列线电平互换
29: 0047 30 94 06 C1: JNB P1.4,C2 ;逐列扫描
30: 004A 75 31 00 MOV ROW,#00H ;存列号
31: 004D 02 00 68 LJMP CALCU
32: 0050 30 95 06 C2: JNB P1.5,C3
33: 0053 75 31 01 MOV ROW,#01H ;存列号
34: 0056 02 00 68 LJMP CALCU
35: 0059 30 96 06 C3: JNB P1.6,C4
36: 005C 75 31 02 MOV ROW,#02H ;存列号
37: 005F 02 00 68 LJMP CALCU
38: 0062 30 97 E2 C4: JNB P1.7,C1
39: 0065 75 31 03 MOV ROW,#03H ;存列号
40: 0068 E5 30 CALCU: MOV A,LINE ;根据行号和列号计算按键编码
41: 006A 75 F0 04 MOV B,#04H
42: 006D A4 MUL AB
43: 006E 25 31 ADD A,ROW
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 0070 75 89 20 MOV TMOD,#20H
45: 0073 75 8D E6 MOV TH1,#0E6H
46: 0076 75 8B E6 MOV TL1,#0E6H
47: 0079 D2 8E SETB TR1
48: 007B 75 98 50 MOV SCON,#50H
49: 007E F5 99 MOV SBUF,A
50: 0080 10 99 02 G0: JBC TI,G1
51: 0083 01 80 AJMP G0
52: 0085 10 98 02 G1: JBC RI,G2
53: 0088 01 85 AJMP G1
54: 008A E5 99 G2: MOV A,SBUF
55: 008C B2 B7 CPL P3.7
56: 008E 20 B7 09 JB P3.7,S0
57: 0091 F5 A0 MOV P2,A
58: 0093 11 A3 ACALL DELAY
59: 0095 11 A3 ACALL DELAY
60: 0097 02 00 08 LJMP LSCAN
61: 009A F5 80 S0: MOV P0,A
62: 009C 11 A3 ACALL DELAY
63: 009E 11 A3 ACALL DELAY
64: 00A0 02 00 08 LJMP LSCAN
65: 00A3 7E 50 DELAY: MOV R6,#80
66: 00A5 7F FA D1: MOV R7,#250
67: 00A7 DF FE DJNZ R7,$
68: 00A9 DE FA DJNZ R6,D1
69: 00AB 22 RET
70: END
71:
72:
register banks used: ---
no errors
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 3
L I S T O F S Y M B O L S
=============================
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
AC BIT D6
ACC DATA E0
B DATA F0
C1 CODE 0047 29
C2 CODE 0050 32
C3 CODE 0059 35
C4 CODE 0062 38
CALCU CODE 0068 40
CY BIT D7
D1 CODE 00A5 66
DELAY CODE 00A3 65
DPH DATA 83
DPL DATA 82
EA BIT AF
ES BIT AC
ET0 BIT A9
ET1 BIT AB
EX0 BIT A8
EX1 BIT AA
EXTI0 CODE 0003
EXTI1 CODE 0013
F0 BIT D5
G0 CODE 0080 50
G1 CODE 0085 52
G2 CODE 008A 54
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
L1 CODE 000B 9
L2 CODE 001A 14
L3 CODE 0029 19
L4 CODE 0038 24
LINE NUMBER 0030 1
LSCAN CODE 0008 8
OV BIT D2
P BIT D0
P0 DATA 80
P1 DATA 90
P2 DATA A0
P3 DATA B0
PCON DATA 87
PS BIT BC
PSW DATA D0
PT0 BIT B9
PT1 BIT BB
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 4
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
PX0 BIT B8
PX1 BIT BA
RB8 BIT 9A
RD BIT B7
REN BIT 9C
RESET CODE 0000
RI BIT 98
ROW NUMBER 0031 2
RS0 BIT D3
RS1 BIT D4
RSCAN CODE 0044 28
RXD BIT B0
S0 CODE 009A 61
SBUF DATA 99
SCON DATA 98
SINT CODE 0023
SM0 BIT 9F
SM1 BIT 9E
SM2 BIT 9D
SP DATA 81
START CODE 0000 4
T0 BIT B4
T1 BIT B5
TB8 BIT 9B
TCON DATA 88
TF0 BIT 8D
TF1 BIT 8F
TH0 DATA 8C
TH1 DATA 8D
TI BIT 99
TIMER0 CODE 000B
TIMER1 CODE 001B
TL0 DATA 8A
TL1 DATA 8B
TMOD DATA 89
TR0 BIT 8C
TR1 BIT 8E
TXD BIT B1
WR BIT B6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -