📄 new0001.l
字号:
592 AND P1,#0BFH
593 .ENDM
594 SET_PT2314_DATA .MACRO
595 OR P1,#80H
596 .ENDM
597 CLR_PT2314_DATA .MACRO
598 AND P1,#7FH
599 .ENDM
600 [01] .IF 0
601 PT2314_DATA_IN_MODE EQU P1.7
602 PT2314_DATA_OUT_MODE EQU P1.7
603 PT2314_DATA_IS_HIGH EQU P1.7
604 PT2314_DATA_IS_LOW EQU P1.7
605 [00] .ENDIF
606 PT2314_DATA_IN_MODE .MACRO
607 AND P1CONH,#3FH
608 .ENDM
609 ;------------------------------------------
610 PT2314_DATA_OUT_MODE .MACRO
611 OR P1CONH,#80H
612 .ENDM
613 ;------------------------------------------
614 PT2314_DATA_IS_HIGH .MACRO
615 TCM P1,#80H
616 .ENDM
617 ;------------------------------------------
618 PT2314_DATA_IS_LOW .MACRO
619 TM P1,#80H
620 .ENDM
621 ;------------------------------------------
622
623
624
625
626 ;------------------------------------------
627 [01] .IF 0
628 SET_MUTE EQU P0.0
629 CLR_MUTE EQU P0.0
630 [00] .ENDIF
631 SET_MUTE .MACRO
632 OR P0,#01H
633 .ENDM
634
635 CLR_MUTE .MACRO
636 AND P0,#0FEH
637 .ENDM
638
639 XOR_MUTE .MACRO
640 XOR P0,#01H
641 .ENDM
642 MUTE_IS_LOW .MACRO
643 TM P0,#01H
644 .ENDM
645 ;------------------------------------------
646 [01] .IF 0
647 SET_POWER EQU P0.1
648 CLR_POWER EQU P0.1
649 XOR_POWER EQU P0.1
650 POWER_IS_LOW EQU P0.1
651 [00] .ENDIF
652 SET_POWER .MACRO
653 OR P0,#02H
654 .ENDM
655
656 CLR_POWER .MACRO
657 AND P0,#0FDH
658 .ENDM
659
660 XOR_POWER .MACRO
661 XOR P0,#02H
662 .ENDM
663
664 POWER_IS_LOW .MACRO
665 TM P0,#02H
666 .ENDM
667
668 ;------------------------------------------
669 [01] .IF 0
670 SET_TAPE EQU P2.0
671 CLR_TAPE EQU P2.0
672 [00] .ENDIF
673 SET_TAPE .MACRO
674 OR P2,#01H
675 .ENDM
676
677 CLR_TAPE .MACRO
678 AND P2,#0FEH
679 .ENDM
680 ;------------------------------------------
681 [01] .IF 0
682 SET_CD EQU P2.1
683 CLR_CD EQU P2.1
684 [00] .ENDIF
685 SET_CD .MACRO
686 OR P2,#02H
687 .ENDM
688
689 CLR_CD .MACRO
690 AND P2,#0FDH
691 .ENDM
692 ;------------------------------------------
693 [01] .IF 0
694 SET_RADIO EQU P2.2
695 CLR_RADIO EQU P2.2
696 [00] .ENDIF
697 SET_RADIO .MACRO
698 OR P2,#04H
699 .ENDM
700
701 CLR_RADIO .MACRO
702 AND P2,#0FBH
703 .ENDM
704 ;------------------------------------------
705 [01] .IF 0
706 SET_AUX EQU P2.3
707 CLR_AUX EQU P2.3
708 [00] .ENDIF
709 SET_AUX .MACRO
710 OR P2,#08H
711 .ENDM
712
713 CLR_AUX .MACRO
714 AND P2,#0F7H
715 .ENDM
716
717 XOR_AUX .MACRO
718 XOR P2,#08H
719 .ENDM
720
721
722 [01] .IF 0
723 SET_FLAT EQU P3.6
724 CLR_FLAT EQU P3.6
725 [00] .ENDIF
726 SET_FLAT .MACRO
727 OR P3,#40H
728 .ENDM
729
730 CLR_FLAT .MACRO
731 AND P3,#0BFH
732 .ENDM
733 ;------------------------------------------
734 [01] .IF 0
735 SET_ROCK EQU P2.5
736 CLR_ROCK EQU P2.5
737 [00] .ENDIF
738 SET_ROCK .MACRO
739 OR P2,#20H
740 .ENDM
741
742 CLR_ROCK .MACRO
743 AND P2,#0DFH
744 .ENDM
745 ;------------------------------------------
746 [01] .IF 0
747 SET_POP EQU P2.6
748 CLR_POP EQU P2.6
749 [00] .ENDIF
750 SET_POP .MACRO
751 OR P2,#40H
752 .ENDM
753
754 CLR_POP .MACRO
755 AND P2,#0BFH
756 .ENDM
757
758 XOR_POP .MACRO
759 XOR P2,#40H
760 .ENDM
761 ;------------------------------------------
762 [01] .IF 0
763 SET_JAZZ EQU P2.7
764 CLR_JAZZ EQU P2.7
765 [00] .ENDIF
766 SET_JAZZ .MACRO
767 OR P2,#80H
768 .ENDM
769
770 CLR_JAZZ .MACRO
771 AND P2,#7FH
772 .ENDM
773 ;------------------------------------------
774 [01] .IF 0
775 SET_REMOTE EQU P3.1
776 CLR_REMOTE EQU P3.1
777 [00] .ENDIF
778 SET_REMOTE .MACRO
779 OR P3,#02H
780 .ENDM
781
782 CLR_REMOTE .MACRO
783 AND P3,#0FDH
784 .ENDM
785 ;------------------------------------------
786
787
788
789
790
791
792
793
794
795
796 0000 ORG 0000H
797 0000 00 02 VECTOR 00H,INIT_9498
798 0002 INIT_9498:
799
800 0002 66 E7 01 tcm P1INT,#01H ;判断是否是外部中断0
801 0005 6D 00 0F jp Z,I_INT0 ;外部中断0
802 0008 66 D0 01 tcm TCCON,#01H
803 000B 6D 01 61 jp Z,TIMER1_INIT ;时间溢出中断C
804 000E BF IRET
805 ;****************************************************************
806 ; 外部中断0
807 ;****************************************************************
808
809 000F I_INT0:
810 [01] .ifdef TEXT_40K
811 <01> SET_POP
812 000F 46 E2 40 OR P2,#40H
813 <01> .ENDM
814 0012 8D 00 7D jp ex_int_ret
815 [00] .endif
816 0015 B0 09 clr time_delay
817 0017 B0 0A clr time_delay1
818 <01> IS_STATE_FIRST_9M
819 0019 66 00 01 TCM STATE_ALL,#01H
820 <01> .ENDM
821 001C 6D 00 40 jp Z,state_first
822 <01> IS_STATE_SECN_2M
823 001F 66 00 02 TCM STATE_ALL,#02H
824 <01> .ENDM
825 0022 6D 00 58 jp Z,state_third
826 <01> SET_FIRST_9M
827 0025 46 00 01 OR STATE_ALL,#00000001B
828 <01> .ENDM
829 0028 8D 00 7D jp ex_int_ret
830
831 003C ORG 003CH
832 003C FF DB 0FFH
833 003D FF DB 0FFH ;
834 003E C7 DB 0C7H ;
835 003F FF DB 0FFH ;
836
837
838 0040 state_first:
839 0040 A6 03 55 cp time_count,#55H
840 0043 BD 00 77 jp UGT,error_return
841 0046 A6 03 32 cp time_count,#32H
842 0049 7D 00 77 jp ULT,error_return
843 <01> SET_SECN_2M
844 004C 46 00 02 OR STATE_ALL,#00000010B
845 <01> .ENDM
846 <01> CLR_FIRST_9M
847 004F 56 00 FE AND STATE_ALL,#11111110B
848 <01> .ENDM
849 0052 E6 04 20 ld remote_bit_count,#20H
850 0055 8D 00 7D jp ex_int_ret
851 0058 state_third:
852 0058 A6 03 12 cp time_count,#12H
853 005B BB 1A jr UGT,error_return
854 005D A6 03 02 cp time_count,#02H
855 0060 7B 15 jr ULT,error_return
856 0062 26 03 08 sub time_count,#08H
857 0065 C0 05 rrc remote_cmd_code1
858 0067 C0 06 rrc remote_cmd_code0
859 0069 C0 07 rrc remote_sys_code1
860 006B C0 08 rrc remote_sys_code0
861 006D 00 04 dec remote_bit_count
862 006F EB 0C jr nz,ex_int_ret
863 0071 set_ok:
864 <01> SET_DATA_OK
865 0071 46 00 04 OR STATE_ALL,#00000100B
866 <01> .ENDM
867 <01> SET_IR_KEY_IS_DOWN
868 0074 46 00 08 OR STATE_ALL,#00001000B
869 <01> .ENDM
870 0077 error_return:
871 <01> CLR_SECN_2M
872 0077 56 00 FD AND STATE_ALL,#11111101B
873 <01> .ENDM
874 <01> SET_FIRST_9M
875 007A 46 00 01 OR STATE_ALL,#00000001B
876 <01> .ENDM
877 007D ex_int_ret:
878 007D B0 03 clr time_count
879 007F 56 E7 FE and P1INT,#11111110B
880 0082 BF IRET
881 ;****************************************************
882 ;---------------ext int end----------------
883 ;****************************************************
884
885
886
887
888
889 0100 ORG 0100H
890 0100 RESET:
891 0100 8F DI
892 0101 E6 DC A3 ld BTCON,#10100011b ; Disable Watch-dog
893 0104 E6 D9 C0 ld SP,#0C0H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -