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

📄 7.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:	7.ASM
	Object File:	7.HEX
	List File:	7.LST



 Line  I  Addr  Code            Source

    1:		N      0000		ORG	0h
    2:	  0000	01 30			AJMP	START
    3:		N      0030		ORG	30h
    4:	  0030	75 80 FF	START:	MOV	P0,#0FFH
    5:	  0033	75 A0 01		MOV	P2,#01H;选中第1个数码管进行显示
    6:	  0036	C2 00			CLR	20H.0	;标志位初始为0,K1键标志位
    7:	  0038	C2 01			CLR	20H.1	;K2标志位
    8:	  003A	C2 02			CLR	20H.2	;K3标志位
    9:	  003C	90 00 E5		MOV	DPTR,#TABLE;将数据表TABLE的首地址赋给DPTR
   10:	  003F	75 89 01		MOV	TMOD,#01H	;定时器0方式1
   11:	  0042	7E C8			MOV	R6,#200	;计溢出次数
   12:	  0044	75 90 FF	SCANK:	MOV	P1,#0FFH
   13:	  0047	C2 94			CLR	P1.4	;P1.4清0,扫描第1行
   14:	  0049	E5 90			MOV	A,P1	;读键盘至A
   15:	  004B	54 0F			ANL	A,#00001111B
   16:	  004D	64 0F			XRL	A,#00001111B;判断A的低四位是否为1
   17:	  004F	60 48			JZ	DISPLAY	;如果低四位为1,则无按键,转DISPLAY
   18:	  0051	12 00 90		LCALL	DELAY10MS;延时10ms(去抖延时)
   19:	  0054	E5 90			MOV	A,P1	;读键盘至A
   20:	  0056	54 0F			ANL	A,#00001111B
   21:	  0058	64 0F			XRL	A,#00001111B;判断A的低四位是否为1
   22:	  005A	60 3D			JZ	DISPLAY	;如果低四位为1,则无按键,转DISPLAY
   23:	  005C	E5 90			MOV	A,P1	;读键盘至A
   24:	  005E	54 0F			ANL	A,#00001111B;保留低四位的结果
   25:	  0060	B4 0D 0F		CJNE	A,#00001101B,NOK1;不是K1键,转NOK1
   26:	  0063	D2 00			SETB	20H.0	;是K1键将标志位置1,0-9
   27:	  0065	C2 01			CLR	20H.1	;其他标志位清0
   28:	  0067	C2 02			CLR	20H.2	;
   29:	  0069	7A 00			MOV	R2,#0
   30:	  006B	EA			MOV	A,R2
   31:	  006C	93			MOVC	A,@A+DPTR	;将(A+DPTR)地址中的值赋给A
   32:	  006D	F5 80			MOV	P0,A	;送到P0口数码管显示
   33:	  006F	02 00 99		LJMP	DISPLAY	;转显示子程序
   34:	  0072	B4 0B 09	NOK1:	CJNE	A,#00001011B,NOK2;不是K2键,转NOK2
   35:	  0075	D2 01			SETB	20H.1	;是K2键将标志位置1
   36:	  0077	C2 00			CLR	20H.0	;其他标志位清0
   37:	  0079	C2 02			CLR	20H.2	;
   38:	  007B	02 00 99		LJMP	DISPLAY	;转显示子程序
   39:	  007E	B4 07 18	NOK2:	CJNE	A,#00000111B,DISPLAY;不是K3键,转DISPLAY
   40:	  0081	D2 02			SETB	20H.2	;是K3键将标志位置1,9-0
   41:	  0083	C2 00			CLR	20H.0	;其他标志位清0
   42:	  0085	C2 01			CLR	20H.1	;
   43:	  0087	7A 09			MOV	R2,#9

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0089	EA			MOV	A,R2
   45:	  008A	93			MOVC	A,@A+DPTR	;将(A+DPTR)地址中的值赋给A
   46:	  008B	F5 80			MOV	P0,A	;送到P0口数码管显示
   47:	  008D	02 00 99		LJMP	DISPLAY	;转显示子程序
   48:	  0090			DELAY10MS:
   49:	  0090	7E 0A			MOV	R6,#10
   50:	  0092	7F FA		D1:	MOV	R7,#250
   51:	  0094	DF FE		D2:	DJNZ	R7,D2
   52:	  0096	DE FA			DJNZ	R6,D1
   53:	  0098	22			RET
   54:
   55:	  0099	20 01 06	DISPLAY:JB	20H.1,KEY2
   56:	  009C	20 00 06		JB	20H.0,KEY1
   57:	  009F	20 02 23		JB	20H.2,KEY3
   58:	  00A2	02 00 44	KEY2:	LJMP	SCANK	;跳到SCANK,重新开始扫描
   59:	  00A5			KEY1:
   60:	  00A5	75 8C EC		MOV	TH0,#0ECH	;高八位,5ms
   61:	  00A8	75 8A 78		MOV	TL0,#78H	;低八位
   62:	  00AB	D2 8C			SETB	TR0		;启动定时器
   63:	  00AD	10 8D 02	WAIT1:	JBC	TF0,WAIT2
   64:	  00B0	80 FB			JMP	WAIT1
   65:	  00B2	DE 90		WAIT2:	DJNZ	R6,SCANK	;溢出次数减1
   66:	  00B4	7E C8			MOV	R6,#200		;重新赋溢出次数
   67:	  00B6	C2 8C			CLR	TR0
   68:	  00B8	0A			INC	R2
   69:	  00B9	BA 0A 02		CJNE	R2,#10,GOKEY1	;判断是否显示数字加到10
   70:	  00BC	AA 00			MOV	R2,0		;如加到10,重新赋0
   71:	  00BE	EA		GOKEY1:	MOV	A,R2
   72:	  00BF	93			MOVC	A,@A+DPTR	;将(A+DPTR)地址中的值赋给A
   73:	  00C0	F5 80			MOV	P0,A	;送到P0口数码管显示
   74:	  00C2	02 00 44		LJMP	SCANK	;跳到SCANK,重新开始扫描
   75:	  00C5			KEY3:
   76:	  00C5	75 8C EC		MOV	TH0,#0ECH	;高八位,5ms
   77:	  00C8	75 8A 78		MOV	TL0,#78H	;低八位
   78:	  00CB	D2 8C			SETB	TR0		;启动定时器
   79:	  00CD	10 8D 02	WAIT3:	JBC	TF0,WAIT4
   80:	  00D0	80 FB			JMP	WAIT3
   81:	  00D2	DE CE		WAIT4:	DJNZ	R6,KEY2
   82:	  00D4	7E C8			MOV	R6,#200
   83:	  00D6	C2 8C			CLR	TR0
   84:	  00D8	1A			DEC	R2
   85:	  00D9	BA FF 02		CJNE	R2,#0FFH,GOKEY3	;判断是否显示数字减到FF
   86:	  00DC	7A 09			MOV	R2,#9		;重新赋9
   87:	  00DE			GOKEY3:
   88:	  00DE	EA			MOV	A,R2
   89:	  00DF	93			MOVC	A,@A+DPTR	;将(A+DPTR)地址中的值赋给A
   90:	  00E0	F5 80			MOV	P0,A	;送到P0口数码管显示
   91:
   92:	  00E2	02 00 44		LJMP	SCANK	;跳到SCANK,重新开始扫描
   93:	  00E5	C0 F9 A4 B0	TABLE:	DB	0C0H,0F9H,0A4H,0B0H
   94:	  00E9	99 92 82 F8		DB	99H,92H,82H,0F8H,80H,90H
	  00ED	80 90
   95:					END



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





                     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
D1				  CODE	    0092	  50
D2				  CODE	    0094	  51
DELAY10MS			  CODE	    0090	  48
DISPLAY				  CODE	    0099	  55
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
GOKEY1				  CODE	    00BE	  71
GOKEY3				  CODE	    00DE	  87
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
KEY1				  CODE	    00A5	  59
KEY2				  CODE	    00A2	  58
KEY3				  CODE	    00C5	  75
NOK1				  CODE	    0072	  34
NOK2				  CODE	    007E	  39
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 5



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RESET				  CODE	    0000
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCANK				  CODE	    0044	  12
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	    00E5	  93
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
WAIT1				  CODE	    00AD	  63
WAIT2				  CODE	    00B2	  65
WAIT3				  CODE	    00CD	  79
WAIT4				  CODE	    00D2	  81
WR				  BIT	      B6

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -