📄 ex9-7.lst
字号:
179: 01B8 FC MOV R4,A ;键值→R4
180: 01B9 22 RET ;返回
181: 01BA EC NEXT: MOV A,R4;
182: 01BB 24 05 ADD A,#05 ;键号寄存器加4
183: 01BD FC MOV R4,A
184: 01BE EA MOV A,R2
185: 01BF 20 E3 04 JB ACC.3,NEXT1 ;判别是否已扫描到最后一行
186: 01C2 23 RL A ;扫描模式左移一位
187: 01C3 FA MOV R2,A
188: 01C4 21 6C AJMP KEY1 ;重新开始扫描下一行
189: 01C6 7C 88 NEXT1: MOV R4,#88H ;扫描到最后一行仍无按键置无键闭合标志
190: 01C8 22 RET
191:
192: ;数码管显示子程序
193: 01C9 78 7A DISP: MOV R0,#7AH ;置显示缓冲器指针初值
194: 01CB 7B 01 MOV R3,#01H ;置扫描模式初值
195: 01CD 90 7F 02 DISPB1: MOV DPTR,#7F02H ;8155 PB口地址
196: 01D0 74 00 MOV A,#0h ;熄灭所有LED
197: 01D2 F0 MOVX @DPTR,A
198: 01D3 90 7F 01 MOV DPTR,#7F01H ;8155 PA口地址
199: 01D6 E6 MOV A, @R0 ;取显示数据
200: 01D7 24 14 ADD A,#014H ;加偏移量
201: 01D9 83 MOVC A, @A+PC ;查表取段码
202: 01DA F0 MOVX @DPTR,A ;段码→8155 PA口
203: 01DB EB MOV A,R3
204: 01DC 90 7F 02 MOV DPTR,#7F02H ;8155 PB口地址
205: 01DF F0 MOVX @DPTR,A ;扫描模式→8155 PB口
206: 01E0 51 01 ACALL DELAY ;延时
207: 01E2 08 INC R0
208: 01E3 EB MOV A,R3
209: 01E4 20 E6 04 JB ACC.6,DISPB2 ;判6位LED显示完否
210: 01E7 23 RL A ;扫描模式左移1位
211: 01E8 FB MOV R3,A
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 5
Line I Addr Code Source
212: 01E9 21 CD AJMP DISPB1
213: 01EB 7B 01 DISPB2: MOV R3,#01H
214: 01ED 22 RET
215: 01EE 3F 06 5B 4F SEGPT2: Db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h ;段码表
01F2 66 6D 7D 07
216: 01F6 7F 6F 77 7C db 7fh,6fh,77h,7ch,39h,5eh,79h,71h
01FA 39 5E 79 71
217: 01FE 00 D0 9C db 00h,0D0h,09Ch
218:
219: ;延时子程序
220: 0201 7C FF DELAY: MOV R4,#0FFH
221: 0203 DC FE LOOP: DJNZ R4,LOOP
222: 0205 22 RET
223:
224: 0206 7D B0 DELAY1: MOV R5,#0B0H
225: 0208 7E FF LOOP2: MOV R6,#0FFH
226: 020A DE FE LOOP1: DJNZ R6,LOOP1
227: 020C DD FA DJNZ R5,LOOP2
228: 020E 22 RET
229: end
register banks used: ---
no errors
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 6
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
CTT CODE 0078 38
CY BIT D7
DELAY CODE 0201 220
DELAY1 CODE 0206 224
DISP CODE 01C9 193
DISPB1 CODE 01CD 195
DISPB2 CODE 01EB 213
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
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
KD NUMBER 0040 1
KDD0 CODE 0064 27
KEY CODE 0168 142
KEY1 CODE 016C 144
KEY2 CODE 0181 155
KEY3 CODE 018F 161
KEY4 CODE 019D 167
KEY5 CODE 01AB 173
KEY55 CODE 01B7 178
KLD CODE 0062 26
LOOP CODE 0203 221
LOOP1 CODE 020A 226
LOOP2 CODE 0208 225
MAIN CODE 0030 6
ML0 CODE 0051 18
NCC CODE 0084 44
NEE CODE 007F 42
NEXT CODE 01BA 181
NEXT1 CODE 01C6 189
NNN CODE 008C 47
NPP CODE 008A 46
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 7
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
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
PX0 BIT B8
PX1 BIT BA
QEE CODE 0091 51
RB8 BIT 9A
RD BIT B7
READKEY CODE 005A 22
REN BIT 9C
RESET CODE 0000
RI BIT 98
RS0 BIT D3
RS1 BIT D4
RXD BIT B0
SBUF DATA 99
SCON DATA 98
SEGPT2 CODE 01EE 215
SINT CODE 0023
SM0 BIT 9F
SM1 BIT 9E
SM2 BIT 9D
SP DATA 81
ST NUMBER 0041 2
SUB0 CODE 0114 104
SUB1 CODE 011B 107
SUB10 CODE 015A 134
SUB11 CODE 0161 137
SUB2 CODE 0122 110
SUB3 CODE 0129 113
SUB4 CODE 0130 116
SUB5 CODE 0137 119
SUB6 CODE 013E 122
SUB7 CODE 0145 125
SUB8 CODE 014C 128
SUB9 CODE 0153 131
SUBJ CODE 00A2 64
T0 BIT B4
T1 BIT B5
TB20 CODE 00D2 82
TB21 CODE 00EA 90
TB22 CODE 00F9 95
TB23 CODE 0102 98
TB24 CODE 010B 101
TB25 CODE 0111 103
TB8 BIT 9B
TBB1 CODE 00C6 76
TCON DATA 88
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 8
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
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 + -