📄 mei.lst
字号:
A51 MACRO ASSEMBLER MEI 06/06/2007 16:33:57 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN mei.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE mei.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;********************************
2 ;* 文件: mei.asm
3 ;* 开发: xieweizhi
4 ;* 日期: 2007.06
5 ;* 功能: 实现联动门功能
6 ;********************************
7
8 ;$nomod51
9 ;$include<reg51.inc>
10
11 ;**********位定义****************
0090 12 SIG_LOCK1 EQU P1.0 ;门1开锁信号,高电平开,低电平关
0091 13 SIG_PASS1 EQU P1.1 ;门1密码信号,密码有效为高
0092 14 LOCK1 EQU P1.2 ;门1开关信号,关上为低,打开为高
0093 15 SIG_LOCK2 EQU P1.3
0094 16 SIG_PASS2 EQU P1.4
0095 17 LOCK2 EQU P1.5
18
0080 19 SIG_LOCK3 EQU P0.0
0081 20 SIG_PASS3 EQU P0.1
0082 21 LOCK3 EQU P0.2
0083 22 SIG_LOCK4 EQU P0.3
0084 23 SIG_PASS4 EQU P0.4
0085 24 LOCK4 EQU P0.5 ;以上与门1类同
25
00B6 26 S1 EQU P3.6
00B5 27 S2 EQU P3.5
00B4 28 S3 EQU P3.4
00B3 29 S4 EQU P3.3
00B2 30 S5 EQU P3.2
00B1 31 S6 EQU P3.1
00B0 32 S7 EQU P3.0
0097 33 S8 EQU P1.7
0096 34 S9 EQU P1.6
0086 35 AudioLL EQU P0.6
0087 36 AudioRR EQU P0.7
00A3 37 S12 EQU P2.3
00A2 38 S13 EQU P2.2
00A1 39 S14 EQU P2.1
00A0 40 S15 EQU P2.0
00B7 41 powerCON EQU P3.7
42
00A7 43 KEY1 EQU P2.7 ;紧急全锁按钮
00A6 44 KEY2 EQU P2.6 ;紧急全开按钮
00A5 45 KEY3 EQU P2.5 ;单门开启按钮
00A4 46 KEY4 EQU P2.4 ;
47
48 ;********************************
0000 49 ORG 0000H
0000 2100 50 AJMP MAIN
0100 51 ORG 0100H
52 ;***********主程序开始***********
0100 758160 53 MAIN: MOV SP,#60H
0103 850090 54 MOV P1,00H ;置P1初始信号
0106 850080 55 MOV P0,00H ;置P0初始信号
0109 850FA0 56 MOV P2,0FH ;置P2初始信号
010C 7800 57 MOV R0,#0 ;标置位
010E 1201A9 58 LCALL DELAY_11
A51 MACRO ASSEMBLER MEI 06/06/2007 16:33:57 PAGE 2
0111 E8 59 START: MOV A,R0
0112 7068 60 JNZ ALL_CLOSE ;进入全锁
0114 209111 61 JB SIG_PASS1, DOOR1B ;开1B门
0117 209423 62 JB SIG_PASS2, DOOR1A ;开1A门
011A 208135 63 JB SIG_PASS3, DOOR2A ;开2A门
011D 208447 64 JB SIG_PASS4, DOOR2B ;开2B门
0120 20A759 65 JB KEY1, ALL_CLOSE ;进入全锁
0123 20A669 66 JB KEY2, ALL_OPEN ;进入全开
67
0126 2100 68 AJMP MAIN
69 ;********开1B门程序************
0128 70 DOOR1B:
0128 3091FD 71 JNB SIG_PASS1,DOOR1B
012B C291 72 CLR SIG_PASS1
012D D290 73 SETB SIG_LOCK1 ;开门
012F 1201A9 74 LCALL DELAY_11
0132 C290 75 CLR SIG_LOCK1
0134 1201A9 76 LCALL DELAY_11
0137 C290 77 CLR SIG_LOCK1 ;关门
0139 2091EC 78 JB SIG_PASS1,DOOR1B
013C 22 79 RET
80
81 ;********开1A门程序************
013D 82 DOOR1A:
013D 3094FD 83 JNB SIG_PASS2,DOOR1A
0140 C294 84 CLR SIG_PASS2
0142 D293 85 SETB SIG_LOCK2 ;开门
0144 1201A9 86 LCALL DELAY_11
0147 C293 87 CLR SIG_LOCK2
0149 1201A9 88 LCALL DELAY_11
014C C293 89 CLR SIG_LOCK2
014E 2094D7 90 JB SIG_PASS2,DOOR1B
0151 22 91 RET
92
93
94 ;********开2A门程序************
0152 95 DOOR2A:
0152 3081FD 96 JNB SIG_PASS3,DOOR2A
0155 C281 97 CLR SIG_PASS3
0157 D280 98 SETB SIG_LOCK3 ;开门
0159 1201A9 99 LCALL DELAY_11
015C C280 100 CLR SIG_LOCK3
015E 1201A9 101 LCALL DELAY_11
0161 C280 102 CLR SIG_LOCK3
0163 2081C2 103 JB SIG_PASS3,DOOR1B
0166 22 104 RET
105
106
107 ;********开2B门程序************
0167 108 DOOR2B:
0167 3084FD 109 JNB SIG_PASS4,DOOR2B
016A C284 110 CLR SIG_PASS4
016C D283 111 SETB SIG_LOCK4 ;开门
016E 1201A9 112 LCALL DELAY_11
0171 C283 113 CLR SIG_LOCK4
0173 1201A9 114 LCALL DELAY_11
0176 C283 115 CLR SIG_LOCK4
0178 2084AD 116 JB SIG_PASS4,DOOR1B
017B 22 117 RET
118
119
120 ;************全锁************
017C 121 ALL_CLOSE:
017C 30A7FD 122 JNB KEY1,ALL_CLOSE
017F C290 123 CLR SIG_LOCK1
0181 C293 124 CLR SIG_LOCK2
A51 MACRO ASSEMBLER MEI 06/06/2007 16:33:57 PAGE 3
0183 C280 125 CLR SIG_LOCK3
0185 C283 126 CLR SIG_LOCK4
0187 7801 127 MOV R0,#1
0189 1201A9 128 LCALL DELAY_11
018C 12018F 129 LCALL ALL_OPEN
130
131
132 ;************全开************
018F 133 ALL_OPEN:
018F 30A6FD 134 JNB KEY2,ALL_OPEN
0192 D290 135 SETB SIG_LOCK1
0194 D290 136 SETB SIG_LOCK1
0196 D290 137 SETB SIG_LOCK1
0198 D290 138 SETB SIG_LOCK1
019A 1201A9 139 LCALL DELAY_11
019D C290 140 CLR SIG_LOCK1
019F C293 141 CLR SIG_LOCK2
01A1 C280 142 CLR SIG_LOCK3
01A3 C283 143 CLR SIG_LOCK4
01A5 7800 144 MOV R0,#0
01A7 2111 145 AJMP START
146
147
148 ;************延时程序********
01A9 149 DELAY_11:
150
151
152
153
154
155
156
157 END
A51 MACRO ASSEMBLER MEI 06/06/2007 16:33:57 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ALL_CLOSE. . . . . C ADDR 017CH A
ALL_OPEN . . . . . C ADDR 018FH A
AUDIOLL. . . . . . B ADDR 0080H.6 A
AUDIORR. . . . . . B ADDR 0080H.7 A
DELAY_11 . . . . . C ADDR 01A9H A
DOOR1A . . . . . . C ADDR 013DH A
DOOR1B . . . . . . C ADDR 0128H A
DOOR2A . . . . . . C ADDR 0152H A
DOOR2B . . . . . . C ADDR 0167H A
KEY1 . . . . . . . B ADDR 00A0H.7 A
KEY2 . . . . . . . B ADDR 00A0H.6 A
KEY3 . . . . . . . B ADDR 00A0H.5 A
KEY4 . . . . . . . B ADDR 00A0H.4 A
LOCK1. . . . . . . B ADDR 0090H.2 A
LOCK2. . . . . . . B ADDR 0090H.5 A
LOCK3. . . . . . . B ADDR 0080H.2 A
LOCK4. . . . . . . B ADDR 0080H.5 A
MAIN . . . . . . . C ADDR 0100H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
POWERCON . . . . . B ADDR 00B0H.7 A
S1 . . . . . . . . B ADDR 00B0H.6 A
S12. . . . . . . . B ADDR 00A0H.3 A
S13. . . . . . . . B ADDR 00A0H.2 A
S14. . . . . . . . B ADDR 00A0H.1 A
S15. . . . . . . . B ADDR 00A0H.0 A
S2 . . . . . . . . B ADDR 00B0H.5 A
S3 . . . . . . . . B ADDR 00B0H.4 A
S4 . . . . . . . . B ADDR 00B0H.3 A
S5 . . . . . . . . B ADDR 00B0H.2 A
S6 . . . . . . . . B ADDR 00B0H.1 A
S7 . . . . . . . . B ADDR 00B0H.0 A
S8 . . . . . . . . B ADDR 0090H.7 A
S9 . . . . . . . . B ADDR 0090H.6 A
SIG_LOCK1. . . . . B ADDR 0090H.0 A
SIG_LOCK2. . . . . B ADDR 0090H.3 A
SIG_LOCK3. . . . . B ADDR 0080H.0 A
SIG_LOCK4. . . . . B ADDR 0080H.3 A
SIG_PASS1. . . . . B ADDR 0090H.1 A
SIG_PASS2. . . . . B ADDR 0090H.4 A
SIG_PASS3. . . . . B ADDR 0080H.1 A
SIG_PASS4. . . . . B ADDR 0080H.4 A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0111H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -