📄 digital clock (2).lst
字号:
01A8 E531 209 MOV A,MINUTE
01AA A939 210 MOV R1,ALARM
01AC B9010A 211 CJNE R1,#01H,B30
01AF B53707 212 CJNE A,A_MIN,B30
01B2 E532 213 MOV A,HOUR ;显示小时
01B4 B53802 214 CJNE A,A_HOU,B30
01B7 B297 215 CPL P1.7
01B9 E532 216 B30: MOV A,HOUR
01BB 75F00A 217 MOV B,#10
01BE 84 218 DIV AB
01BF C2B0 219 CLR P3.0
01C1 93 220 MOVC A,@A+DPTR
01C2 F580 221 MOV P0,A
01C4 1202AD 222 LCALL DELAY
01C7 D2B0 223 SETB P3.0
01C9 E5F0 224 MOV A,B
01CB C2B1 225 CLR P3.1
01CD 93 226 MOVC A,@A+DPTR
01CE F580 227 MOV P0,A
01D0 1202AD 228 LCALL DELAY
01D3 D2B1 229 SETB P3.1
01D5 22 230 RET
231
01D6 3F065B4F 232 TABLE: DB 3FH,06H,5BH,4FH,66H
01DA 66
01DB 6D7D077F 233 DB 6DH,7DH,07H,7FH,6FH
01DF 6F
234 ;****************************************************
235 ;闹铃显示子程序
01E0 753901 236 DISPLAY_ALARM: MOV ALARM,#1H
01E3 9001D6 237 MOV DPTR,#TABLE
01E6 E536 238 MOV A,A_SEC ;显示秒
01E8 75F00A 239 MOV B,#10
01EB 84 240 DIV AB
01EC C2B6 241 CLR P3.6
01EE 93 242 MOVC A,@A+DPTR
01EF F580 243 MOV P0,A
01F1 1202AD 244 LCALL DELAY
01F4 D2B6 245 SETB P3.6
01F6 E5F0 246 MOV A,B
01F8 C2B7 247 CLR P3.7
01FA 93 248 MOVC A,@A+DPTR
01FB F580 249 MOV P0,A
01FD 1202AD 250 LCALL DELAY
0200 D2B7 251 SETB P3.7
252
A51 MACRO ASSEMBLER DIGITAL_CLOCK__2_ 10/07/2008 21:27:26 PAGE 5
0202 C2B5 253 CLR P3.5
0204 758040 254 MOV P0,#40H ;显示分隔符
0207 1202AD 255 LCALL DELAY
020A D2B5 256 SETB P3.5
257
020C E537 258 MOV A,A_MIN ;显示分钟
020E 75F00A 259 MOV B,#10
0211 84 260 DIV AB
0212 C2B3 261 CLR P3.3
0214 93 262 MOVC A,@A+DPTR
0215 F580 263 MOV P0,A
0217 1202AD 264 LCALL DELAY
021A D2B3 265 SETB P3.3
021C E5F0 266 MOV A,B
021E C2B4 267 CLR P3.4
0220 93 268 MOVC A,@A+DPTR
0221 F580 269 MOV P0,A
0223 1202AD 270 LCALL DELAY
0226 D2B4 271 SETB P3.4
272
0228 C2B2 273 CLR P3.2
022A 758040 274 MOV P0,#40H ;显示分隔符
022D 1202AD 275 LCALL DELAY
0230 D2B2 276 SETB P3.2
277
0232 E538 278 MOV A,A_HOU ;显示小时
0234 75F00A 279 MOV B,#10
0237 84 280 DIV AB
0238 C2B0 281 CLR P3.0
023A 93 282 MOVC A,@A+DPTR
023B F580 283 MOV P0,A
023D 1202AD 284 LCALL DELAY
0240 D2B0 285 SETB P3.0
0242 E5F0 286 MOV A,B
0244 C2B1 287 CLR P3.1
0246 93 288 MOVC A,@A+DPTR
0247 F580 289 MOV P0,A
0249 1202AD 290 LCALL DELAY
024C D2B1 291 SETB P3.1
024E 22 292 RET
293
294 ;****************************************************
295 ;闹铃清零显示子程序
024F 753600 296 INT_ALARM: MOV A_SEC,#0 ;闹铃初始化为分隔
符
0252 753700 297 MOV A_MIN,#0
0255 753800 298 MOV A_HOU,#0
0258 753900 299 MOV ALARM,#0
025B C2B6 300 CLR P3.6
025D 758040 301 MOV P0,#40H
0260 1202AD 302 LCALL DELAY
0263 D2B6 303 SETB P3.6
304
0265 C2B7 305 CLR P3.7
0267 758040 306 MOV P0,#40H
026A 1202AD 307 LCALL DELAY
026D D2B7 308 SETB P3.7
309
026F C2B5 310 CLR P3.5
0271 758040 311 MOV P0,#40H ;显示分隔符
0274 1202AD 312 LCALL DELAY
0277 D2B5 313 SETB P3.5
314
0279 C2B3 315 CLR P3.3
027B 758040 316 MOV P0,#40H
027E 1202AD 317 LCALL DELAY
A51 MACRO ASSEMBLER DIGITAL_CLOCK__2_ 10/07/2008 21:27:26 PAGE 6
0281 D2B3 318 SETB P3.3
0283 C2B4 319 CLR P3.4
0285 758040 320 MOV P0,#40H
0288 1202AD 321 LCALL DELAY
028B D2B4 322 SETB P3.4
323
028D C2B2 324 CLR P3.2
028F 758040 325 MOV P0,#40H ;显示分隔符
0292 1202AD 326 LCALL DELAY
0295 D2B2 327 SETB P3.2
328
0297 C2B0 329 CLR P3.0
0299 93 330 MOVC A,@A+DPTR
029A 758040 331 MOV P0,#40H
029D 1202AD 332 LCALL DELAY
02A0 D2B0 333 SETB P3.0
334
02A2 C2B1 335 CLR P3.1
02A4 758040 336 MOV P0,#40H
02A7 1202AD 337 LCALL DELAY
02AA D2B1 338 SETB P3.1
02AC 22 339 RET
340
341
02AD 7E0A 342 DELAY: MOV R6,#10
02AF 7FFA 343 D1: MOV R7,#250
02B1 DFFE 344 DJNZ R7,$
02B3 DEFA 345 DJNZ R6,D1
02B5 22 346 RET
347
348 END
A51 MACRO ASSEMBLER DIGITAL_CLOCK__2_ 10/07/2008 21:27:26 PAGE 7
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
A1 . . . . . . . . C ADDR 0034H A
ALARM. . . . . . . N NUMB 0039H A
A_DISP . . . . . . B ADDR 0090H.3 A
A_HOU. . . . . . . N NUMB 0038H A
A_H_SET. . . . . . B ADDR 0090H.6 A
A_MIN. . . . . . . N NUMB 0037H A
A_M_SET. . . . . . B ADDR 0090H.5 A
A_SEC. . . . . . . N NUMB 0036H A
A_S_SET. . . . . . B ADDR 0090H.4 A
B. . . . . . . . . D ADDR 00F0H A
B20. . . . . . . . C ADDR 0182H A
B30. . . . . . . . C ADDR 01B9H A
D1 . . . . . . . . C ADDR 02AFH A
DELAY. . . . . . . C ADDR 02ADH A
DISPLAY. . . . . . C ADDR 0148H A
DISPLAY_ALARM. . . C ADDR 01E0H A
HOUR . . . . . . . N NUMB 0032H A
H_SET. . . . . . . B ADDR 0090H.2 A
IE . . . . . . . . D ADDR 00A8H A
INT_ALARM. . . . . C ADDR 024FH A
INT_T0 . . . . . . C ADDR 0110H A
J0 . . . . . . . . C ADDR 00CCH A
J1 . . . . . . . . C ADDR 00D4H A
J2 . . . . . . . . C ADDR 00DEH A
J3 . . . . . . . . C ADDR 00E8H A
J4 . . . . . . . . C ADDR 00F2H A
J5 . . . . . . . . C ADDR 00FCH A
J6 . . . . . . . . C ADDR 0106H A
K1 . . . . . . . . C ADDR 0068H A
K2 . . . . . . . . C ADDR 007BH A
MINUTE . . . . . . N NUMB 0031H A
M_SET. . . . . . . B ADDR 0090H.1 A
N0 . . . . . . . . C ADDR 00D2H A
N1 . . . . . . . . C ADDR 00DCH A
N2 . . . . . . . . C ADDR 00E6H A
N3 . . . . . . . . C ADDR 00F0H A
N4 . . . . . . . . C ADDR 00FAH A
N5 . . . . . . . . C ADDR 0104H A
N6 . . . . . . . . C ADDR 010EH A
OVER . . . . . . . C ADDR 00C9H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
RETUNE . . . . . . C ADDR 0147H A
S1 . . . . . . . . C ADDR 004FH A
S2 . . . . . . . . C ADDR 0062H A
S3 . . . . . . . . C ADDR 0075H A
S4 . . . . . . . . C ADDR 008DH A
S5 . . . . . . . . C ADDR 0095H A
S6 . . . . . . . . C ADDR 00A7H A
S7 . . . . . . . . C ADDR 00B9H A
SECOND . . . . . . N NUMB 0030H A
START. . . . . . . C ADDR 000EH A
S_SET. . . . . . . B ADDR 0090H.0 A
TABLE. . . . . . . C ADDR 01D6H A
TCNT . . . . . . . N NUMB 0034H A
TH0. . . . . . . . D ADDR 008CH A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
A51 MACRO ASSEMBLER DIGITAL_CLOCK__2_ 10/07/2008 21:27:26 PAGE 8
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -