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

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



 Line  I  Addr  Code            Source

    1:		N      0030	HOUR	EQU	30H	;小时计数单元
    2:		N      0031	MIN	EQU	31H	;分钟计数单元
    3:		N      0032	SEC	EQU	32H	;秒计数单元
    4:		N      0033	COUNT	EQU	33H	;50ms计数单元
    5:		N      0038	BUF	EQU	38H	;显示缓冲区首地址,共3字节
    6:		N      0000		ORG	0
    7:	  0000	02 00 30		LJMP	START
    8:		N      000B		ORG	0BH
    9:	  000B	02 00 A0		LJMP	TS
   10:		N      0030		ORG	30H
   11:	  0030	75 81 60	START:	MOV	SP,#60H
   12:	  0033	75 89 01		MOV	TMOD,#01H	;设T0为方式1
   13:	  0036	75 8C 3C		MOV	TH0,#3CH
   14:	  0039	75 8A B0		MOV	TL0,#0B0H	;50ms定时初值
   15:	  003C	D2 B9			SETB	PT0		;设T0为高级中断
   16:	  003E	D2 A9			SETB	ET0		;允许T0中断
   17:	  0040	75 33 14		MOV	COUNT,#20	;50ms计数单元赋初值
   18:	  0043	75 30 00		MOV	HOUR,#0		;小时计数单元清零
   19:	  0046	75 31 00		MOV	MIN,#0		;分钟计数单元清零
   20:	  0049	75 32 00		MOV	SEC,#0		;秒计数单元清零
   21:	  004C	D2 8C			SETB	TR0		;启动计数
   22:	  004E	C2 AF		LOOP:	CLR	EA		;关中断,避免读数时显示跳动
   23:	  0050	85 30 38		MOV	BUF,HOUR	;存小时数到显示缓冲区
   24:	  0053	85 31 39		MOV	BUF+1,MIN	;存分钟数到显示缓冲区
   25:	  0056	85 32 3A		MOV	BUF+2,SEC	;存秒数到显示缓冲区
   26:	  0059	D2 AF			SETB	EA		;开中断
   27:	  005B	12 00 60		LCALL	DISP
   28:	  005E	80 EE			SJMP	LOOP
   29:				;显示程序
   30:				;将BUF单元的3字节BCD码送数码管显示
   31:	  0060	78 38		DISP:	MOV	R0,#BUF
   32:	  0062	7A 03			MOV	R2,#3		;共显示3个字节的BCD码
   33:	  0064	7B 01			MOV	R3,#1		;位码初值
   34:	  0066	E6		DISP1:	MOV	A,@R0
   35:	  0067	54 0F			ANL	A,#0FH
   36:	  0069	90 00 8F		MOV	DPTR,#DISP_TAB
   37:	  006C	93			MOVC	A,@A+DPTR
   38:	  006D	54 7F			ANL	A,#7FH		;点亮末尾小数点以便于区分时间
   39:	  006F	F5 80			MOV	P0,A		;送段码
   40:	  0071	EB			MOV	A,R3
   41:	  0072	F5 A0			MOV	P2,A
   42:	  0074	23			RL	A
   43:	  0075	FB			MOV	R3,A

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0076	12 00 E8		LCALL	DELAY		;延时1ms
   45:	  0079	E6			MOV	A,@R0
   46:	  007A	C4			SWAP	A
   47:	  007B	54 0F			ANL	A,#0FH
   48:	  007D	90 00 8F		MOV	DPTR,#DISP_TAB
   49:	  0080	93			MOVC	A,@A+DPTR
   50:	  0081	F5 80			MOV	P0,A		;送段码
   51:	  0083	EB			MOV	A,R3
   52:	  0084	F5 A0			MOV	P2,A
   53:	  0086	23			RL	A
   54:	  0087	FB			MOV	R3,A
   55:	  0088	12 00 E8		LCALL	DELAY
   56:	  008B	08			INC	R0
   57:	  008C	DA D8			DJNZ	R2,DISP1
   58:	  008E	22			RET
   59:	  008F	C0 F9 A4 B0	DISP_TAB:DB	0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0D8H
	  0093	99 92 82 D8
   60:	  0097	80 90 88 83		DB	80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
	  009B	C6 A1 86 8E
	  009F	FF
   61:				;50ms定时中断服务程序
   62:	  00A0	C0 D0		TS:	PUSH	PSW
   63:	  00A2	C0 E0			PUSH	ACC
   64:	  00A4	C0 83			PUSH	DPH
   65:	  00A6	C0 82			PUSH	DPL
   66:	  00A8	C2 8C			CLR	TR0
   67:	  00AA	75 8C 3C		MOV	TH0,#3CH
   68:	  00AD	75 8A B0		MOV	TL0,#0B0H
   69:	  00B0	D2 8C			SETB	TR0
   70:	  00B2	D5 33 2A		DJNZ	COUNT,EXIT
   71:	  00B5	75 33 14		MOV	COUNT,#20
   72:	  00B8	E5 32			MOV	A,SEC
   73:	  00BA	24 01			ADD	A,#1		;秒加1
   74:	  00BC	D4			DA	A		;调整为BCD码
   75:	  00BD	F5 32			MOV	SEC,A		;存秒
   76:	  00BF	B4 60 1D		CJNE	A,#60H,EXIT	;不到60秒则退出
   77:	  00C2	75 32 00		MOV	SEC,#0		;秒单元清零
   78:	  00C5	E5 31			MOV	A,MIN
   79:	  00C7	24 01			ADD	A,#1		;分加1
   80:	  00C9	D4			DA	A		;调整为BCD码
   81:	  00CA	F5 31			MOV	MIN,A		;存分
   82:	  00CC	B4 60 10		CJNE	A,#60H,EXIT	;不到60分则退出
   83:	  00CF	75 31 00		MOV	MIN,#0
   84:	  00D2	E5 30			MOV	A,HOUR
   85:	  00D4	24 01			ADD	A,#1		;小时加1
   86:	  00D6	D4			DA	A		;调整为BCD码
   87:	  00D7	F5 30			MOV	HOUR,A		;存小时
   88:	  00D9	B4 24 03		CJNE	A,#24H,EXIT	;不到24小时则退出
   89:	  00DC	75 30 00		MOV	HOUR,#0
   90:	  00DF	D0 82		EXIT:	POP	DPL
   91:	  00E1	D0 83			POP	DPH
   92:	  00E3	D0 E0			POP	ACC
   93:	  00E5	D0 D0			POP	PSW
   94:	  00E7	32			RETI
   95:	  00E8	7E FA		DELAY:	MOV	R6,#250
   96:	  00EA	00		L1:	NOP

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 3



 Line  I  Addr  Code            Source

   97:	  00EB	00			NOP
   98:	  00EC	DE FC			DJNZ	R6,L1
   99:	  00EE	22			RET
  100:					END





                     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
BUF				  NUMBER    0038	   5
COUNT				  NUMBER    0033	   4
CY				  BIT	      D7
DELAY				  CODE	    00E8	  95
DISP				  CODE	    0060	  31
DISP1				  CODE	    0066	  34
DISP_TAB			  CODE	    008F	  59
DPH				  DATA	      83
DPL				  DATA	      82
EA				  BIT	      AF
ES				  BIT	      AC
ET0				  BIT	      A9
ET1				  BIT	      AB
EX0				  BIT	      A8
EX1				  BIT	      AA
EXIT				  CODE	    00DF	  90
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
F0				  BIT	      D5
HOUR				  NUMBER    0030	   1
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
L1				  CODE	    00EA	  96
LOOP				  CODE	    004E	  22
MIN				  NUMBER    0031	   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
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
SCON				  DATA	      98
SEC				  NUMBER    0032	   3
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
START				  CODE	    0030	  11
T0				  BIT	      B4
T1				  BIT	      B5
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
TS				  CODE	    00A0	  62
TXD				  BIT	      B1
WR				  BIT	      B6

⌨️ 快捷键说明

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