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

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



 Line  I  Addr  Code            Source

    1:		N      0030	COUNT	EQU	30H	;计数单元
    2:		N      0031	BUF	EQU	31H	;显示缓冲区首地址,共2字节
    3:		N      0000		ORG	0
    4:	  0000	02 00 30		LJMP	START
    5:		N      0003		ORG	3
    6:	  0003	02 00 B6		LJMP	JS
    7:		N      0030		ORG	30H
    8:	  0030	75 81 60	START:	MOV	SP,#60H
    9:	  0033	D2 88			SETB	IT0		;设INT0为边沿中断
   10:	  0035	D2 A8			SETB	EX0		;允许INT0中断
   11:	  0037	75 30 00		MOV	COUNT,#0	;计数单元清零
   12:	  003A	D2 B2			SETB	P3.2		;设置INT0管脚为输入状态
   13:	  003C	D2 AF			SETB	EA		;开中断
   14:	  003E	AE 30		LOOP:	MOV     R6,COUNT	;取计数值
   15:	  0040	12 00 A5		LCALL	HTOB		;将计数值转换为BCD码
   16:	  0043	8A 31			MOV	BUF,R2		;存转换后的计数值
   17:	  0045	8B 32			MOV	BUF+1,R3
   18:	  0047	12 00 4C		LCALL	DISP
   19:	  004A	80 F2			SJMP	LOOP
   20:				;显示程序
   21:				;将BUF单元的2字节BCD码送数码管显示
   22:	  004C	78 31		DISP:	MOV	R0,#BUF
   23:	  004E	7A 02			MOV	R2,#2		;共显示2个字节的BCD码
   24:	  0050	7B 01			MOV	R3,#1		;位码初值
   25:	  0052	E6			MOV	A,@R0
   26:	  0053	54 0F			ANL	A,#0FH
   27:	  0055	90 00 94		MOV	DPTR,#DISP_TAB
   28:	  0058	93			MOVC	A,@A+DPTR
   29:	  0059	F5 80			MOV	P0,A		;送段码
   30:	  005B	EB			MOV	A,R3
   31:	  005C	75 A0 02		MOV	P2,#2
   32:	  005F	12 00 CD		LCALL	DELAY		;延时1ms
   33:	  0062	E6			MOV	A,@R0
   34:	  0063	C4			SWAP	A
   35:	  0064	54 0F			ANL	A,#0FH
   36:	  0066	90 00 94		MOV	DPTR,#DISP_TAB
   37:	  0069	93			MOVC	A,@A+DPTR
   38:	  006A	F5 80			MOV	P0,A		;送段码
   39:	  006C	75 A0 01		MOV	P2,#1
   40:	  006F	12 00 CD		LCALL	DELAY
   41:	  0072	08			INC	R0
   42:	  0073	E6			MOV	A,@R0
   43:	  0074	54 0F			ANL	A,#0FH

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0076	90 00 94		MOV	DPTR,#DISP_TAB
   45:	  0079	93			MOVC	A,@A+DPTR
   46:	  007A	F5 80			MOV	P0,A		;送段码
   47:	  007C	EB			MOV	A,R3
   48:	  007D	75 A0 08		MOV	P2,#8
   49:	  0080	12 00 CD		LCALL	DELAY		;延时1ms
   50:	  0083	E6			MOV	A,@R0
   51:	  0084	C4			SWAP	A
   52:	  0085	54 0F			ANL	A,#0FH
   53:	  0087	90 00 94		MOV	DPTR,#DISP_TAB
   54:	  008A	93			MOVC	A,@A+DPTR
   55:	  008B	F5 80			MOV	P0,A		;送段码
   56:	  008D	75 A0 04		MOV	P2,#4
   57:	  0090	12 00 CD		LCALL	DELAY
   58:	  0093	22			RET
   59:	  0094	C0 F9 A4 B0	DISP_TAB:DB	0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
	  0098	99 92 82 F8
   60:	  009C	80 90 88 83		DB	80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
	  00A0	C6 A1 86 8E
	  00A4	FF
   61:				;这是一个将16进制数转换为BCD码的程序
   62:				;待转换的16进制数在R6中,转换完的结果在R2R3中
   63:				;使用的寄存器A,,B,R6,R2,R3
   64:	  00A5	EE		HTOB:	MOV	A,R6
   65:	  00A6	75 F0 64		MOV	B,#100
   66:	  00A9	84			DIV	AB
   67:	  00AA	FA			MOV	R2,A
   68:	  00AB	E5 F0			MOV	A,B
   69:	  00AD	75 F0 0A		MOV	B,#10
   70:	  00B0	84			DIV	AB
   71:	  00B1	C4			SWAP	A
   72:	  00B2	25 F0			ADD	A,B
   73:	  00B4	FB			MOV	R3,A
   74:	  00B5	22			RET
   75:				;计数程序
   76:				;计数值为1字节 存在COUNT单元
   77:	  00B6	C0 D0		JS:	PUSH	PSW
   78:	  00B8	C0 E0			PUSH	ACC
   79:	  00BA	C0 83			PUSH	DPH
   80:	  00BC	C0 82			PUSH	DPL
   81:	  00BE	C2 D4			CLR	RS1
   82:	  00C0	D2 D3			SETB	RS0	;选择1区工作寄存器
   83:	  00C2	05 30			INC	COUNT
   84:	  00C4	D0 82			POP	DPL
   85:	  00C6	D0 83			POP	DPH
   86:	  00C8	D0 E0			POP	ACC
   87:	  00CA	D0 D0			POP	PSW
   88:	  00CC	32			RETI
   89:	  00CD	7E FA		DELAY:	MOV	R6,#250
   90:	  00CF	00		L1:	NOP
   91:	  00D0	00			NOP
   92:	  00D1	DE FC			DJNZ	R6,L1
   93:	  00D3	22			RET
   94:					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
BUF				  NUMBER    0031	   2
COUNT				  NUMBER    0030	   1
CY				  BIT	      D7
DELAY				  CODE	    00CD	  89
DISP				  CODE	    004C	  22
DISP_TAB			  CODE	    0094	  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
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
F0				  BIT	      D5
HTOB				  CODE	    00A5	  64
IE				  DATA	      A8
IE0				  BIT	      89
IE1				  BIT	      8B
INT0				  BIT	      B2
INT1				  BIT	      B3
IP				  DATA	      B8
IT0				  BIT	      88
IT1				  BIT	      8A
JS				  CODE	    00B6	  77
L1				  CODE	    00CF	  90
LOOP				  CODE	    003E	  14
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
RESET				  CODE	    0000
RI				  BIT	      98

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 5



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
START				  CODE	    0030	   8
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
TXD				  BIT	      B1
WR				  BIT	      B6

⌨️ 快捷键说明

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