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

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



 Line  I  Addr  Code            Source

    1:		N      0000		ORG  0000H            	;主程序入口
    2:	  0000	02 01 00	     	LJMP  MAIN
    3:		N      0023	        ORG  0023H            	;串行中断入口
    4:	  0023	02 01 36	     	LJMP SERVE1
    5:		N      0100	        ORG  0100H
    6:	  0100	75 81 60	MAIN:	MOV SP,#60h
    7:	  0103	78 40			MOV R0,#40H
    8:	  0105	74 00			MOV A,#00
    9:	  0107	7C 10			MOV R4,#10H
   10:	  0109	F6		LP:   	MOV @R0,A
   11:	  010A	08			INC R0
   12:	  010B	04			INC A
   13:	  010C	DC FB			DJNZ R4,LP
   14:	  010E	75 89 20		MOV  TMOD, #20H         ;将T1设为工作方式2
   15:	  0111	75 8D F3	        MOV  TH1, #0F3H         ;fosc=6MHz时,BD=2400
   16:	  0114	75 8B F3	        MOV  TL1, #0F3H
   17:	  0117	D2 8E		        SETB  TR1               ;启动T1
   18:	  0119	75 87 80	        MOV  PCON, #80H         ;Smod=1
   19:	  011C	75 98 D0	        MOV  SCON, #0D0H        ;串行口设为工作方式3, 允许接收
   20:	  011F	78 40		        MOV  R0, #40H           ;数据块首地址
   21:	  0121	7C 10			MOV R4,#10H		;发送字节数
   22:	  0123	D2 AC		        SETB ES                 ;允许串行口中断
   23:	  0125	D2 AF		        SETB EA                 ;开中断
   24:	  0127	E6		        MOV A, @R0              ;取发送数据
   25:	  0128	A2 D0		        MOV  C, P
   26:	  012A	92 9B		        MOV TB8,C		;奇偶标志送TB8
   27:	  012C	F5 90			MOV P1,A
   28:	  012E	12 01 6C		LCALL DELAY
   29:	  0131	F5 99			MOV SBUF,A		;发送数据
   30:	  0133	1C			DEC R4
   31:	  0134	80 FE		        SJMP $			;等待中断
   32:
   33:				;发送方单片机的中断服务程序:
   34:	  0136	C0 E0		SERVE1: PUSH ACC
   35:	  0138	C0 D0			PUSH PSW
   36:	  013A	10 98 04		JBC  RI, LOOP           ;是接收中断,清零RI,转入接收应答信息
   37:	  013D	C2 99		        CLR  TI                 ;是发送中断,清零TI
   38:	  013F	80 26		        SJMP ENDT
   39:	  0141	E5 99		LOOP:   MOV  A, SBUF            ;取应答信息
   40:	  0143	C3		        CLR  C
   41:	  0144	94 01		        SUBB A,#01H             ;判断应答信息是#00H吗?
   42:	  0146	40 0E		        JC   LOOP1              ;是#00H,发送正确
   43:	  0148	E6		        MOV A, @R0              ;否则重发原来数据

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 2



 Line  I  Addr  Code            Source

   44:	  0149	A2 D0		        MOV  C, P
   45:	  014B	92 9B		        MOV  TB8, C
   46:	  014D	F5 99		        MOV  SBUF, A
   47:	  014F	F5 90			MOV P1,A
   48:	  0151	12 01 6C		LCALL DELAY
   49:	  0154	80 11		        SJMP ENDT
   50:	  0156	08		LOOP1:  INC  R0                 ;修改地址指针,准备发送下一个数据
   51:	  0157	E6		        MOV A, @R0
   52:	  0158	A2 D0		        MOV  C, P
   53:	  015A	92 9B		        MOV  TB8, C
   54:	  015C	F5 99		        MOV  SBUF, A            ;发送数据
   55:	  015E	F5 90			MOV P1,A
   56:	  0160	12 01 6C		LCALL DELAY
   57:	  0163	DC 02		        DJNZ R4, ENDT           ;数据未发送完,继续
   58:	  0165	C2 AC		        CLR  ES                 ;数据全部发送完毕,禁止串行口中断
   59:	  0167	D0 D0		ENDT:   POP PSW
   60:	  0169	D0 E0			POP ACC
   61:	  016B	32			RETI                    ;中断返回
   62:
   63:	  016C	7F 03		DELAY:  MOV R7,#3
   64:	  016E	7E FF		DD1:	MOV R6,#0FFH
   65:	  0170	7D FF		DD2:	MOV R5,#0FFH
   66:	  0172	DD FE			DJNZ R5,$
   67:	  0174	DE FA			DJNZ R6,DD2
   68:	  0176	DF F6			DJNZ R7,DD1
   69:	  0178	22			RET
   70:				  	END





                     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
DD1				  CODE	    016E	  64
DD2				  CODE	    0170	  65
DELAY				  CODE	    016C	  63
DPH				  DATA	      83
DPL				  DATA	      82
EA				  BIT	      AF
ENDT				  CODE	    0167	  59
ES				  BIT	      AC
ET0				  BIT	      A9
ET1				  BIT	      AB
EX0				  BIT	      A8
EX1				  BIT	      AA
EXTI0				  CODE	    0003
EXTI1				  CODE	    0013
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
LOOP				  CODE	    0141	  39
LOOP1				  CODE	    0156	  50
LP				  CODE	    0109	  10
MAIN				  CODE	    0100	   6
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

ASEM-51 V1.2                                         Copyright (c) 1996 by W.W. Heinz                                         PAGE 4



SYMBOL				  TYPE     VALUE	LINE
------------------------------------------------------------
RS1				  BIT	      D4
RXD				  BIT	      B0
SBUF				  DATA	      99
SCON				  DATA	      98
SERVE1				  CODE	    0136	  34
SINT				  CODE	    0023
SM0				  BIT	      9F
SM1				  BIT	      9E
SM2				  BIT	      9D
SP				  DATA	      81
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 + -