📄 black_plane-tx-v2.37.lst
字号:
652 00015F
653 00015F ; mov p2buf,a
654 00015F ;????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
655 00015F 0E00 ret
656 000160 ;-----------------------------------------------------------------------------
657 000160 ; Isr (Interrupt Service Routine)
658 000160 ; Arguments :
659 000160 ; Returns :
660 000160 ; Reg Change:
661 000160 ;-------------------------------------------------------------------------------
662 000160 Isr:
663 000160 ;-----------------------------------
664 000160 ; Save ACC
665 000160 ;-----------------------------------
666 000160
667 000160 0202 b0xch A,AccBuf ;B0xch instruction do not change C,Z flag
668 000161 2E86 b0mov A,PFLAG
669 000162 2F03 b0mov PflagBuf,A
670 000163
671 000163 ;-----------------------------------
672 000163 ; Interrupt service routine
673 000163 ;-----------------------------------
674 000163
675 000163 INTP00CHK: ; Check INT0 interrupt request
676 000163 78C9 B0BTS1 FP00IEN ; Check P00IEN
677 000164 8167 JMP INTTC0CHK ; Jump check to next interrupt
678 000165 70C8 B0BTS0 FP00IRQ ; Check P00IRQ
679 000166 816F JMP INTP00 ; Jump to INT0 interrupt service routine
680 000167 INTTC0CHK: ; Check TC0 interrupt request
681 000167 7DC9 B0BTS1 FTC0IEN ; Check TC0IEN
682 000168 816B JMP INT_EXIT ; Jump to exit of IRQ
683 000169 75C8 B0BTS0 FTC0IRQ ; Check TC0IRQ
684 00016A 8171 JMP INTTC0 ; Jump to TC0 interrupt service routine
685 00016B
686 00016B ;-----------------------------------
687 00016B ; Exit interrupt service routine
688 00016B ;-----------------------------------
689 00016B
690 00016B INT_EXIT:
691 00016B
692 00016B 2E03 b0mov A, PflagBuf
693 00016C 2F86 b0mov PFLAG, A ;Restore the PFlag
694 00016D 0202 b0xch A,AccBuf ;Restore the Reg. A
695 00016E ;B0xch instruction do not change C,Z flag
696 00016E 0F00 reti ;Exit the interrupt routine
697 00016F
698 00016F ;-------------------------------------------------------------------------------
699 00016F ; INT0 interrupt service routine
700 00016F ;-------------------------------------------------------------------------------
701 00016F INTP00:
702 00016F 60C8 b0bclr FP00IRQ
703 000170
704 000170 ;Process P0.0 external interrupt here
705 000170
706 000170 816B jmp INT_EXIT
707 000171 ;-------------------------------------------------------------------------------
708 000171 ; TC0 interrupt service routine
709 000171 ;-------------------------------------------------------------------------------
710 000171 INTTC0:
711 000171 65C8 b0bclr FTC0IRQ
712 000172
713 000172 2D8A mov a,#138 ; set interrupt interval 280us
714 000173 1FDB mov tc0c,a
715 000174
716 000174 ; detect the interrupt interval time
717 000174 ; b0bts1 detect_led_on
718 000174 ; jmp detect_led_off
719 000174 ; b0bclr detect_led_on
720 000174 ; b0bclr p2buf.7
721 000174 ; jmp d2
722 000174 ;detect_led_off:
723 000174 ; b0bset detect_led_on
724 000174 ; b0bset p2buf.7
725 000174 ;d2:
726 000174 ;
727 000174 261C decms time50ms
728 000175 8179 jmp inttc010
729 000176 6D10 b0bset time50ms_ok
730 000177 2DB3 mov a,#179
731 000178 1F1C mov time50ms,a
732 000179
733 000179 inttc010:
734 000179 2D00 mov a,#0
735 00017A 0718 cmprs a,txdata
736 00017B 817D jmp @f
737 00017C 818C jmp tx111
738 00017D @@:
739 00017D
740 00017D 7809 b0bts1 TX_enable
741 00017E 8199 jmp inttc090 ; disable TX
742 00017F ; b0bts0 key_value.7
743 00017F ; jmp RF_TX10 ;反相
744 00017F 70D2 b0bts0 p2buf.0
745 000180 818C jmp tx111
746 000181 ; jmp RF_TX20 ;正相
747 000181 RF_TX10:
748 000181
749 000181 7F11 b0bts1 before
750 000182 8189 jmp TX11
751 000183 6DD2 b0bset p2buf.5
752 000184 261B decms low_times ;反相
753 000185 8199 jmp inttc090
754 000186 6811 b0bset bitok
755 000187 6711 b0bclr before
756 000188 8199 jmp inttc090
757 000189
758 000189 TX11:
759 000189 65D2 b0bclr p2buf.5
760 00018A 6F11 b0bset before
761 00018B 8199 jmp inttc090
762 00018C
763 00018C TX111:
764 00018C 6E11 b0bset code_all_data_ok
765 00018D 65D2 b0bclr p2buf.5
766 00018E ; b0bset before
767 00018E 8199 jmp inttc090
768 00018F
769 00018F ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
770 00018F
771 00018F
772 00018F
773 00018F RF_TX20:
774 00018F
775 00018F 7F11 b0bts1 before
776 000190 8197 jmp TX21
777 000191 65D2 b0bclr p2buf.5
778 000192 261B decms low_times ;正相
779 000193 8199 jmp inttc090
780 000194 6811 b0bset bitok
781 000195 6711 b0bclr before
782 000196 8199 jmp inttc090
783 000197
784 000197 TX21:
785 000197 6DD2 b0bset p2buf.5
786 000198 6F11 b0bset before
787 000199
788 000199
789 000199
790 000199
791 000199 inttc090:
792 000199 816B jmp INT_EXIT
793 00019A ;-------------------------------------------------------------------------------
794 00019A ; SysInit
795 00019A ; System initial to define Register, RAM, I/O, Timer......
796 00019A ;-------------------------------------------------------------------------------
797 00019A SysInit:
798 00019A
799 00019A 2D07 mov a,#07h
800 00019B 1FBE mov pur,a ; enable p1,p2,p0 pull-up register
801 00019C 2D00 mov a,#00h
802 00019D 1FC1 mov p1mbuf,a ; set port1 to be input mode
803 00019E ;
804 00019E 2D10 mov a,#00010000B
805 00019F 1FD2 mov p2buf,a
806 0001A0 2DF4 mov a,#11110100B ; set p2.5,p2.3,p2.1 to be input mode,other to be output mode
807 0001A1 1FC2 mov p2mbuf,a
808 0001A2 ;
809 0001A2 2D02 mov a,#2
810 0001A3 1F1A mov data_length,a
811 0001A4
812 0001A4 2D01 mov a,#1
813 0001A5 1F1B mov low_times,a
814 0001A6
815 0001A6 2DB3 mov a,#179
816 0001A7 1F1C mov time50ms,a
817 0001A8
818 0001A8 ; mov a,#24
819 0001A8 ; mov sleep_time,a
820 0001A8 ; mov charge_time,a
821 0001A8
822 0001A8
823 0001A8 2D0F mov a,#00001111b
824 0001A9 2FC0 b0mov p1w,a ;Enable P1.0 P1.1 P1.2 P1.3 wakeup function
825 0001AA
826 0001AA
827 0001AA
828 0001AA
829 0001AA
830 0001AA settc0:
831 0001AA 65C9 b0bclr ftc0ien
832 0001AB 67DA b0bclr ftc0enb
833 0001AC 2D70 mov a,#70h
834 0001AD 1FDA mov tc0m,a ; set tc0 clock is Fcpu/2
835 0001AE
836 0001AE 2D82 mov a,#130 ; set interrupt interval 280us
837 0001AF 1FDB mov tc0c,a
838 0001B0 6DC9 b0bset ftc0ien
839 0001B1 65C8 b0bclr ftc0irq
840 0001B2 6FDA b0bset ftc0enb
841 0001B3
842 0001B3 0E00 ret
843 0001B4
844 0001B4 ;-------------------------------------------------------------------------------
845 0001B4 ; ClrRAM
846 0001B4 ; Use index @YZ to clear RAM (00h~2Fh)
847 0001B4 ;-------------------------------------------------------------------------------
848 0001B4
849 0001B4 ClrRAM:
850 0001B4
851 0001B4 2B84 clr Y
852 0001B5 332F b0mov Z,#0x2f ;Set @YZ address from 2fh
853 0001B6
854 0001B6 ClrRAM10:
855 0001B6 2BE7 clr @YZ ;Clear @YZ content
856 0001B7 2683 decms Z ;z = z - 1 , skip next if z=0
857 0001B8 81B6 jmp ClrRAM10
858 0001B9 2BE7 clr @YZ ;Clear address $00
859 0001BA
860 0001BA 0E00 ret
861 0001BB
862 0001BB ;-------------------------------------------------------------------------------
863 0001BB ENDP
864 0001BB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -