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

📄 ex10-2.lst

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 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:	EX10-2.ASM
	Object File:	EX10-2.HEX
	List File:	EX10-2.LST



 Line  I  Addr  Code            Source

    1:		B	 90	S_SET	BIT		P1.0						;数字钟秒控制位
    2:		B	 91	M_SET	BIT		P1.1						;分钟控制位
    3:		B	 92	H_SET	BIT		P1.2						;小时控制位
    4:		N      0030	SECOND	EQU		30H
    5:		N      0031	MINUTE	EQU		31H
    6:		N      0032	HOUR	EQU		32H
    7:		N      0034	TCNT	EQU		34H
    8:		N      0000			ORG		00H
    9:	  0000	80 0C				SJMP	START
   10:		N      000B			ORG		0BH
   11:	  000B	02 00 91			LJMP	INT_T0
   12:	  000E	90 01 32	START:	MOV		DPTR,#TABLE
   13:	  0011	75 32 00			MOV		HOUR,#0						;初始化
   14:	  0014	75 31 00			MOV		MINUTE,#0
   15:	  0017	75 30 00			MOV		SECOND,#0
   16:	  001A	75 34 00			MOV		TCNT,#0
   17:	  001D	75 89 01			MOV		TMOD,#01H
   18:	  0020	75 8C 3C			MOV		TH0,#3CH		;fosc=12MHz,定时50毫秒
   19:	  0023	75 8A B0			MOV		TL0,#0B0H
   20:	  0026	75 A8 82			MOV		IE,#82H
   21:	  0029	D2 8C				SETB	TR0
   22:				;****************************************************
   23:				;判断是否有控制键按下,是哪一个键按下
   24:	  002B	12 00 C9	A1:		LCALL	DISPLAY
   25:	  002E	30 90 09			JNB		S_SET,S1
   26:	  0031	30 91 19			JNB		M_SET,S2
   27:	  0034	30 92 29			JNB		H_SET,S3
   28:	  0037	02 00 2B			LJMP	A1
   29:	  003A	12 01 3C		S1:	LCALL	DELAY		;去抖动
   30:	  003D	20 90 EB			JB		S_SET,A1
   31:
   32:	  0040	05 30				INC		SECOND		;秒值加1
   33:	  0042	E5 30				MOV		A,SECOND
   34:	  0044	B4 3C 32			CJNE	A,#60,J0	;判断是否加到60秒
   35:	  0047	75 30 00			MOV		SECOND,#0
   36:	  004A	02 00 53			LJMP	K1
   37:	  004D	12 01 3C		S2:	LCALL	DELAY
   38:	  0050	20 91 D8			JB		M_SET,A1
   39:
   40:	  0053	05 31			K1:	INC		MINUTE		;分钟值加1
   41:	  0055	E5 31				MOV		A,MINUTE
   42:	  0057	B4 3C 27			CJNE	A,#60,J1	;判断是否加到60分
   43:	  005A	75 31 00			MOV		MINUTE,#0

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  005D	02 00 66			LJMP	K2
   45:	  0060	12 01 3C		S3:	LCALL	DELAY
   46:	  0063	20 92 C5			JB		H_SET,A1
   47:
   48:	  0066	05 32			K2:	INC		HOUR		;小时值加1
   49:	  0068	E5 32				MOV		A,HOUR
   50:	  006A	B4 18 1C			CJNE	A,#24,J2	;判断是否加到24小时
   51:	  006D	75 32 00			MOV		HOUR,#0
   52:	  0070	75 31 00			MOV		MINUTE,#0
   53:	  0073	75 30 00			MOV		SECOND,#0
   54:	  0076	02 00 2B			LJMP	A1
   55:				;****************************************************
   56:				;等待按键抬起
   57:	  0079	20 90 AF	J0:		JB		S_SET,A1
   58:	  007C	12 00 C9			LCALL	DISPLAY
   59:	  007F	80 F8				SJMP	J0
   60:	  0081	20 91 A7	J1:		JB		M_SET,A1
   61:	  0084	12 00 C9			LCALL	DISPLAY
   62:	  0087	80 F8				SJMP	J1
   63:	  0089	20 92 9F	J2:		JB		H_SET,A1
   64:	  008C	12 00 C9			LCALL	DISPLAY
   65:	  008F	80 F8				SJMP	J2
   66:				;***********************************************
   67:				;定时器中断服务程序,对秒,分钟和小时的计数
   68:	  0091	75 8C 3C	INT_T0:		MOV		TH0,#3CH
   69:	  0094	75 8A B0			MOV		TL0,#0B0H
   70:	  0097	05 34				INC		TCNT
   71:	  0099	E5 34				MOV		A,TCNT
   72:	  009B	B4 14 2A			CJNE	A,#20,RETUNE	;计时1秒
   73:	  009E	05 30				INC		SECOND
   74:	  00A0	75 34 00			MOV		TCNT,#0
   75:	  00A3	E5 30				MOV		A,SECOND
   76:	  00A5	B4 3C 20			CJNE	A,#60,RETUNE
   77:	  00A8	05 31				INC		MINUTE
   78:	  00AA	75 30 00			MOV		SECOND,#0
   79:	  00AD	E5 31				MOV		A,MINUTE
   80:	  00AF	B4 3C 16			CJNE	A,#60,RETUNE
   81:	  00B2	05 32				INC		HOUR
   82:	  00B4	75 31 00			MOV		MINUTE,#0
   83:	  00B7	E5 32				MOV		A,HOUR
   84:	  00B9	B4 18 0C			CJNE	A,#24,RETUNE
   85:	  00BC	75 32 00			MOV		HOUR,#0
   86:	  00BF	75 31 00			MOV		MINUTE,#0
   87:	  00C2	75 30 00			MOV		SECOND,#0
   88:	  00C5	75 34 00			MOV		TCNT,#0
   89:	  00C8	32		RETUNE:	RETI
   90:				;******************************************
   91:				;显示控制子程序
   92:	  00C9	E5 30		DISPLAY:MOV		A,SECOND	;显示秒
   93:	  00CB	75 F0 0A			MOV		B,#10
   94:	  00CE	84				DIV		AB
   95:	  00CF	C2 B6				CLR		P3.6
   96:	  00D1	93				MOVC	A,@A+DPTR
   97:	  00D2	F5 80				MOV		P0,A
   98:	  00D4	12 01 3C			LCALL	DELAY
   99:	  00D7	D2 B6				SETB	P3.6

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

  100:	  00D9	E5 F0				MOV		A,B
  101:	  00DB	C2 B7				CLR		P3.7
  102:	  00DD	93				MOVC	A,@A+DPTR
  103:	  00DE	F5 80				MOV		P0,A
  104:	  00E0	12 01 3C			LCALL	DELAY
  105:	  00E3	D2 B7				SETB	P3.7
  106:
  107:	  00E5	C2 B5				CLR		P3.5
  108:	  00E7	75 80 40			MOV		P0,#40H		;显示分隔符
  109:	  00EA	12 01 3C			LCALL	DELAY
  110:	  00ED	D2 B5				SETB	P3.5
  111:
  112:	  00EF	E5 31				MOV		A,MINUTE	;显示分钟
  113:	  00F1	75 F0 0A			MOV		B,#10
  114:	  00F4	84				DIV		AB
  115:	  00F5	C2 B3				CLR		P3.3
  116:	  00F7	93				MOVC	A,@A+DPTR
  117:	  00F8	F5 80				MOV		P0,A
  118:	  00FA	12 01 3C			LCALL	DELAY
  119:	  00FD	D2 B3				SETB	P3.3
  120:	  00FF	E5 F0				MOV		A,B
  121:	  0101	C2 B4				CLR		P3.4
  122:	  0103	93				MOVC	A,@A+DPTR
  123:	  0104	F5 80				MOV		P0,A
  124:	  0106	12 01 3C			LCALL	DELAY
  125:	  0109	D2 B4				SETB	P3.4
  126:
  127:	  010B	C2 B2				CLR		P3.2
  128:	  010D	75 80 40			MOV		P0,#40H		;显示分隔符
  129:	  0110	12 01 3C			LCALL	DELAY
  130:	  0113	D2 B2				SETB	P3.2
  131:
  132:	  0115	E5 32			   	MOV		A,HOUR		;显示小时
  133:	  0117	75 F0 0A			MOV		B,#10
  134:	  011A	84				DIV		AB
  135:	  011B	C2 B0				CLR		P3.0
  136:	  011D	93				MOVC	A,@A+DPTR
  137:	  011E	F5 80				MOV		P0,A
  138:	  0120	12 01 3C			LCALL	DELAY
  139:	  0123	D2 B0				SETB	P3.0
  140:	  0125	E5 F0				MOV		A,B
  141:	  0127	C2 B1				CLR		P3.1
  142:	  0129	93				MOVC	A,@A+DPTR
  143:	  012A	F5 80				MOV		P0,A
  144:	  012C	12 01 3C			LCALL	DELAY
  145:	  012F	D2 B1				SETB	P3.1
  146:	  0131	22				RET
  147:
  148:	  0132	3F 06 5B 4F	TABLE: 	DB 		3FH,06H,5BH,4FH,66H
	  0136	66
  149:	  0137	6D 7D 07 7F			DB		6DH,7DH,07H,7FH,6FH
	  013B	6F
  150:	  013C	7E 0A		DELAY:	MOV		R6,#10
  151:	  013E	7F FA		D1:		MOV		R7,#250
  152:	  0140	DF FE				DJNZ	R7,$
  153:	  0142	DE FA				DJNZ	R6,D1

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4



 Line  I  Addr  Code            Source

  154:	  0144	22				RET
  155:
  156:						END





                     register banks used:  ---

                     no errors



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





	       L I S T   O F   S Y M B O L S
	       =============================


SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
A1				  CODE	    002B	  24
AC				  BIT	      D6
ACC				  DATA	      E0
B				  DATA	      F0
CY				  BIT	      D7
D1				  CODE	    013E	 151
DELAY				  CODE	    013C	 150
DISPLAY				  CODE	    00C9	  92
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
HOUR				  NUMBER    0032	   6
H_SET				  BIT	      92	   3
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
INT_T0				  CODE	    0091	  68
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
J0				  CODE	    0079	  57
J1				  CODE	    0081	  60
J2				  CODE	    0089	  63
K1				  CODE	    0053	  40
K2				  CODE	    0066	  48
MINUTE				  NUMBER    0031	   5
M_SET				  BIT	      91	   2
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

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 6



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RB8				  BIT	      9A
RD				  BIT	      B7
REN				  BIT	      9C
RESET				  CODE	    0000
RETUNE				  CODE	    00C8	  89
RI				  BIT	      98
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
S1				  CODE	    003A	  29
S2				  CODE	    004D	  37
S3				  CODE	    0060	  45
SBUF				  DATA	      99
SCON				  DATA	      98
SECOND				  NUMBER    0030	   4
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
START				  CODE	    000E	  12
S_SET				  BIT	      90	   1
T0				  BIT	      B4
T1				  BIT	      B5
TABLE				  CODE	    0132	 148
TB8				  BIT	      9B
TCNT				  NUMBER    0034	   7
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 + -