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

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



 Line  I  Addr  Code            Source

    1:		N      0000		ORG	0H
    2:	  0000	02 00 30		LJMP	START
    3:		N      0003		ORG    0003H              ;INT0中断处理程序入口地址
    4:	  0003	01 9C		        AJMP   EXTINT0            ;跳转到EXINT0
    5:		N      000B		ORG	000BH		  ;定时/计数器0中断处理程序入口地址
    6:	  000B	01 79			AJMP	TIMER0INT       	;跳转到TIMER0INT
    7:		N      0013	        ORG    0013H              ;INT1中断处理程序入口地址
    8:	  0013	01 AB		        AJMP   EXTINT1            ;跳转到EXINT1
    9:		N      0030		ORG	30H
   10:	  0030			START:
   11:	  0030	D2 AA			SETB   EX1		;开外部中断1
   12:	  0032	D2 A8		        SETB   EX0		;开外部中断0
   13:	  0034	D2 8A		        SETB   IT1 		;外部中断1由下降沿触发
   14:	  0036	D2 88		        SETB   IT0		;外部中断0由下降沿触发
   15:
   16:	  0038	75 89 01		MOV TMOD,#00000001B     ;定时0工作于方式1(16位)
   17:	  003B	75 8C B1		MOV TH0,#0B1H
   18:	  003E	75 8A E0		MOV TL0,#0E0H            ;设定定时时间20ms
   19:	  0041	D2 A9			SETB ET0                 ;开定时/计数器0允许
   20:	  0043	C2 8C			CLR	TR0		;关闭定时器
   21:	  0045	D2 AF			SETB EA                  ;开总中断允许
   22:	  0047	7B 32			MOV	R3,#50		;计溢出次数50×20ms=1S
   23:
   24:	  0049	75 80 FF		MOV	P0,#0FFH	;P0口置1
   25:	  004C	75 A0 00		MOV	P2,#0H		;P2口清0
   26:	  004F	75 30 00		MOV	30H,#0		;初始显示00
   27:	  0052	75 31 00		MOV	31H,#0		;
   28:	  0055	90 00 B2		MOV	DPTR,#TABLE	;将数据表TABLE的首地址赋给DPTR
   29:	  0058			SCANK:
   30:	  0058	7C 02			MOV	R4,#2		;数码管数目赋给R4
   31:	  005A	79 30			MOV	R1,#30H		;R1装显示内容的地址
   32:	  005C	7A 80			MOV	R2,#10000000B	;R2装位选信号
   33:
   34:
   35:	  005E	E7		DISPLAY:MOV	A,@R1	;R1中的数据作为地址,取数据给A
   36:	  005F	93			MOVC	A,@A+DPTR;将(A+DPTR)地址中的值赋给A
   37:	  0060	8A A0			MOV	P2,R2	;选择第一个数码管
   38:	  0062	F5 80			MOV	P0,A	;送到P0口数码管显示
   39:	  0064	12 00 70		LCALL	DELAY	;显示延时
   40:	  0067	EA			MOV	A,R2	;位选信号右移
   41:	  0068	03			RR	A	;
   42:	  0069	FA			MOV	R2,A	;
   43:	  006A	09			INC	R1	;下一个显示的内容的地址

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  006B	DC F1			DJNZ	R4,DISPLAY;没显示完转DISPLAY
   45:	  006D	02 00 58		LJMP	SCANK	;重新开始扫描
   46:
   47:	  0070			DELAY:
   48:	  0070	7E 02			MOV	R6,#2
   49:	  0072	7F 64		D3:	MOV	R7,#100
   50:	  0074	DF FE		D4:	DJNZ	R7,D4
   51:	  0076	DE FA			DJNZ	R6,D3
   52:	  0078	22			RET
   53:	  0079			TIMER0INT:		;定时器0中断服务程序
   54:	  0079	C0 D0			PUSH  PSW
   55:	  007B	75 8C B1		MOV TH0,#0B1H
   56:	  007E	75 8A E0		MOV TL0,#0E0H   ;重置定时时间20ms
   57:	  0081	DB 16			DJNZ	R3,TRUESC;不到1S退出中断程序
   58:	  0083	7B 32			MOV	R3,#50	;重新赋溢出计数值
   59:	  0085	05 30			INC	30H	;个位加1
   60:	  0087	E5 30			MOV	A,30H	;
   61:	  0089	B4 0A 0D		CJNE	A,#10,TRUESC;判断个位加到10否?
   62:	  008C	75 30 00		MOV	30H,#0	;加到10重新赋0
   63:	  008F	05 31			INC	31H	;十位加1
   64:	  0091	E5 31			MOV	A,31H	;
   65:	  0093	B4 02 03		CJNE	A,#2,TRUESC;判断加到2否?
   66:	  0096	75 31 00		MOV	31H,#0	;加到2重新赋0
   67:	  0099	D0 D0		TRUESC:	POP  PSW
   68:	  009B	32			RETI		;
   69:
   70:	  009C	C0 D0		EXTINT0:PUSH  PSW	;外部中断0服务程序
   71:	  009E	75 8C B1		MOV TH0,#0B1H
   72:	  00A1	75 8A E0		MOV TL0,#0E0H   ;重置定时时间20ms
   73:	  00A4	7B 32			MOV	R3,#50	;重新赋溢出计数值
   74:	  00A6	D2 8C			SETB	TR0	;启动定时器
   75:	  00A8	D0 D0			POP  PSW
   76:	  00AA	32			RETI		;中断返回
   77:
   78:	  00AB	C0 D0		EXTINT1:PUSH  PSW	;外部中断1服务程序
   79:	  00AD	C2 8C			CLR	TR0	;关闭定时器
   80:	  00AF	D0 D0			POP  PSW
   81:	  00B1	32			RETI		;中断返回
   82:	  00B2	C0 F9 A4 B0	TABLE:	DB	0C0H,0F9H,0A4H,0B0H		;0,1,2,3
   83:	  00B6	99 92 82 F8		DB	99H,92H,82H,0F8H,80H,90H	;4,5,6,7,8,9
	  00BA	80 90
   84:					END
   85:
   86:





                     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
D3				  CODE	    0072	  49
D4				  CODE	    0074	  50
DELAY				  CODE	    0070	  47
DISPLAY				  CODE	    005E	  35
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
EXTINT0				  CODE	    009C	  70
EXTINT1				  CODE	    00AB	  78
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
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
RS0				  BIT	      D3
RS1				  BIT	      D4
RXD				  BIT	      B0

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
SBUF				  DATA	      99
SCANK				  CODE	    0058	  29
SCON				  DATA	      98
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
START				  CODE	    0030	  10
T0				  BIT	      B4
T1				  BIT	      B5
TABLE				  CODE	    00B2	  82
TB8				  BIT	      9B
TCON				  DATA	      88
TF0				  BIT	      8D
TF1				  BIT	      8F
TH0				  DATA	      8C
TH1				  DATA	      8D
TI				  BIT	      99
TIMER0				  CODE	    000B
TIMER0INT			  CODE	    0079	  53
TIMER1				  CODE	    001B
TL0				  DATA	      8A
TL1				  DATA	      8B
TMOD				  DATA	      89
TR0				  BIT	      8C
TR1				  BIT	      8E
TRUESC				  CODE	    0099	  67
TXD				  BIT	      B1
WR				  BIT	      B6

⌨️ 快捷键说明

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