📄 sz612.lst
字号:
0245 41EA 274 AJMP KFRET
275 ;显示 "秒"
0247 B7021E 276 KF2: CJNE @R1,#2,KF3
277
024A 7829 278 MOV R0,#DISPBUF+9
024C 12033C 279 LCALL GET_LED234
024F 120178 280 LCALL Send74LS164
0252 120333 281 LCALL SELECT_LED4
0255 120348 282 LCALL DELAY20MS
283
0258 782A 284 MOV R0,#DISPBUF+0AH
025A 12033C 285 LCALL GET_LED234
025D 120178 286 LCALL Send74LS164
0260 12032A 287 LCALL SELECT_LED3
0263 120348 288 LCALL DELAY20MS
0266 41EA 289 AJMP KFRET
290 ;显示 "月"
0268 B7031E 291 KF3: CJNE @R1,#3,KF6
292
026B 7827 293 MOV R0,#DISPBUF+7
026D 12033C 294 LCALL GET_LED234
0270 120178 295 LCALL Send74LS164
0273 120321 296 LCALL SELECT_LED2
0276 120348 297 LCALL DELAY20MS
298
0279 7828 299 MOV R0,#DISPBUF+8
027B 120342 300 LCALL GET_LED1
027E 120178 301 LCALL Send74LS164
0281 120318 302 LCALL SELECT_LED1
0284 120348 303 LCALL DELAY20MS
0287 41EA 304 AJMP KFRET
305 ;显示 "日"
0289 B7061E 306 KF6: CJNE @R1,#6,KF9
307
028C 7825 308 MOV R0,#DISPBUF+5
028E 12033C 309 LCALL GET_LED234
0291 120178 310 LCALL Send74LS164
0294 120333 311 LCALL SELECT_LED4
0297 120348 312 LCALL DELAY20MS
313
029A 7826 314 MOV R0,#DISPBUF+6
029C 12033C 315 LCALL GET_LED234
029F 120178 316 LCALL Send74LS164
02A2 12032A 317 LCALL SELECT_LED3
02A5 120348 318 LCALL DELAY20MS
02A8 41EA 319 AJMP KFRET
320 ;显示 "小时"
02AA B7091E 321 KF9: CJNE @R1,#9,KFC
322
A51 MACRO ASSEMBLER SZ612 06/13/2008 10:49:14 PAGE 6
02AD 7823 323 MOV R0,#DISPBUF+3
02AF 12033C 324 LCALL GET_LED234
02B2 120178 325 LCALL Send74LS164
02B5 120321 326 LCALL SELECT_LED2
02B8 120348 327 LCALL DELAY20MS
328
02BB 7824 329 MOV R0,#DISPBUF+4
02BD 120342 330 LCALL GET_LED1
02C0 120178 331 LCALL Send74LS164
02C3 120318 332 LCALL SELECT_LED1
02C6 120348 333 LCALL DELAY20MS
02C9 41EA 334 AJMP KFRET
335 ;显示 "分"
02CB B70C1C 336 KFC: CJNE @R1,#0CH,KFRET
337
02CE 7821 338 MOV R0,#DISPBUF+1
02D0 12033C 339 LCALL GET_LED234
02D3 120178 340 LCALL Send74LS164
02D6 120333 341 LCALL SELECT_LED4
02D9 120348 342 LCALL DELAY20MS
343
344
02DC 7822 345 MOV R0,#DISPBUF+2
02DE 12033C 346 LCALL GET_LED234
02E1 120178 347 LCALL Send74LS164
02E4 12032A 348 LCALL SELECT_LED3
02E7 120348 349 LCALL DELAY20MS
02EA 350 KFRET:
02EA 22 351 RET
352
02EB 353 UPDATEDISPBUF: ;1秒钟重新为 "秒,分,小时" 重新填显示缓冲
02EB E531 354 MOV A, SECONDBUF
02ED 75F00A 355 MOV B, #10
02F0 84 356 DIV AB
02F1 85F029 357 MOV DISPBUF+9, B
02F4 F52A 358 MOV DISPBUF+0AH, A
359
02F6 E532 360 MOV A, MINUTEBUF
02F8 75F00A 361 MOV B, #10
02FB 84 362 DIV AB
02FC 85F021 363 MOV DISPBUF+1, B
02FF F522 364 MOV DISPBUF+2, A
365
0301 E533 366 MOV A, HOURBUF
0303 75F00A 367 MOV B, #10
0306 84 368 DIV AB
0307 85F023 369 MOV DISPBUF+3, B
030A F524 370 MOV DISPBUF+4, A
371
030C E534 372 MOV A, MONTHBUF
030E 75F00A 373 MOV B, #10
0311 84 374 DIV AB
0312 85F027 375 MOV DISPBUF+7, B
0315 F528 376 MOV DISPBUF+8, A
0317 22 377 RET
378
0318 379 SELECT_LED1:;选通数码管1
0318 C293 380 CLR LED1
031A D294 381 SETB LED2
031C D296 382 SETB LED3
031E D297 383 SETB LED4
0320 22 384 RET
385
0321 386 SELECT_LED2:;选通数码管1
0321 C294 387 CLR LED2
0323 D293 388 SETB LED1
A51 MACRO ASSEMBLER SZ612 06/13/2008 10:49:14 PAGE 7
0325 D296 389 SETB LED3
0327 D297 390 SETB LED4
0329 22 391 RET
392
032A 393 SELECT_LED3:;选通数码管1
032A C296 394 CLR LED3
032C D293 395 SETB LED1
032E D294 396 SETB LED2
0330 D297 397 SETB LED4
0332 22 398 RET
399
0333 400 SELECT_LED4:;选通数码管1
0333 C297 401 CLR LED4
0335 D293 402 SETB LED1
0337 D294 403 SETB LED2
0339 D296 404 SETB LED3
033B 22 405 RET
406
033C 407 GET_LED234:
033C 900374 408 MOV DPTR,#SAG_LED234
033F E6 409 MOV A,@R0
0340 93 410 MOVC A,@A+DPTR
0341 22 411 RET
0342 412 GET_LED1:
0342 900369 413 MOV DPTR,#SAG_LED1
0345 E6 414 MOV A,@R0
0346 93 415 MOVC A,@A+DPTR
0347 22 416 RET
0348 417 DELAY20MS: ;延时20毫秒
0348 7F07 418 MOV R7,#7
034A 7EC8 419 D51: MOV R6,#200
034C 420 D52:
034C 00 421 NOP
034D 00 422 NOP
034E 00 423 NOP
034F 00 424 NOP
0350 00 425 NOP
0351 DEF9 426 DJNZ R6,D52
0353 DFF5 427 DJNZ R7,D51
0355 22 428 RET
429
0356 430 DELAY10MS: ;延时10毫秒
0356 7F50 431 MOV R7,#80
0358 7EC8 432 D53: MOV R6,#200
035A 433 D54:
035A 00 434 NOP
035B 00 435 NOP
035C 00 436 NOP
035D 00 437 NOP
035E 00 438 NOP
035F DEF9 439 DJNZ R6,D54
0361 DFF5 440 DJNZ R7,D53
0363 22 441 RET
442
0364 443 DELAY500US:
0364 7EFA 444 MOV R6,#250
0366 DEFE 445 DJNZ R6,$
0368 22 446 RET
447
0369 448 SAG_LED1: ;LED1段码
0369 50F934B0 449 DB 01010000b,11111001b,00110100b,10110000b,10011001b,10010010b,00010010b,11111000b,0001000
0b,10010000b,0ffh
036D 999212F8
0371 1090FF
0374 450 SAG_LED234: ;LED234段码
0374 C0F9A4B0 451 DB 11000000b,11111001b,10100100b,10110000b,10011001b,10010010b,10000010b,11111000b,1000000
A51 MACRO ASSEMBLER SZ612 06/13/2008 10:49:14 PAGE 8
0b,10010000b,0ffh
0378 999282F8
037C 8090FF
452 ; 0 1 2 3 4 5 6 7 8
9
037F 453 TABLE_extra:
037F FEFDFBF7 454 DB 11111110B,11111101B,11111011B,11110111B,11101111B,11011111B,10111111B,0h,0ffh,0ffh,0ffh
0383 EFDFBF00
0387 FFFFFF
455 END
A51 MACRO ASSEMBLER SZ612 06/13/2008 10:49:14 PAGE 9
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
B. . . . . . . . . D ADDR 00F0H A
BEEP . . . . . . . B ADDR 0090H.0 A
CLRDISPBUF . . . . C ADDR 0105H A
CLRDISPBUFLOOP . . C ADDR 0109H A
D51. . . . . . . . C ADDR 034AH A
D52. . . . . . . . C ADDR 034CH A
D53. . . . . . . . C ADDR 0358H A
D54. . . . . . . . C ADDR 035AH A
DAYADD1. . . . . . C ADDR 01C7H A
DELAY10MS. . . . . C ADDR 0356H A
DELAY20MS. . . . . C ADDR 0348H A
DELAY500US . . . . C ADDR 0364H A
DISP . . . . . . . C ADDR 01C8H A
DISPBUF. . . . . . N NUMB 0020H A
DISPFLAG . . . . . N NUMB 0040H A
EA . . . . . . . . B ADDR 00A8H.7 A
ET0. . . . . . . . B ADDR 00A8H.1 A
F0 . . . . . . . . B ADDR 00D0H.5 A
GET_LED1 . . . . . C ADDR 0342H A
GET_LED234 . . . . C ADDR 033CH A
HADD1. . . . . . . C ADDR 016EH A
HOURBUF. . . . . . N NUMB 0033H A
K1 . . . . . . . . C ADDR 0187H A
K2 . . . . . . . . C ADDR 01A8H A
KEY1 . . . . . . . B ADDR 00B0H.5 A
KEY2 . . . . . . . B ADDR 00B0H.7 A
KEYINPUT . . . . . C ADDR 0184H A
KEYRET . . . . . . C ADDR 01C7H A
KF0. . . . . . . . C ADDR 01CDH A
KF1. . . . . . . . C ADDR 020AH A
KF2. . . . . . . . C ADDR 0247H A
KF3. . . . . . . . C ADDR 0268H A
KF6. . . . . . . . C ADDR 0289H A
KF9. . . . . . . . C ADDR 02AAH A
KFC. . . . . . . . C ADDR 02CBH A
KFRET. . . . . . . C ADDR 02EAH A
LED1 . . . . . . . B ADDR 0090H.3 A
LED2 . . . . . . . B ADDR 0090H.4 A
LED2DZ . . . . . . B ADDR 0090H.5 A
LED3 . . . . . . . B ADDR 0090H.6 A
LED4 . . . . . . . B ADDR 0090H.7 A
LOOP . . . . . . . C ADDR 0127H A
LS164_AB . . . . . B ADDR 00B0H.0 A
LS164_CLK. . . . . B ADDR 00B0H.1 A
MADD1. . . . . . . C ADDR 016AH A
MINUTEBUF. . . . . N NUMB 0032H A
MONADD . . . . . . C ADDR 01C3H A
MONADD1. . . . . . C ADDR 01B6H A
MONTHBUF . . . . . N NUMB 0034H A
MSCNT. . . . . . . N NUMB 0030H A
P1 . . . . . . . . D ADDR 0090H A
P3 . . . . . . . . D ADDR 00B0H A
PSW. . . . . . . . D ADDR 00D0H A
RET1 . . . . . . . C ADDR 0170H A
SADD1. . . . . . . C ADDR 0166H A
SAG_LED1 . . . . . C ADDR 0369H A
SAG_LED234 . . . . C ADDR 0374H A
SECONDBUF. . . . . N NUMB 0031H A
SELECT_LED1. . . . C ADDR 0318H A
A51 MACRO ASSEMBLER SZ612 06/13/2008 10:49:14 PAGE 10
SELECT_LED2. . . . C ADDR 0321H A
SELECT_LED3. . . . C ADDR 032AH A
SELECT_LED4. . . . C ADDR 0333H A
SEND2LS164_LOOP. . C ADDR 017AH A
SEND74LS164. . . . C ADDR 0178H A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0100H A
TABLE_EXTRA. . . . C ADDR 037FH A
TH0. . . . . . . . D ADDR 008CH A
TIMER0 . . . . . . C ADDR 012CH A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TR0. . . . . . . . B ADDR 0088H.4 A
UPDATEDISPBUF. . . C ADDR 02EBH A
WAIT . . . . . . . C ADDR 019BH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -