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

📄 5.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:	5.ASM
	Object File:	5.HEX
	List File:	5.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	;P0口置1
    5:	  0033	75 A0 00		MOV	P2,#0H		;P2口清0
    6:	  0036	75 30 00		MOV	30H,#0		;初始显示00
    7:	  0039	75 31 00		MOV	31H,#0		;
    8:	  003C	90 00 CB		MOV	DPTR,#TABLE	;将数据表TABLE的首地址赋给DPTR
    9:	  003F			SCANK:
   10:	  003F	7C 02			MOV	R4,#2		;数码管数目赋给R4
   11:	  0041	79 30			MOV	R1,#30H		;R1装显示内容的地址
   12:	  0043	7A 40			MOV	R2,#01000000B	;R2装位选信号
   13:	  0045			DISLOOP:
   14:	  0045	75 90 FF		MOV	P1,#0FFH
   15:	  0048	C2 92			CLR	P1.2	;P1.2清0,扫描第1行
   16:	  004A	E5 90			MOV	A,P1	;读键盘至A
   17:	  004C	54 03			ANL	A,#00000011B
   18:	  004E	64 03			XRL	A,#00000011B;判断A的低二位是否为1
   19:	  0050	60 24			JZ	SCANL2	;如果低二位为1,则无按键,转第二行扫描
   20:	  0052	12 00 B9		LCALL	DELAY10MS;延时10ms(去抖延时)
   21:	  0055	E5 90			MOV	A,P1	;读键盘至A
   22:	  0057	54 03			ANL	A,#00000011B
   23:	  0059	64 03			XRL	A,#00000011B;判断A的低二位是否为1
   24:	  005B	60 19			JZ	SCANL2	;如果低二位为1,则无按键,转第二行扫描
   25:	  005D	E5 90			MOV	A,P1	;读键盘至A
   26:	  005F	54 03			ANL	A,#00000011B;保留低二位的结果
   27:	  0061	B4 02 09		CJNE	A,#00000010B,NOK0;不是K0键,转NOK0
   28:	  0064	75 30 02		MOV	30H,#2	;是K0键将30H地址赋值为2
   29:	  0067	75 31 03		MOV	31H,#3	;将31H地址赋值为3
   30:	  006A	02 00 A4		LJMP	DISPLAY	;转显示子程序
   31:	  006D	75 30 08	NOK0:	MOV	30H,#8	;不是K0键则是K1。将30H地址赋值为8
   32:	  0070	75 31 09		MOV	31H,#9	;将31H地址赋值为9
   33:	  0073	02 00 A4		LJMP	DISPLAY	;转显示子程序
   34:	  0076	75 90 FF	SCANL2 :MOV	P1,#0FFH
   35:	  0079	C2 93			CLR	P1.3	;P1.3清0,扫描第2行
   36:	  007B	E5 90			MOV	A,P1	;读键盘至A
   37:	  007D	54 03			ANL	A,#00000011B
   38:	  007F	64 03			XRL	A,#00000011B;判断A的低二位是否为1
   39:	  0081	60 21			JZ	DISPLAY	;如果低二位为1,则无按键,转DISPLAY
   40:	  0083	12 00 B9		LCALL	DELAY10MS;延时10ms(去抖延时)
   41:	  0086	E5 90			MOV	A,P1	;读键盘至A
   42:	  0088	54 03			ANL	A,#00000011B
   43:	  008A	64 03			XRL	A,#00000011B;判断A的低二位是否为1

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  008C	60 16			JZ	DISPLAY	;如果低二位为1,则无按键,转DISPLAY
   45:	  008E	E5 90			MOV	A,P1	;读键盘至A
   46:	  0090	54 03			ANL	A,#00000011B;保留低二位的结果
   47:	  0092	B4 02 09		CJNE	A,#00000010B,NOK2;不是K2键,转NOK2
   48:	  0095	75 30 06		MOV	30H,#6	;是K2键将30H地址赋值为6
   49:	  0098	75 31 08		MOV	31H,#8	; 将31H地址赋值为8
   50:	  009B	02 00 A4		LJMP	DISPLAY	;转显示子程序
   51:	  009E	75 30 07	NOK2:	MOV	30H,#7	;不是K2,则一定是K3。将30H地址赋值为7
   52:	  00A1	75 31 07		MOV	31H,#7	;将31H地址赋值为7
   53:
   54:	  00A4	E7		DISPLAY:MOV	A,@R1	;R1中的数据作为地址,取数据给A
   55:	  00A5	93			MOVC	A,@A+DPTR;将(A+DPTR)地址中的值赋给A
   56:	  00A6	8A A0			MOV	P2,R2	;选择第一个数码管
   57:	  00A8	F5 80			MOV	P0,A	;送到P0口数码管显示
   58:	  00AA	12 00 C2		LCALL	DELAY	;显示延时
   59:	  00AD	EA			MOV	A,R2	;位选信号左移
   60:	  00AE	23			RL	A	;
   61:	  00AF	FA			MOV	R2,A	;
   62:	  00B0	09			INC	R1	;下一个显示的内容的地址
   63:	  00B1	DC 03			DJNZ	R4,DT	;显示完转DT
   64:	  00B3	02 00 3F		LJMP	SCANK	;重新开始扫描
   65:	  00B6	02 00 45	DT:	LJMP	DISLOOP
   66:	  00B9			DELAY10MS:
   67:	  00B9	7E 14			MOV	R6,#20
   68:	  00BB	7F C8		D1:	MOV	R7,#200
   69:	  00BD	DF FE		D2:	DJNZ	R7,D2
   70:	  00BF	DE FA			DJNZ	R6,D1
   71:	  00C1	22			RET
   72:	  00C2			DELAY:
   73:	  00C2	7E 64			MOV	R6,#100
   74:	  00C4	7F 64		D3:	MOV	R7,#100
   75:	  00C6	DF FE		D4:	DJNZ	R7,D4
   76:	  00C8	DE FA			DJNZ	R6,D3
   77:	  00CA	22			RET
   78:	  00CB	C0 F9 A4 B0	TABLE:	DB	0C0H,0F9H,0A4H,0B0H		;0,1,2,3
   79:	  00CF	99 92 82 F8		DB	99H,92H,82H,0F8H,80H,90H	;4,5,6,7,8,9
	  00D3	80 90
   80:					END
   81:
   82:





                     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
CY				  BIT	      D7
D1				  CODE	    00BB	  68
D2				  CODE	    00BD	  69
D3				  CODE	    00C4	  74
D4				  CODE	    00C6	  75
DELAY				  CODE	    00C2	  72
DELAY10MS			  CODE	    00B9	  66
DISLOOP				  CODE	    0045	  13
DISPLAY				  CODE	    00A4	  54
DPH				  DATA	      83
DPL				  DATA	      82
DT				  CODE	    00B6	  65
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	    006D	  31
NOK2				  CODE	    009E	  51
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
REN				  BIT	      9C

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RESET				  CODE	    0000
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCANK				  CODE	    003F	   9
SCANL2				  CODE	    0076	  34
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	    00CB	  78
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 + -