📄 master.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: MASTER.ASM
Object File: MASTER.HEX
List File: MASTER.LST
Line I Addr Code Source
1: N 0000 ORG 0000H
2: 0000 02 00 30 LJMP MAIN
3: N 0030 ORG 0030H
4: 0030 75 81 70 MAIN: MOV SP,#70H
5:
6: 0033 75 51 01 MOV 51H,#01H ;从机1数据
7: 0036 75 52 02 MOV 52H,#02H
8: 0039 75 53 03 MOV 53H,#03H
9: 003C 75 61 01 MOV 61H,#01H ;从机2数据
10: 003F 75 62 02 MOV 62H,#02H
11: 0042 75 63 03 MOV 63H,#03H
12: 0045 30 90 05 AGAIN: JNB P1.0,SET_NM1 ;K1键按下?
13: 0048 30 91 19 JNB P1.1,SET_NM2 ;K2键按下?
14: 004B 80 F8 SJMP AGAIN
15: 004D 75 40 01 SET_NM1:MOV 40H,#01H ;K1键按下,设定从机1地址
16: 0050 D2 07 SETB 20H.7
17: 0052 7D 00 MOV R5,#00H
18: 0054 75 50 03 MOV 50H,#03H ;数据块长度
19: 0057 05 51 INC 51H
20: 0059 05 52 INC 52H
21: 005B 05 53 INC 53H
22: 005D 12 00 77 LCALL TRS
23: 0060 C2 07 CLR 20H.7
24: 0062 80 E1 SJMP AGAIN
25: 0064 75 40 02 SET_NM2:MOV 40H,#02H ;K1键按下,设定从机2地址
26: 0067 7D 00 MOV R5,#00H
27: 0069 75 50 03 MOV 50H,#03H ;数据块长度
28: 006C 05 61 INC 61H
29: 006E 05 62 INC 62H
30: 0070 05 63 INC 63H
31: 0072 12 00 77 LCALL TRS
32: 0075 80 CE SJMP AGAIN
33:
34: 0077 75 89 20 TRS: MOV TMOD, #20H ;设置T1工作方式
35: 007A 75 8D FD MOV TH1,#0FdH ;设置时间常数,确定波特率
36: 007D 75 8B FD MOV TL1,#0FdH
37: 0080 D2 8E SETB TR1
38: 0082 75 98 D8 MOV SCON,#0D8H ;设置串行口工作方式
39: 0085 75 87 00 MOV PCON,#00H
40: 0088 D2 AF SETB EA
41: 008A E5 40 TX_ADDR:MOV A,40H ;发送从机地址
42: 008C F5 99 MOV SBUF,A
43: 008E 30 99 FD WAIT1: JNB TI,WAIT1 ;等待发送完
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 0091 C2 99 CLR TI
45: 0093 30 98 FD RX_ADDR:JNB RI,RX_ADDR
46: 0096 C2 98 CLR RI
47: 0098 E5 99 MOV A,SBUF ;判断从机应答
48: 009A B4 00 F6 CJNE A,#00H,RX_ADDR ;应答错误,重发
49: 009D C2 9B CLR TB8
50: 009F 85 50 99 RDT: MOV SBUF,50H ;发送数据块长度
51: 00A2 30 99 FD WAIT2: JNB TI,WAIT2 ;等待发送完
52: 00A5 C2 99 CLR TI
53: 00A7 30 98 FD RX_DT1: JNB RI,RX_DT1
54: 00AA C2 98 CLR RI
55: 00AC E5 99 MOV A,SBUF ;判断从机应答
56: 00AE B4 00 EE CJNE A,#00H,RDT ;应答错误,重发
57: 00B1 20 07 04 JB 20H.7,G51H
58: 00B4 78 61 MOV R0,#61H
59: 00B6 80 02 SJMP RTRS
60: 00B8 78 51 G51H: MOV R0,#51H ;发送数据
61: 00BA E6 RTRS: MOV A,@R0
62: 00BB F5 F0 MOV B,A
63: 00BD F5 99 MOV SBUF,A
64: 00BF 30 99 FD WAIT3: JNB TI,WAIT3 ;等待发送完
65: 00C2 C2 99 CLR TI
66: 00C4 30 98 FD RX_DT: JNB RI,RX_DT
67: 00C7 C2 98 CLR RI
68: 00C9 E5 99 MOV A,SBUF ;判断从机应答
69: 00CB B4 00 EC CJNE A,#00H,RTRS ;应答错误,重发
70: 00CE 08 INC R0
71: 00CF E5 F0 MOV A,B
72: 00D1 2D ADD A,R5 ;发送数据累加
73: 00D2 FD MOV R5,A
74: 00D3 D5 50 E4 DJNZ 50H,RTRS
75: 00D6 ED RTRS1: MOV A,R5
76: 00D7 F5 99 MOV SBUF,A ;发送校验和
77: 00D9 30 99 FD WAIT4: JNB TI,WAIT4 ;等待发送完
78: 00DC C2 99 CLR TI
79: 00DE 30 98 FD RX_PAR: JNB RI,RX_PAR
80: 00E1 C2 98 CLR RI
81: 00E3 E5 99 MOV A,SBUF ;判断从机应答
82: 00E5 B4 00 01 CJNE A,#00H,ERR ;应答错误
83: 00E8 22 RET
84: 00E9 80 FE ERR: SJMP $
85:
86: 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
AGAIN CODE 0045 12
B DATA F0
CY BIT D7
DPH DATA 83
DPL DATA 82
EA BIT AF
ERR CODE 00E9 84
ES BIT AC
ET0 BIT A9
ET1 BIT AB
EX0 BIT A8
EX1 BIT AA
EXTI0 CODE 0003
EXTI1 CODE 0013
F0 BIT D5
G51H CODE 00B8 60
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
MAIN CODE 0030 4
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
RDT CODE 009F 50
REN BIT 9C
RESET CODE 0000
RI BIT 98
RS0 BIT D3
RS1 BIT D4
RTRS CODE 00BA 61
RTRS1 CODE 00D6 75
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 4
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
RXD BIT B0
RX_ADDR CODE 0093 45
RX_DT CODE 00C4 66
RX_DT1 CODE 00A7 53
RX_PAR CODE 00DE 79
SBUF DATA 99
SCON DATA 98
SET_NM1 CODE 004D 15
SET_NM2 CODE 0064 25
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
TRS CODE 0077 34
TXD BIT B1
TX_ADDR CODE 008A 41
WAIT1 CODE 008E 43
WAIT2 CODE 00A2 51
WAIT3 CODE 00BF 64
WAIT4 CODE 00D9 77
WR BIT B6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -