⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key.lst

📁 多个仿真例子
💻 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:	KEY.ASM
	Object File:	KEY.HEX
	List File:	KEY.LST



 Line  I  Addr  Code            Source

    1:		N      0030	KEYBUF	EQU	30H
    2:		N      0000		ORG	0
    3:	  0000	02 00 30		LJMP	START
    4:		N      0003		ORG	3
    5:	  0003	02 00 6F		LJMP	KEYSCAN
    6:		N      0030		ORG	30H
    7:	  0030	75 81 60	START:	MOV	SP,#60H
    8:	  0033	D2 88			SETB	IT0
    9:	  0035	D2 A8			SETB	EX0
   10:	  0037	75 90 0F		MOV	P1,#0FH
   11:	  003A	D2 AF			SETB	EA
   12:	  003C	75 30 47		MOV	KEYBUF,#47H	;将“G”送显示缓冲区,以便熄灭显示器
   13:	  003F	12 00 44	LOOP:	LCALL	DISP
   14:	  0042	80 FB			SJMP	LOOP
   15:				;显示程序
   16:				;将KEYBUF单元的ASCII码送数码管显示
   17:				;可以显示的ASCII码数据0-9,A-F。若ASCII码为“G”(47H)则显示熄灭
   18:	  0044	E5 30		DISP:	MOV	A,KEYBUF
   19:	  0046	C3			CLR	C
   20:	  0047	94 3A			SUBB	A,#3AH
   21:	  0049	40 06			JC	DISP1
   22:	  004B	E5 30			MOV	A,KEYBUF
   23:	  004D	94 37			SUBB	A,#37H
   24:	  004F	80 04			SJMP	DISP2
   25:	  0051	E5 30		DISP1:	MOV	A,KEYBUF
   26:	  0053	54 0F			ANL	A,#0FH
   27:	  0055	90 00 5E	DISP2:	MOV	DPTR,#DISP_TAB
   28:	  0058	93			MOVC	A,@A+DPTR
   29:	  0059	54 7F			ANL	A,#7FH
   30:	  005B	F5 80			MOV	P0,A
   31:	  005D	22			RET
   32:	  005E	C0 F9 A4 B0	DISP_TAB:DB	0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
	  0062	99 92 82 F8
   33:	  0066	80 90 88 83		DB	80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
	  006A	C6 A1 86 8E
	  006E	FF
   34:				;键盘扫描程序
   35:				;键码存在KEYBUF单元,格式为ASCII码
   36:	  006F	C0 D0		KEYSCAN:PUSH	PSW
   37:	  0071	C0 E0			PUSH	ACC
   38:	  0073	C0 83			PUSH	DPH
   39:	  0075	C0 82			PUSH	DPL
   40:	  0077	C2 D4			CLR	RS1

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   41:	  0079	D2 D3			SETB	RS0	;选择1区工作寄存器
   42:	  007B	12 01 00		LCALL	DELAY
   43:	  007E	E5 90			MOV	A,P1
   44:	  0080	F4			CPL	A
   45:	  0081	54 0F			ANL	A,#0FH
   46:	  0083	60 4B			JZ	FINISH
   47:	  0085	90 00 DC		MOV	DPTR,#TAB
   48:	  0088	75 90 EF		MOV	P1,#0EFH	;扫描第一行
   49:	  008B	75 90 EF		MOV	P1,#0EFH
   50:	  008E	E5 90			MOV	A,P1
   51:	  0090	F4			CPL	A
   52:	  0091	54 0F			ANL	A,#0FH
   53:	  0093	60 02			JZ	K1	;第一行没键按下,则扫描第二行
   54:	  0095	80 31			SJMP	KEND
   55:	  0097	75 90 DF	K1:	MOV	P1,#0DFH	;扫描第二行
   56:	  009A	75 90 DF		MOV	P1,#0DFH
   57:	  009D	E5 90			MOV	A,P1
   58:	  009F	F4			CPL	A
   59:	  00A0	54 0F			ANL	A,#0FH
   60:	  00A2	60 04			JZ	K2	;第二行没键按下,则扫描第三行
   61:	  00A4	24 09			ADD	A,#9
   62:	  00A6	80 20			SJMP	KEND
   63:	  00A8	75 90 BF	K2:	MOV	P1,#0BFH	;扫描第三行
   64:	  00AB	75 90 BF		MOV	P1,#0BFH
   65:	  00AE	E5 90			MOV	A,P1
   66:	  00B0	F4			CPL	A
   67:	  00B1	54 0F			ANL	A,#0FH
   68:	  00B3	60 04			JZ	K3
   69:	  00B5	24 12			ADD	A,#18
   70:	  00B7	80 0F			SJMP	KEND
   71:	  00B9	75 90 7F	K3:	MOV	P1,#7FH
   72:	  00BC	75 90 7F		MOV	P1,#7FH
   73:	  00BF	E5 90			MOV	A,P1
   74:	  00C1	F4			CPL	A
   75:	  00C2	54 0F			ANL	A,#0FH
   76:	  00C4	60 07			JZ	K4
   77:	  00C6	24 1B			ADD	A,#27
   78:	  00C8	93		KEND:	MOVC	A,@A+DPTR
   79:	  00C9	F5 30			MOV	KEYBUF,A
   80:	  00CB	80 03			SJMP	FINISH
   81:	  00CD	75 30 47	K4:	MOV	KEYBUF,#47H	;'G'送键盘缓冲区,以便将显示器熄灭
   82:	  00D0	75 90 0F	FINISH:	MOV	P1,#0FH	;为下一次扫描作准备
   83:	  00D3	D0 82			POP	DPL
   84:	  00D5	D0 83			POP	DPH
   85:	  00D7	D0 E0			POP	ACC
   86:	  00D9	D0 D0			POP	PSW
   87:	  00DB	32			RETI
   88:	  00DC	00 30 31 00	TAB:	DB	00H,30H,31H,00H,32H,00H,00H,00H,33H
	  00E0	32 00 00 00
	  00E4	33
   89:	  00E5	00 34 35 00		DB	00H,34H,35H,00H,36H,00H,00H,00H,37H
	  00E9	36 00 00 00
	  00ED	37
   90:	  00EE	00 38 39 00		DB	00H,38H,39H,00H,41H,00H,00H,00H,42H
	  00F2	41 00 00 00
	  00F6	42

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

   91:	  00F7	00 43 44 00		DB	00H,43H,44H,00H,45H,00H,00H,00H,46H
	  00FB	45 00 00 00
	  00FF	46
   92:	  0100	7E 14		DELAY:	MOV	R6,#20
   93:	  0102	7F FA		L1:	MOV	R7,#250
   94:	  0104	00		L2:	NOP
   95:	  0105	00			NOP
   96:	  0106	DF FC			DJNZ	R7,L2
   97:	  0108	DE F8			DJNZ	R6,L1
   98:	  010A	22			RET
   99:					END
  100:





                     register banks used:  ---

                     no errors




ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4





	       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
CY				  BIT	      D7
DELAY				  CODE	    0100	  92
DISP				  CODE	    0044	  18
DISP1				  CODE	    0051	  25
DISP2				  CODE	    0055	  27
DISP_TAB			  CODE	    005E	  32
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
FINISH				  CODE	    00D0	  82
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
K1				  CODE	    0097	  55
K2				  CODE	    00A8	  63
K3				  CODE	    00B9	  71
K4				  CODE	    00CD	  81
KEND				  CODE	    00C8	  78
KEYBUF				  NUMBER    0030	   1
KEYSCAN				  CODE	    006F	  36
L1				  CODE	    0102	  93
L2				  CODE	    0104	  94
LOOP				  CODE	    003F	  13
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 5



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
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
START				  CODE	    0030	   7
T0				  BIT	      B4
T1				  BIT	      B5
TAB				  CODE	    00DC	  88
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 + -