📄 ick.lst
字号:
MCS-51 MACRO ASSEMBLER ICK 04/28/:2 PAGE 1
DOS 7.10 (038-N) MCS-51 MACRO ASSEMBLER, V2.2
OBJECT MODULE PLACED IN ICK.OBJ
ASSEMBLER INVOKED BY: C:\ALL07D\ASM51.EXE ICK.ASM
LOC OBJ LINE SOURCE
1 ;*************************************************************
2 ; P3.0 IS LIE 1
3 ; P3.1 IS LIE 2
4 ; P3.2 IS LIE 3
5 ; P3.3 IS LIE 4
6 ; P3.4 IS HANG 1
7 ; P3.5 IS HANG 2
8 ; P3.6 IS HANG 3
9 ; P3.7 IS HANG 4
10 ;*************************************************************
11 ; 5EH SAVE LOW DATA
12 ; 5FH SAVE HIGH DATA
13 ; 60H SAVE LOWER ADDRESS
14 ; 61H SAVE LOW ADDRESS
15 ; 62H SAVE HIGH ADDRESS
16 ; 63H SAVE HIGHER ADDRESS
17 ; 64H SAVE SURE ADDRESS
18 ; 65H SAVE READ_OUT_DATA OF IC1
19 ; 66H SAVE READ_OUT_DATA OF IC2
20 ; 67H SAVE INPUT NUMBER
21 ; 68H SAVE R4(60H,61H) OF START_ADDRESS
22 ; 69H SAVE 62H OF START_ADDRESS
23 ; 6AH SAVE R4(60H,61H) OF END_ADDRESS
24 ; 6BH SAVE 62H OF END_ADDRESS
25 ; 6CH SAVE PAGE_READ NUMBER
26 ;*************************************************************
27 ; SCL EQU P1.0
28 ; SDA1 EQU P1.1
29 ; SDA2 EQU P1.2
30 ; NEXT_KEY EQU P1.3
31 ; SURE_KEY EQU P1.4
32 ; COM_KEY EQU P1.5
33 ; READ_KEY EQU P1.6
34 ;REDUCE/S_E_KEY EQU P1.7
35 ; OK_KEY EQU P2.6
36 ; FALSE_KEY EQU P2.7
37 ;*************************************************************
0000 38 ORG 0000H
0000 0150 39 AJMP MAIN
000B 40 ORG 000BH
000B 8184 41 AJMP ITOP
0050 42 ORG 0050H
0050 758900 43 MAIN:MOV TMOD,#00H ;T0 WORK AT MODE0.
0053 758CD8 44 MOV TH0,#0D8H
0056 758AF0 45 MOV TL0,#0F0H
0059 756700 46 MOV 67H,#00H
005C 756300 47 MOV 63H,#00H
005F 756200 48 MOV 62H,#00H
0062 756100 49 MOV 61H,#00H
0065 756002 50 MOV 60H,#02H
MCS-51 MACRO ASSEMBLER ICK 04/28/:2 PAGE 2
LOC OBJ LINE SOURCE
0068 755F0F 51 MOV 5FH,#0FH
006B 755E0F 52 MOV 5EH,#0FH
006E 7863 53 MOV R0,#63H
0070 7975 54 MOV R1,#75H
0072 753200 55 MOV 32H,#00H
0075 7550DF 56 MOV 50H,#0DFH
0078 755106 57 MOV 51H,#06H
007B D2AF 58 SETB EA
007D D2A9 59 SETB ET0
007F D28C 60 JUDGE:SETB TR0
0081 12010F 61 LCALL KEY_BOARD
0084 30930F 62 JNB P1.3,NEXT ;NEXT_KEY PRESSED?
0087 309753 63 JNB P1.7,REDUCE ;REDUCE/S_E_KEY PRESSED?
008A 309507 64 JNB P1.5,COM1
008D 309602 65 JNB P1.6,READ1
0090 017F 66 AJMP JUDGE
0092 6190 67 READ1:AJMP READ_IC
0094 419D 68 COM1:AJMP COM
69 ;*************************************************************
0096 1205E6 70 NEXT:LCALL DLY100MS
0099 309302 71 JNB P1.3,NEXT_ADDRESS
009C 017F 72 AJMP JUDGE
009E 3093FD 73 NEXT_ADDRESS:JNB P1.3,$
00A1 1200A6 74 LCALL NEXT_SUB
00A4 017F 75 AJMP JUDGE
00A6 E560 76 NEXT_SUB:MOV A,60H
00A8 C3 77 CLR C
00A9 940F 78 SUBB A,#0FH
00AB 7025 79 JNZ ENABLE_GJIA_1
00AD 756000 80 JINGWEI1:MOV 60H,#00H
00B0 E561 81 MOV A,61H
00B2 C3 82 CLR C
00B3 940F 83 SUBB A,#0FH
00B5 701F 84 JNZ ENABLE_SJIA_1
00B7 756000 85 JINGWEI2:MOV 60H,#00H
00BA 756100 86 MOV 61H,#00H
00BD E562 87 MOV A,62H
00BF C3 88 CLR C
00C0 940F 89 SUBB A,#0FH
00C2 7016 90 JNZ ENABLE_QJIA_1
00C4 756300 91 JINGWEI3:MOV 63H,#00H
00C7 756000 92 MOV 60H,#00H
00CA 756100 93 MOV 61H,#00H
00CD 756200 94 MOV 62H,#00H
00D0 800A 95 SJMP OUT_JIA
00D2 0560 96 ENABLE_GJIA_1:INC 60H
00D4 8006 97 SJMP OUT_JIA
00D6 0561 98 ENABLE_SJIA_1:INC 61H
00D8 8002 99 SJMP OUT_JIA
00DA 0562 100 ENABLE_QJIA_1:INC 62H
00DC 22 101 OUT_JIA:RET
102 ;*************************************************************
00DD 1205E6 103 REDUCE:LCALL DLY100MS
00E0 309702 104 JNB P1.7,REDUCE_ADDRESS
00E3 017F 105 AJMP JUDGE
MCS-51 MACRO ASSEMBLER ICK 04/28/:2 PAGE 3
LOC OBJ LINE SOURCE
00E5 3097FD 106 REDUCE_ADDRESS:JNB P1.7,$
00E8 1200ED 107 LCALL REDUCE_SUB
00EB 017F 108 AJMP JUDGE
00ED E560 109 REDUCE_SUB:MOV A,60H
00EF 700A 110 JNZ ENABLE_GJIAN_1
00F1 E561 111 MOV A,61H ;61H EQUAL ZERO
00F3 700A 112 JNZ ENABLE_SJIAN_1
00F5 E562 113 MOV A,62H ;62H AND 62H EQUAL ZERO
00F7 700D 114 JNZ ENABLE_QJIAN_1
115 ; MOV A,63H ;63H,62H AND 61H EQUAL ZERO
116 ; JNZ ENABLE_WJIAN_1
00F9 8013 117 SJMP OUT_JIAN ;63H,62H,61H,60H ALL EQUAL ZERO,JMP JUDGE
00FB 1560 118 ENABLE_GJIAN_1:DEC 60H
00FD 800F 119 SJMP OUT_JIAN
00FF 75600F 120 ENABLE_SJIAN_1:MOV 60H,#0FH
0102 1561 121 DEC 61H
0104 8008 122 SJMP OUT_JIAN
0106 75600F 123 ENABLE_QJIAN_1:MOV 60H,#0FH
0109 75610F 124 MOV 61H,#0FH
010C 1562 125 DEC 62H
126 ; ENABLE_WJIAN_1:MOV 60H,#0FH
127 ; MOV 61H,#0FH
128 ; MOV 62H,#0FH
129 ; DEC 63H
010E 22 130 OUT_JIAN:RET
131 ;*************************************************************
132 ; CHECK_IC_TYPE:CLR TR0
133 ; LCALL ST
134 ; MOV A,#0A8H
135 ; LCALL WRBYT2
136 ; LCALL CACK
137 ; JNB F0,C16
138 ; LCALL ST
139 ; MOV A,#0A4H
140 ; LCALL WRBYT2
141 ; LCALL CACK
142 ; JNB F0,C08
143 ; LCALL ST
144 ; MOV A,#0A2H
145 ; LCALL WRBYT2
146 ; LCALL CACK
147 ; JNB F0,C04
148 ; C02:MOV A,62H
149 ; JNZ ALARM
150 ; SJMP OUT
151 ; C04:MOV A,#01H
152 ; CLR C
153 ; SUBB A,62H
154 ; JC ALARM
155 ; SJMP OUT
156 ; C08:MOV A,#03H
157 ; CLR C
158 ; SUBB A,62H
159 ; JC ALARM
160 ; SJMP OUT
MCS-51 MACRO ASSEMBLER ICK 04/28/:2 PAGE 4
LOC OBJ LINE SOURCE
161 ; C16:MOV A,#07H
162 ; CLR C
163 ; SUBB A,62H
164 ; JC ALARM
165 ; SJMP OUT
166 ; ALARM:CPL P2.7
167 ; LCALL DLY2S
168 ; OUT:SETB TR0
169 ; RET
170 ;*************************************************************
010F 75B0F0 171 KEY_BOARD:MOV P3,#0F0H ;SET LIE TO OUTPUT(LOW VOLTAGE).
0112 30B40B 172 JUG0:JNB P3.4,DLY_HANG1
0115 30B510 173 JUG1:JNB P3.5,DLY_HANG2
0118 30B615 174 JUG2:JNB P3.6,DLY_HANG3
011B 30B71A 175 JUG3:JNB P3.7,DLY_HANG4
011E 419C 176 AJMP JUMP_OUT
0120 1205D9 177 DLY_HANG1:LCALL DLY20MS
0123 30B41A 178 JNB P3.4,JUG4 ;SOME KEY ON HANG1 WAS PRESSED.
0126 419C 179 AJMP JUMP_OUT
0128 1205D9 180 DLY_HANG2:LCALL DLY20MS
012B 30B521 181 JNB P3.5,JUG5 ;SOME KEY ON HANG2 WAS PRESSED.
012E 419C 182 AJMP JUMP_OUT
0130 1205D9 183 DLY_HANG3:LCALL DLY20MS
0133 30B628 184 JNB P3.6,JUG6 ;SOME KEY ON HANG3 WAS PRESSED.
0136 419C 185 AJMP JUMP_OUT
0138 1205D9 186 DLY_HANG4:LCALL DLY20MS
013B 30B72F 187 JNB P3.7,JUG7 ;SOME HEY ON HANG4 WAS PRESSED.
013E 419C 188 AJMP JUMP_OUT
0140 75B00F 189 JUG4:MOV P3,#0FH ;SET HANG TO OUTPUT(LOW VOLTAGE)
0143 30B038 190 JNB P3.0,DLY_H1_L1 ;KEY ON HANG1 AND LIE1 WAS PRESSED?
0146 30B13D 191 JNB P3.1,DLY_H1_L2 ;KEY ON HANG1 AND LIE2 WAS PRESSED?
0149 30B242 192 JNB P3.2,DLY_H1_L3 ;KEY ON HANG1 AND LIE3 WAS PRESSED?
014C 30B347 193 JNB P3.3,DLY_H1_L4 ;KEY ON HANG1 AND LIE4 WAS PRESSED?
014F 75B00F 194 JUG5:MOV P3,#0FH
0152 30B049 195 JNB P3.0,DLY_H2_L1 ;KEY ON HANG2 AND LIE1 WAS PRESSED?
0155 30B14E 196 JNB P3.1,DLY_H2_L2 ;KEY ON HANG2 AND LIE2 WAS PRESSED?
0158 30B253 197 JNB P3.2,DLY_H2_L3 ;KEY ON HANG2 AND LIE3 WAS PRESSED?
015B 30B358 198 JNB P3.3,DLY_H2_L4 ;KEY ON HANG2 AND LIE4 WAS PRESSED?
015E 75B00F 199 JUG6:MOV P3,#0FH
0161 30B05A 200 JNB P3.0,DLY_H3_L1 ;KEY ON HANG3 AND LIE1 WAS PRESSED?
0164 30B15F 201 JNB P3.1,DLY_H3_L2 ;KEY ON HANG3 AND LIE2 WAS PRESSED?
0167 30B264 202 JNB P3.2,DLY_H3_L3 ;KEY ON HANG3 AND LIE3 WAS PRESSED?
016A 30B369 203 JNB P3.3,DLY_H3_L4 ;KEY ON HANG3 AND LIE4 WAS PRESSED?
016D 75B00F 204 JUG7:MOV P3,#0FH
0170 30B06B 205 JNB P3.0,DLY_H4_L1 ;KEY ON HANG4 AND LIE1 WAS PRESSED?
0173 30B170 206 JNB P3.1,DLY_H4_L2 ;KEY ON HANG4 AND LIE2 WAS PRESSED?
0176 30B275 207 JNB P3.2,DLY_H4_L3 ;KEY ON HANG4 AND LIE3 WAS PRESSED?
0179 30B37A 208 JNB P3.3,DLY_H4_L4 ;KEY ON HANG4 AND LIE4 WAS PRESSED?
017C 419C 209 AJMP JUMP_OUT
017E 1205F9 210 DLY_H1_L1:LCALL DLY500MS
0181 30B07A 211 JNB P3.0,KEY_0A
0184 419C 212 AJMP JUMP_OUT
0186 1205F9 213 DLY_H1_L2:LCALL DLY500MS
0189 30B174 214 JNB P3.1,KEY_1A
018C 419C 215 AJMP JUMP_OUT
MCS-51 MACRO ASSEMBLER ICK 04/28/:2 PAGE 5
LOC OBJ LINE SOURCE
018E 1205F9 216 DLY_H1_L3:LCALL DLY500MS
0191 30B26E 217 JNB P3.2,KEY_2A
0194 419C 218 AJMP JUMP_OUT
0196 1205F9 219 DLY_H1_L4:LCALL DLY500MS
0199 30B368 220 JNB P3.3,KEY_3A
019C 419C 221 AJMP JUMP_OUT
019E 1205F9 222 DLY_H2_L1:LCALL DLY500MS
01A1 30B062 223 JNB P3.0,KEY_4A
01A4 419C 224 AJMP JUMP_OUT
01A6 1205F9 225 DLY_H2_L2:LCALL DLY500MS
01A9 30B15C 226 JNB P3.1,KEY_5A
01AC 419C 227 AJMP JUMP_OUT
01AE 1205F9 228 DLY_H2_L3:LCALL DLY500MS
01B1 30B256 229 JNB P3.2,KEY_6A
01B4 419C 230 AJMP JUMP_OUT
01B6 1205F9 231 DLY_H2_L4:LCALL DLY500MS
01B9 30B350 232 JNB P3.3,KEY_7A
01BC 419C 233 AJMP JUMP_OUT
01BE 1205F9 234 DLY_H3_L1:LCALL DLY500MS
01C1 30B04A 235 JNB P3.0,KEY_8A
01C4 419C 236 AJMP JUMP_OUT
01C6 1205F9 237 DLY_H3_L2:LCALL DLY500MS
01C9 30B144 238 JNB P3.1,KEY_9A
01CC 419C 239 AJMP JUMP_OUT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -