📄 122.lst
字号:
149 ;******************************************************************
150
00EE EA 151 LOOP2: MOV A,R2 ;秒数装入A
00EF C4 152 SWAP A ;交换个位与十位
00F0 540F 153 ANL A,#0FH ;取出十位数
00F2 93 154 MOVC A,@A+DPTR ;查表
00F3 F580 155 MOV P0,A ;送字段
00F5 75A0FB 156 MOV P2,#11111011B ;送字位码
00F8 75A0FF 157 MOV P2,#0FFH ;避免影响,关字段
158
159
160 ;******************************************************************
161 ; 南北个位数码管扫描
162 ;******************************************************************
00FB EB 163 LOOP3: MOV A,R3 ;秒数装入A
00FC 540F 164 ANL A,#0FH ;取出个位数
00FE 93 165 MOVC A,@A+DPTR ;查表
00FF F580 166 MOV P0,A ;送字段
0101 75A0FD 167 MOV P2,#11111101B ;送字位码
0104 75A0FF 168 MOV P2,#0FFH ;避免影响,关字段
0107 F3 169 MOVX @R1,A
170
171 ;******************************************************************
172 ; 南北十位数码管扫描
173 ;******************************************************************
174
0108 EB 175 LOOP4: MOV A,R3 ;秒数装入A
0109 C4 176 SWAP A ;交换个位与十位
010A 540F 177 ANL A,#0FH ;取出十位数
010C 93 178 MOVC A,@A+DPTR ;查表
010D F580 179 MOV P0,A ;送字段
010F 75A0FE 180 MOV P2,#11111110B ;送字位码
0112 75A0FF 181 MOV P2,#0FFH ;避免影响,关字段
0115 108D02 182 JBC TF0,TIME0
0118 80C8 183 SJMP LOOP1 ;循环扫描数码管
184
185 ;******************************************************************
186 ; 中断响应程序
187 ;******************************************************************
188
011A 758C3C 189 TIME0: MOV TH0,#3CH ;装入初值
011D 758AB0 190 MOV TL0,#0B0H
A51 MACRO ASSEMBLER 122 07/06/07 23:08:40 PAGE 4
0120 D53202 191 DJNZ 32H,DS1 ;判断中断循环次数
192 ;CLR TR0 ;循环结束停定时器
0123 8003 193 SJMP JISHU ;跳转到计数多分支程序
0125 0200E2 194 DS1: LJMP LOOP1 ;循环未继续,继续扫描数码管
195
196 ;******************************************************************
197 ; 计数多分支段
198 ;******************************************************************
199
0128 753214 200 JISHU: MOV 32H,#14H ;定时循环重装初值
201
202
012B EA 203 MOV A,R2
012C 9401 204 SUBB A,#01H ;30H整形
012E FA 205 MOV R2,A
012F 30D604 206 JNB AC,DP1
0132 EA 207 MOV A,R2
0133 9406 208 SUBB A,#06H
0135 FA 209 MOV R2,A
210
0136 EB 211 DP1: MOV A,R3
0137 9401 212 SUBB A,#01H
0139 FB 213 MOV R3,A ;31H整形
013A 30D604 214 JNB AC,DP4
013D EB 215 MOV A,R3
013E 9406 216 SUBB A,#06H
0140 FB 217 MOV R3,A
218
219
0141 220 DP4: ;SETB TR0
0141 200018 221 JB 00H,DP5 ;东西 OR 南北判断
222
0144 20010C 223 JB 01H,DP6 ;判断黄灯是否开始闪烁
0147 BA0098 224 CJNE R2,#00H,LOOP1 ;秒数未到,继续扫描数码管
014A BB0003 225 CJNE R3,#00H,DP8 ;绿灯秒数到,红灯未到,跳转到黄灯初启化
014D 02009C 226 LJMP JOD4 ;红灯时间到,转绿灯
0150 020068 227 DP8: LJMP JOD1 ;
228
229
0153 200203 230 DP6: JB 02H,DP7 ;黄灯闪烁分支
0156 02006E 231 LJMP JOD5
0159 020085 232 DP7: LJMP JOD6
233
234
235
015C 20010C 236 DP5: JB 01H,DP10 ;南北
015F BB0080 237 CJNE R3,#00H,LOOP1
0162 BA0003 238 CJNE R2,#00H,DP9
0165 020055 239 LJMP JOD3
0168 0200AF 240 DP9: LJMP JOD7
241
016B 200203 242 DP10: JB 02H,DP11
016E 0200B5 243 LJMP JOD2
0171 0200CA 244 DP11: LJMP JOD8
245
246
0174 C0F9A4B0 247 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
0178 999282F8
017C 8090
248
249
250 END
A51 MACRO ASSEMBLER 122 07/06/07 23:08:40 PAGE 5
XREF SYMBOL TABLE LISTING
---- ------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES / REFERENCES
AC . . . . . . . . B ADDR 00D0H.6 A 206 214
DP1. . . . . . . . C ADDR 0136H A 206 211#
DP10 . . . . . . . C ADDR 016BH A 236 242#
DP11 . . . . . . . C ADDR 0171H A 242 244#
DP4. . . . . . . . C ADDR 0141H A 214 220#
DP5. . . . . . . . C ADDR 015CH A 221 236#
DP6. . . . . . . . C ADDR 0153H A 223 230#
DP7. . . . . . . . C ADDR 0159H A 230 232#
DP8. . . . . . . . C ADDR 0150H A 225 227#
DP9. . . . . . . . C ADDR 0168H A 238 240#
DS1. . . . . . . . C ADDR 0125H A 191 194#
DX1. . . . . . . . C ADDR 0080H A 65 67#
DX2. . . . . . . . C ADDR 0097H A 79 81#
DX3. . . . . . . . C ADDR 00C5H A 115 117#
DX4. . . . . . . . C ADDR 00DAH A 128 130#
JISHU. . . . . . . C ADDR 0128H A 193 200#
JOD0 . . . . . . . C ADDR 0030H A 12#
JOD1 . . . . . . . C ADDR 0068H A 53# 227
JOD2 . . . . . . . C ADDR 00B5H A 108# 243
JOD3 . . . . . . . C ADDR 0055H A 40# 239
JOD4 . . . . . . . C ADDR 009CH A 89# 226
JOD5 . . . . . . . C ADDR 006EH A 57# 231
JOD6 . . . . . . . C ADDR 0085H A 71# 232
JOD7 . . . . . . . C ADDR 00AFH A 104# 240
JOD8 . . . . . . . C ADDR 00CAH A 121# 244
LOOP0. . . . . . . C ADDR 00DFH A 49 66 68 80 82 98 116 118 129 131 135#
LOOP1. . . . . . . C ADDR 00E2H A 141# 183 194 224 237
LOOP2. . . . . . . C ADDR 00EEH A 151#
LOOP3. . . . . . . C ADDR 00FBH A 163#
LOOP4. . . . . . . C ADDR 0108H A 175#
P0 . . . . . . . . D ADDR 0080H A 144 155 166 179
P2 . . . . . . . . D ADDR 00A0H A 145 146 156 157 167 168 180 181
SP . . . . . . . . D ADDR 0081H A 12
TAB. . . . . . . . C ADDR 0174H A 135 247#
TF0. . . . . . . . B ADDR 0088H.5 A 182
TH0. . . . . . . . D ADDR 008CH A 23 189
TIME0. . . . . . . C ADDR 011AH A 182 189#
TL0. . . . . . . . D ADDR 008AH A 24 190
TMOD . . . . . . . D ADDR 0089H A 22
TR0. . . . . . . . B ADDR 0088H.4 A 35
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -