📄 alarm.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: ALARM.ASM
Object File: ALARM.HEX
List File: ALARM.LST
Line I Addr Code Source
1: ;本程序是一个以89C51为核心的声光报警器控制程序
2: ;系统的晶振频率12MHz,外界报警触发脉冲接至INT0,报警复位按钮接P1.2,喇叭接P1.1
3: ;当外界报警脉冲触发报警后,LED(接P1.0)以1Hz的频率闪动,同时喇叭种发出"Wu,Wa......"的警笛声
4: ;该声音由1kHz和500Hz方波以0.5秒为间隔交替发声
5: ;值班人员按动报警复位钮后声光报警停止。
6: N 00 HISOUND BIT 00H ;高音标志
7: B 90 LED BIT P1.0 ;驱动LED接口
8: B 91 SPEAKER BIT P1.1 ;喇叭
9: B 92 STOP BIT P1.2 ;复位按钮
10: N 000A BR2 EQU 0AH ;1区R2
11: N 0000 ORG 0
12: 0000 02 00 30 LJMP START
13: N 0003 ORG 3
14: 0003 02 00 6C LJMP ALARM
15: N 000B ORG 0BH
16: 000B 02 00 71 LJMP T0S
17: N 001B ORG 1BH
18: 001B 02 00 89 LJMP T1S
19: N 0030 ORG 30H
20: 0030 75 81 60 START: MOV SP,#60H
21: 0033 75 0A 0A MOV BR2,#10
22: 0036 D2 88 SETB IT0
23: 0038 D2 A9 SETB ET0
24: 003A D2 AB SETB ET1
25: 003C D2 A8 SETB EX0
26: 003E D2 B9 SETB PT0
27: 0040 D2 AF SETB EA
28: 0042 D2 00 SETB HISOUND
29: 0044 D2 90 SETB LED ;熄灭LED
30: 0046 C2 91 CLR SPEAKER
31: 0048 75 89 11 MOV TMOD,#11H
32: 004B 75 8C FE MOV TH0,#0FEH
33: 004E 75 8A 0C MOV TL0,#0CH
34: 0051 75 8D 3C MOV TH1,#3CH
35: 0054 75 8B B0 MOV TL1,#0B0H
36: 0057 D2 92 SETB STOP ;允许报警复位按钮输入
37: 0059 20 92 FD LOOP: JB STOP,LOOP
38: 005C 12 00 A4 LCALL DELAY ;消除开关抖动
39: 005F 20 92 F7 JB STOP,LOOP
40: 0062 C2 8C CLR TR0
41: 0064 C2 8E CLR TR1
42: 0066 D2 90 SETB LED ;熄灭LED
43: 0068 C2 91 CLR SPEAKER
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 006A 80 ED SJMP LOOP
45: 006C D2 8C ALARM: SETB TR0
46: 006E D2 8E SETB TR1
47: 0070 32 RETI
48: 0071 C2 8C T0S: CLR TR0
49: 0073 20 00 08 JB HISOUND,T0S1
50: 0076 75 8C FC MOV TH0,#0FCH
51: 0079 75 8A 18 MOV TL0,#18H
52: 007C 80 06 SJMP T0S2
53: 007E 75 8C FE T0S1: MOV TH0,#0FEH
54: 0081 75 8A 0C MOV TL0,#0CH
55: 0084 D2 8C T0S2: SETB TR0
56: 0086 B2 91 CPL SPEAKER
57: 0088 32 RETI
58: 0089 C0 D0 T1S: PUSH PSW
59: 008B D2 D3 SETB RS0
60: 008D C2 D4 CLR RS1
61: 008F C2 8E CLR TR1
62: 0091 75 8D 3C MOV TH1,#3CH
63: 0094 75 8B B0 MOV TL1,#0B0H
64: 0097 D2 8E SETB TR1
65: 0099 DA 06 DJNZ R2,T1S1
66: 009B 7A 0A MOV R2,#10
67: 009D B2 00 CPL HISOUND
68: 009F B2 90 CPL LED
69: 00A1 D0 D0 T1S1: POP PSW
70: 00A3 32 RETI
71: 00A4 7E 14 DELAY: MOV R6,#20
72: 00A6 7F FA L1: MOV R7,#250
73: 00A8 00 L2: NOP
74: 00A9 00 NOP
75: 00AA DF FC DJNZ R7,L2
76: 00AC DE F8 DJNZ R6,L1
77: 00AE 22 RET
78: 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
ALARM CODE 006C 45
B DATA F0
BR2 NUMBER 000A 10
CY BIT D7
DELAY CODE 00A4 71
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
HISOUND BIT 00 6
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 00A6 72
L2 CODE 00A8 73
LED BIT 90 7
LOOP CODE 0059 37
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
SINT CODE 0023
SM0 BIT 9F
SM1 BIT 9E
SM2 BIT 9D
SP DATA 81
SPEAKER BIT 91 8
START CODE 0030 20
STOP BIT 92 9
T0 BIT B4
T0S CODE 0071 48
T0S1 CODE 007E 53
T0S2 CODE 0084 55
T1 BIT B5
T1S CODE 0089 58
T1S1 CODE 00A1 69
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 + -