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

📄 6.lst

📁 我的大学单片机课程案例和ppt
💻 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:	6.ASM
	Object File:	6.HEX
	List File:	6.LST



 Line  I  Addr  Code            Source

    1:		N      0000		ORG	0H
    2:	  0000	02 00 30		LJMP	START
    3:		N      0030		ORG	30H
    4:	  0030	75 80 FF	START:	MOV	P0,#0FFH
    5:	  0033	75 A0 00		MOV	P2,#0H
    6:	  0036	75 30 00		MOV	30H,#0
    7:	  0039	75 31 00		MOV	31H,#0
    8:	  003C	75 32 00		MOV	32H,#0
    9:	  003F	75 33 00		MOV	33H,#0
   10:	  0042	90 00 E9		MOV	DPTR,#TABLE	;将数据表TABLE的首地址赋给DPTR
   11:	  0045			DISAGAIN:
   12:	  0045	7C 04			MOV	R4,#4
   13:	  0047	79 30			MOV	R1,#30H
   14:	  0049	7A 10			MOV	R2,#00010000B
   15:
   16:	  004B	75 90 FF	DISLOOP:MOV	P1,#0FFH
   17:	  004E	C2 92			CLR	P1.2	;P1.2清0,扫描第1行
   18:	  0050	E5 90			MOV	A,P1	;读键盘至A
   19:	  0052	54 03			ANL	A,#00000011B
   20:	  0054	64 03			XRL	A,#00000011B;判断A的低二位是否为1
   21:	  0056	60 30			JZ	SCANL2	;如果低二位为1,则无按键,转第二行扫描
   22:	  0058	12 00 D7		LCALL	DELAY10MS;延时10ms(去抖延时)
   23:	  005B	E5 90			MOV	A,P1	;读键盘至A
   24:	  005D	54 03			ANL	A,#00000011B
   25:	  005F	64 03			XRL	A,#00000011B;判断A的低二位是否为1
   26:	  0061	60 25			JZ	SCANL2	;如果低二位为1,则无按键,转第二行扫描
   27:	  0063	E5 90			MOV	A,P1	;读键盘至A
   28:	  0065	54 03			ANL	A,#00000011B;保留低二位的结果
   29:	  0067	B4 02 0F		CJNE	A,#00000010B,NOK0;不是K0键,转NOK0
   30:	  006A	75 30 02		MOV	30H,#2	;是K0键将30H地址赋值为2
   31:	  006D	75 31 03		MOV	31H,#3	;将31H地址赋值为3
   32:	  0070	75 32 02		MOV	32H,#2	;是将32H地址赋值为2
   33:	  0073	75 33 03		MOV	33H,#3	;将33H地址赋值为3
   34:	  0076	02 00 C2		LJMP	DISPLAY	;转显示子程序
   35:	  0079	75 30 08	NOK0:	MOV	30H,#8	;不是K0键,则一定是K1。将30H地址赋值为8
   36:	  007C	75 31 09		MOV	31H,#9	;将31H地址赋值为9
   37:	  007F	75 32 08		MOV	32H,#8	;将32H地址赋值为2
   38:	  0082	75 33 09		MOV	33H,#9	;将33H地址赋值为3
   39:	  0085	02 00 C2		LJMP	DISPLAY	;转显示子程序
   40:	  0088	75 90 FF	SCANL2 :MOV	P1,#0FFH
   41:	  008B	C2 93			CLR	P1.3	;P1.3清0,扫描第2行
   42:	  008D	E5 90			MOV	A,P1	;读键盘至A
   43:	  008F	54 03			ANL	A,#00000011B

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0091	64 03			XRL	A,#00000011B;判断A的低二位是否为1
   45:	  0093	60 2D			JZ	DISPLAY	;如果低二位为1,则无按键,转DISPLAY
   46:	  0095	12 00 D7		LCALL	DELAY10MS;延时10ms(去抖延时)
   47:	  0098	E5 90			MOV	A,P1	;读键盘至A
   48:	  009A	54 03			ANL	A,#00000011B
   49:	  009C	64 03			XRL	A,#00000011B;判断A的低二位是否为1
   50:	  009E	60 22			JZ	DISPLAY	;如果低二位为1,则无按键,转DISPLAY
   51:	  00A0	E5 90			MOV	A,P1	;读键盘至A
   52:	  00A2	54 03			ANL	A,#00000011B;保留低二位的结果
   53:	  00A4	B4 02 0F		CJNE	A,#00000010B,NOK2;不是K2键,转NOK2
   54:	  00A7	75 30 06		MOV	30H,#6	;是K2键将30H地址赋值为6
   55:	  00AA	75 31 08		MOV	31H,#8	; 将31H地址赋值为8
   56:	  00AD	75 32 06		MOV	32H,#6	;将32H地址赋值为6
   57:	  00B0	75 33 08		MOV	33H,#8	; 将33H地址赋值为8
   58:	  00B3	02 00 C2		LJMP	DISPLAY	;转显示子程序
   59:	  00B6	75 30 07	NOK2:	MOV	30H,#7	;不是K2,则一定是K3。将30H地址赋值为7
   60:	  00B9	75 31 07		MOV	31H,#7	;将31H地址赋值为7
   61:	  00BC	75 32 01		MOV	32H,#1	;将32H地址赋值为1
   62:	  00BF	75 33 01		MOV	33H,#1	; 将33H地址赋值为1
   63:	  00C2			DISPLAY:
   64:	  00C2	E7			MOV	A,@R1		;
   65:	  00C3	93			MOVC	A,@A+DPTR	;将(A+DPTR)地址中的值赋给A
   66:	  00C4	8A A0			MOV	P2,R2	        ;选择数码管
   67:	  00C6	F5 80			MOV	P0,A		;送到P0口数码管显示
   68:	  00C8	12 00 E0		LCALL	DELAY	;显示延时
   69:	  00CB	EA			MOV	A,R2	;R2的值移位
   70:	  00CC	23			RL	A
   71:	  00CD	FA			MOV	R2,A
   72:	  00CE	09			INC	R1
   73:	  00CF	DC 03			DJNZ	R4,DD
   74:	  00D1	02 00 45		LJMP	DISAGAIN	;重新开始扫描
   75:	  00D4	02 00 4B	DD:	LJMP	DISLOOP
   76:	  00D7			DELAY10MS:
   77:	  00D7	7E 14			MOV	R6,#20
   78:	  00D9	7F C8		D1:	MOV	R7,#200
   79:	  00DB	DF FE		D2:	DJNZ	R7,D2
   80:	  00DD	DE FA			DJNZ	R6,D1
   81:	  00DF	22			RET
   82:	  00E0			DELAY:
   83:	  00E0	7E 14			MOV	R6,#20
   84:	  00E2	7F 64		D3:	MOV	R7,#100
   85:	  00E4	DF FE		D4:	DJNZ	R7,D4
   86:	  00E6	DE FA			DJNZ	R6,D3
   87:	  00E8	22			RET
   88:	  00E9	C0 F9 A4 B0	TABLE:	DB	0C0H,0F9H,0A4H,0B0H		;0,1,2,3
   89:	  00ED	99 92 82 F8		DB	99H,92H,82H,0F8H,80H,90H	;4,5,6,7,8,9
	  00F1	80 90
   90:					END
   91:
   92:





                     register banks used:  ---

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 3




                     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
D1				  CODE	    00D9	  78
D2				  CODE	    00DB	  79
D3				  CODE	    00E2	  84
D4				  CODE	    00E4	  85
DD				  CODE	    00D4	  75
DELAY				  CODE	    00E0	  82
DELAY10MS			  CODE	    00D7	  76
DISAGAIN			  CODE	    0045	  11
DISLOOP				  CODE	    004B	  16
DISPLAY				  CODE	    00C2	  63
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
NOK0				  CODE	    0079	  35
NOK2				  CODE	    00B6	  59
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
RB8				  BIT	      9A
RD				  BIT	      B7

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 5



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
REN				  BIT	      9C
RESET				  CODE	    0000
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCANL2				  CODE	    0088	  40
SCON				  DATA	      98
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
START				  CODE	    0030	   4
T0				  BIT	      B4
T1				  BIT	      B5
TABLE				  CODE	    00E9	  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 + -