?? my_pt2314.lst
字號:
494
0313 495 WR_2314_BALANCE:
0313 F53D 496 MOV PT2314_MSB,A
0315 1208C9 497 LCALL PT2314_WR
0318 22 498 RET
499 ;------------------------------
500 ;BCD2BIN:
501 ;MOV A,BCD0
502 ;MOV B,#10
503 ;MUL AB
504 ;ADD A,BCD1
505 ;MOV BIN0,A
506 ;RET
507 ;------------------------------
0319 508 BIN2BCD:
509 ;MOV A,TMP
0319 75F00A 510 MOV B,#10
031C 84 511 Div AB
031D F532 512 MOV DISP0,A
031F 85F033 513 MOV DISP1,B
0322 22 514 RET
515 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0323 516 TIME0: ;定時器0的中斷處理程序
0323 C0E0 517 PUSH ACC
0325 C0D0 518 PUSH PSW ;將PSW和ACC推入堆棧保護
A51 MACRO ASSEMBLER MY_PT2314 03/02/2006 09:51:14 PAGE 9
0327 758D15 519 MOV TH1,#15H
032A 758BA0 520 MOV TL1,#0a0H
032D D2D4 521 SETB rs1 ;選擇寄存器組
032F D2D3 522 setb rs0
0331 200208 523 jb re_key,t_res1
0334 7800 524 mov r0,#0
0336 7900 525 mov r1,#0
0338 7A00 526 mov r2,#0
033A 6158 527 AJMP T_RE
033C 528 t_res1:
033C 08 529 INC R0
033D B80A05 530 CJNE R0,#10,T_RET
0340 7800 531 MOV R0,#0
0342 B2A3 532 CPL P2.3
0344 09 533 INC R1
0345 534 T_RET:
0345 B93C10 535 CJNE R1,#60,T_RE
0348 7900 536 MOV R1,#0
034A 200208 537 jb re_key,t_res
034D 7800 538 MOV R0,#0
034F 7900 539 MOV R1,#0
0351 7A00 540 MOV R2,#0
0353 6158 541 AJMP T_RE
0355 542 t_res:
0355 12015B 543 LCALL DIS_VOL
0358 544 T_RE:
0358 758D15 545 MOV TH1,#15H
035B 758BA0 546 MOV TL1,#0a0H
035E D0D0 547 POP PSW
0360 D0E0 548 POP ACC
0362 32 549 RETI
550 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
551 ;更換24C08時初始化24C08
0363 552 W2408_STAR:
0363 1200CF 553 LCALL DELAY10
0366 7401 554 MOV A,#B_ADD
0368 75F007 555 MOV B,#7
036B 120963 556 LCALL WT24
036E 1200CF 557 LCALL DELAY10
0371 7402 558 MOV A,#T_ADD
0373 75F007 559 MOV B,#7
0376 120963 560 LCALL WT24
0379 1200CF 561 LCALL DELAY10
037C 7404 562 MOV A,#SP_L_ADD
037E 75F000 563 MOV B,#0
0381 120963 564 LCALL WT24
0384 1200CF 565 LCALL DELAY10
0387 7405 566 MOV A,#SP_R_ADD
0389 75F000 567 MOV B,#0
038C 120963 568 LCALL WT24
038F 1200CF 569 LCALL DELAY10
0392 22 570 RET
571 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
572 ;$include (KEY4X4.ASM)
+1 573 ;*************************************
+1 574 ;* *
+1 575 ;* 鍵工作子程序 *
+1 576 ;* *
+1 577 ;*************************************
003F +1 578 KEYBUFF EQU 3FH
00A0 +1 579 KEY_IO EQU P2
+1 580
+1 581
+1 582 ;矩陣鍵盤掃描,鍵盤接在P2口
0393 +1 583 KEY4X4:
0393 75A0F0 +1 584 MOV KEY_IO,#11110000B
A51 MACRO ASSEMBLER MY_PT2314 03/02/2006 09:51:14 PAGE 10
0396 E5A0 +1 585 MOV A,KEY_IO
0398 B4F002 +1 586 CJNE A,#11110000B,HAVE_KEY
039B 0167 +1 587 JMP PT2314_START
+1 588
039D +1 589 STAR_KEY:
039D +1 590 HAVE_KEY:
039D 75A0FB +1 591 MOV KEY_IO,#11111011B
03A0 30A705 +1 592 JNB KEY_IO.7,SVAE24 ;K0按下就轉到數字設置
03A3 30A60B +1 593 JNB KEY_IO.6,REMOTE_SEL
03A6 01CB +1 594 JMP MAIN
+1 595
03A8 +1 596 SVAE24:
03A8 91A0 +1 597 ACALL KEYWAIT
03AA 120363 +1 598 LCALL W2408_STAR
03AD 91A0 +1 599 ACALL KEYWAIT;_SOTP
03AF 0167 +1 600 JMP PT2314_START
+1 601 ;RET
03B1 +1 602 REMOTE_SEL:
03B1 91A0 +1 603 ACALL KEYWAIT
03B3 C203 +1 604 CLR IR_SET_BIT
03B5 C202 +1 605 CLR RE_KEY
03B7 120C77 +1 606 LCALL DIS_IR_SET
03BA 91A5 +1 607 ACALL KEYWAIT_SOTP
03BC 1203C1 +1 608 LCALL KEY
03BF 01CB +1 609 JMP MAIN
+1 610 ;-----------------------------------
+1 611 ;以下為輸入數字的鍵盤掃描
+1 612 ;------------------------------------
03C1 +1 613 KEY:
03C1 00 +1 614 NOP
03C2 +1 615 LINE1:
03C2 75A0FE +1 616 MOV KEY_IO,#11111110B
03C5 30A738 +1 617 JNB KEY_IO.7,K0
03C8 30A63C +1 618 JNB KEY_IO.6,K1
03CB 30A540 +1 619 JNB KEY_IO.5,K2;K_ENTER
03CE 30A444 +1 620 JNB KEY_IO.4,K3;K_ESC
+1 621 ;--------------------------------
03D1 +1 622 LINE2:
03D1 75A0FD +1 623 MOV KEY_IO,#11111101B
03D4 30A745 +1 624 JNB KEY_IO.7,K4
03D7 30A649 +1 625 JNB KEY_IO.6,K5
03DA 30A54D +1 626 JNB KEY_IO.5,K6
03DD 30A451 +1 627 JNB KEY_IO.4,K7
+1 628 ;-------------------------------
03E0 +1 629 LINE3:
03E0 75A0FB +1 630 MOV KEY_IO,#11111011B
03E3 30A752 +1 631 JNB KEY_IO.7,K8
03E6 30A656 +1 632 JNB KEY_IO.6,K9
03E9 30A55A +1 633 JNB KEY_IO.5,K10
03EC 30A45E +1 634 JNB KEY_IO.4,K11
+1 635 ;-------------------------------
03EF +1 636 LINE4:
03EF 75A0F7 +1 637 MOV KEY_IO,#11110111B
03F2 30A75F +1 638 JNB KEY_IO.7,K12
03F5 30A663 +1 639 JNB KEY_IO.6,K13
03F8 30A567 +1 640 JNB KEY_IO.5,K14;K_ENTER
03FB 30A46B +1 641 JNB KEY_IO.4,K15;K_ESC
+1 642 ;--------------------------------
03FE 61C2 +1 643 AJMP LINE1
+1 644 ;-------------------------------
0400 +1 645 K0:
0400 753F00 +1 646 MOV KEYBUFF,#0
0403 91A0 +1 647 ACALL KEYWAIT
0405 8170 +1 648 AJMP YIWEI
0407 +1 649 K1:
0407 753F01 +1 650 MOV KEYBUFF,#1
A51 MACRO ASSEMBLER MY_PT2314 03/02/2006 09:51:14 PAGE 11
040A 91A0 +1 651 ACALL KEYWAIT
040C 8170 +1 652 AJMP YIWEI
040E +1 653 K2:
040E 753F02 +1 654 MOV KEYBUFF,#2
0411 91A0 +1 655 ACALL KEYWAIT
0413 8170 +1 656 AJMP YIWEI
0415 +1 657 K3:
0415 753F03 +1 658 MOV KEYBUFF,#3
0418 91A0 +1 659 ACALL KEYWAIT
041A 8170 +1 660 AJMP YIWEI
041C +1 661 K4:
041C 753F04 +1 662 MOV KEYBUFF,#4
041F 91A0 +1 663 ACALL KEYWAIT
0421 8170 +1 664 AJMP YIWEI
0423 +1 665 K5:
0423 753F05 +1 666 MOV KEYBUFF,#5
0426 91A0 +1 667 ACALL KEYWAIT
0428 8170 +1 668 AJMP YIWEI
042A +1 669 K6:
042A 753F06 +1 670 MOV KEYBUFF,#6
042D 91A0 +1 671 ACALL KEYWAIT
042F 8170 +1 672 AJMP YIWEI
0431 +1 673 K7:
0431 753F07 +1 674 MOV KEYBUFF,#7
0434 91A0 +1 675 ACALL KEYWAIT
0436 8170 +1 676 AJMP YIWEI
0438 +1 677 K8:
0438 753F08 +1 678 MOV KEYBUFF,#8
043B 91A5 +1 679 ACALL KEYWAIT_SOTP
043D 8170 +1 680 AJMP YIWEI
043F +1 681 K9:
043F 753F09 +1 682 MOV KEYBUFF,#9
0442 91A5 +1 683 ACALL KEYWAIT_SOTP
0444 8170 +1 684 AJMP YIWEI
0446 +1 685 K10:
0446 753F0A +1 686 MOV KEYBUFF,#10
0449 91A5 +1 687 ACALL KEYWAIT_SOTP
044B 8170 +1 688 AJMP YIWEI
044D +1 689 K11:
044D 753F0B +1 690 MOV KEYBUFF,#11
0450 91A5 +1 691 ACALL KEYWAIT_SOTP
0452 8170 +1 692 AJMP YIWEI
0454 +1 693 K12:
0454 753F0C +1 694 MOV KEYBUFF,#12
0457 91A5 +1 695 ACALL KEYWAIT_SOTP
0459 8170 +1 696 AJMP YIWEI
045B +1 697 K13:
045B 753F0D +1 698 MOV KEYBUFF,#13
045E 91A5 +1 699 ACALL KEYWAIT_SOTP
0460 8170 +1 700 AJMP YIWEI
0462 +1 701 K14:
0462 753F0E +1 702 MOV KEYBUFF,#14
0465 91A5 +1 703 ACALL KEYWAIT_SOTP
0467 8170 +1 704 AJMP YIWEI
0469 +1 705 K15:
0469 753F0F +1 706 MOV KEYBUFF,#15
046C 91A5 +1 707 ACALL KEYWAIT_SOTP
046E 8170 +1 708 AJMP YIWEI
+1 709 ;---------------------------------------
+1 710 ;K_ENTER:
+1 711 ;LCALL KEYWAIT
+1 712
+1 713 ;RET
+1 714 ;K_ESC:
+1 715 ;LCALL KEYWAIT
+1 716 ;LCALL DATA_ESC
A51 MACRO ASSEMBLER MY_PT2314 03/02/2006 09:51:14 PAGE 12
+1 717 ;RET
+1 718 ;----------------------------------------
0470 +1 719 YIWEI:
0470 20030B +1 720 JB IR_SET_BIT,KEY_WORK
0473 C202 +1 721 CLR RE_KEY
+1 722 ;ACALL KEYWAIT_SOTP
0475 1205F5 +1 723 LCALL IR_SEL
0478 91A5 +1 724 ACALL KEYWAIT_SOTP
047A C203 +1 725 CLR IR_SET_BIT
047C 61C2 +1 726 AJMP LINE1
+1 727
047E +1 728 KEY_WORK:
047E C202 +1 729 CLR RE_KEY
0480 E53F +1 730 MOV A,KEYBUFF
0482 B40002 +1 731 CJNE A,#0,VOL1
0485 818F +1 732 AJMP VOL_CON
0487 +1 733 VOL1:
0487 B40102 +1 734 CJNE A,#1,VOL2
048A 818F +1 735 AJMP VOL_CON
048C +1 736 VOL2:
048C B40C05 +1 737 CJNE A,#12,MUTE_EXT
048F +1 738 VOL_CON:
048F 1200D8 +1 739 LCALL OPREAT
0492 61C2 +1 740 AJMP LINE1
0494 +1 741 MUTE_EXT:
0494 300102 +1 742 JNB MUTE_BIT,MUTE_D
0497 61C2 +1 743 AJMP LINE1
0499 +1 744 MUTE_D:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -