📄 black_plane-tx-v1.37.lst
字号:
565 000131 6F10 b0bset charge_ok
566 000132
567 000132 814C jmp time_count90
568 000133 ;/////////////////////////////////////////////
569 000133 sleep_mode:
570 000133 2B1E clr time4s
571 000134 2DB4 mov a,#180 ; 24->48/////////2004/10/16 48-->180///////////////2004/11/06
572 000135 7610 b0bts0 detect_led_on
573 000136 1F20 mov sleep_time,a
574 000137 1620 incms sleep_time
575 000138 0000 nop
576 000139 cja_ sleep_time,#180,to_sleep ; 24->48/////////2004/10/16 ; if it's detect mode ,will goto sleep mode with no key pressed after 10 second
577 000139 2DB4 mov a, #180
578 00013A 2220 sub a, sleep_time
579 00013B 7A86 b0bts1 FC
580 00013C 813E jmp to_sleep
581 00013D ; 48-->180///////////////2004/11/06
582 00013D 814C jmp time_count90
583 00013E to_sleep:
584 00013E 6610 b0bclr detect_led_on
585 00013F ; mov a,#24
586 00013F ; mov sleep_time,a
587 00013F 2B20 clr sleep_time
588 000140 2B1E clr time4s
589 000141 64D2 b0bclr p2buf.4
590 000142 66D2 b0bclr p2buf.6
591 000143 6BCA b0bset fcpum0 ; set the ic body to sleep mode
592 000144 0000 nop
593 000145 73D2 b0bts0 p2buf.3 ; //////////added on 2004/10/20
594 000146 8010 jmp Reset
595 000147 70D0 b0bts0 p0buf.0 ; //////////added on 2004/10/20
596 000148 813E jmp to_sleep ; //////////added on 2004/10/20
597 000149 79D2 b0bts1 p2buf.1 ; //////////added on 2004/10/20
598 00014A 8010 jmp Reset ; //////////added on 2004/10/20
599 00014B 813E jmp to_sleep ; //////////added on 2004/10/20
600 00014C
601 00014C ;?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
602 00014C
603 00014C time_count90:
604 00014C 0E00 ret
605 00014D ;-----------------------------------------------------------------------------
606 00014D MnLED:
607 00014D ; b0bset LEDbuf.0
608 00014D ; b0bts1 p2buf.0
609 00014D ; b0bclr LEDbuf.0
610 00014D ; mov a,LEDbuf
611 00014D
612 00014D 7A17 b0bts1 LEDbuf.2
613 00014E 8151 jmp led10
614 00014F 6AD2 b0bset p2buf.2 ; charge,
615 000150 8152 jmp @f
616 000151 led10:
617 000151 62D2 b0bclr p2buf.2 ; stop charge ,turn off charge indicator
618 000152
619 000152 @@:
620 000152 7C17 b0bts1 LEDbuf.4 ; turn on/off sleep mode indicator
621 000153 8156 jmp led20
622 000154 6CD2 b0bset p2buf.4
623 000155 8157 jmp @f
624 000156 led20:
625 000156 64D2 b0bclr p2buf.4
626 000157
627 000157 @@:
628 000157 7E17 b0bts1 LEDbuf.6 ;turn on/off low power indicator
629 000158 815B jmp led30
630 000159 6ED2 b0bset p2buf.6
631 00015A 815C jmp @f
632 00015B led30:
633 00015B 66D2 b0bclr p2buf.6
634 00015C
635 00015C @@:
636 00015C 7F17 b0bts1 LEDbuf.7 ; turn on/off charge indicator
637 00015D 8160 jmp led40
638 00015E 6FD2 b0bset p2buf.7
639 00015F 8161 jmp @f
640 000160 led40:
641 000160 67D2 b0bclr p2buf.7
642 000161
643 000161 @@:
644 000161
645 000161
646 000161 ; mov p2buf,a
647 000161 ;????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
648 000161 0E00 ret
649 000162 ;-----------------------------------------------------------------------------
650 000162 ; Isr (Interrupt Service Routine)
651 000162 ; Arguments :
652 000162 ; Returns :
653 000162 ; Reg Change:
654 000162 ;-------------------------------------------------------------------------------
655 000162 Isr:
656 000162 ;-----------------------------------
657 000162 ; Save ACC
658 000162 ;-----------------------------------
659 000162
660 000162 0202 b0xch A,AccBuf ;B0xch instruction do not change C,Z flag
661 000163 2E86 b0mov A,PFLAG
662 000164 2F03 b0mov PflagBuf,A
663 000165
664 000165 ;-----------------------------------
665 000165 ; Interrupt service routine
666 000165 ;-----------------------------------
667 000165
668 000165 INTP00CHK: ; Check INT0 interrupt request
669 000165 78C9 B0BTS1 FP00IEN ; Check P00IEN
670 000166 8169 JMP INTTC0CHK ; Jump check to next interrupt
671 000167 70C8 B0BTS0 FP00IRQ ; Check P00IRQ
672 000168 8171 JMP INTP00 ; Jump to INT0 interrupt service routine
673 000169 INTTC0CHK: ; Check TC0 interrupt request
674 000169 7DC9 B0BTS1 FTC0IEN ; Check TC0IEN
675 00016A 816D JMP INT_EXIT ; Jump to exit of IRQ
676 00016B 75C8 B0BTS0 FTC0IRQ ; Check TC0IRQ
677 00016C 8173 JMP INTTC0 ; Jump to TC0 interrupt service routine
678 00016D
679 00016D ;-----------------------------------
680 00016D ; Exit interrupt service routine
681 00016D ;-----------------------------------
682 00016D
683 00016D INT_EXIT:
684 00016D
685 00016D 2E03 b0mov A, PflagBuf
686 00016E 2F86 b0mov PFLAG, A ;Restore the PFlag
687 00016F 0202 b0xch A,AccBuf ;Restore the Reg. A
688 000170 ;B0xch instruction do not change C,Z flag
689 000170 0F00 reti ;Exit the interrupt routine
690 000171
691 000171 ;-------------------------------------------------------------------------------
692 000171 ; INT0 interrupt service routine
693 000171 ;-------------------------------------------------------------------------------
694 000171 INTP00:
695 000171 60C8 b0bclr FP00IRQ
696 000172
697 000172 ;Process P0.0 external interrupt here
698 000172
699 000172 816D jmp INT_EXIT
700 000173 ;-------------------------------------------------------------------------------
701 000173 ; TC0 interrupt service routine
702 000173 ;-------------------------------------------------------------------------------
703 000173 INTTC0:
704 000173 65C8 b0bclr FTC0IRQ
705 000174
706 000174 2D8A mov a,#138 ; set interrupt interval 280us
707 000175 1FDB mov tc0c,a
708 000176
709 000176 ; detect the interrupt interval time
710 000176 ; b0bts1 detect_led_on
711 000176 ; jmp detect_led_off
712 000176 ; b0bclr detect_led_on
713 000176 ; b0bclr p2buf.7
714 000176 ; jmp d2
715 000176 ;detect_led_off:
716 000176 ; b0bset detect_led_on
717 000176 ; b0bset p2buf.7
718 000176 ;d2:
719 000176 ;
720 000176 261C decms time50ms
721 000177 817B jmp inttc010
722 000178 6D10 b0bset time50ms_ok
723 000179 2DB3 mov a,#179
724 00017A 1F1C mov time50ms,a
725 00017B
726 00017B inttc010:
727 00017B 7809 b0bts1 TX_enable
728 00017C 8196 jmp inttc090 ; disable TX
729 00017D 7715 b0bts0 key_value.7
730 00017E 8181 jmp RF_TX10 ;反相
731 00017F 75D2 b0bts0 p2buf.5
732 000180 818C jmp RF_TX20 ;正相
733 000181 RF_TX10:
734 000181
735 000181 7F11 b0bts1 before
736 000182 8189 jmp TX11
737 000183 68D2 b0bset p2buf.0
738 000184 261B decms low_times ;反相
739 000185 8196 jmp inttc090
740 000186 6811 b0bset bitok
741 000187 6711 b0bclr before
742 000188 8196 jmp inttc090
743 000189
744 000189 TX11:
745 000189 60D2 b0bclr p2buf.0
746 00018A 6F11 b0bset before
747 00018B 8196 jmp inttc090
748 00018C
749 00018C
750 00018C ;++++++++++++++++++++++++++++++++++++++++++++++++++++++
751 00018C
752 00018C
753 00018C
754 00018C RF_TX20:
755 00018C
756 00018C 7F11 b0bts1 before
757 00018D 8194 jmp TX21
758 00018E 60D2 b0bclr p2buf.0
759 00018F 261B decms low_times ;正相
760 000190 8196 jmp inttc090
761 000191 6811 b0bset bitok
762 000192 6711 b0bclr before
763 000193 8196 jmp inttc090
764 000194
765 000194 TX21:
766 000194 68D2 b0bset p2buf.0
767 000195 6F11 b0bset before
768 000196
769 000196
770 000196
771 000196
772 000196 inttc090:
773 000196 816D jmp INT_EXIT
774 000197 ;-------------------------------------------------------------------------------
775 000197 ; SysInit
776 000197 ; System initial to define Register, RAM, I/O, Timer......
777 000197 ;-------------------------------------------------------------------------------
778 000197 SysInit:
779 000197
780 000197 2D07 mov a,#07h
781 000198 1FBE mov pur,a ; enable p1,p2,p0 pull-up register
782 000199 2D00 mov a,#00h
783 00019A 1FC1 mov p1mbuf,a ; set port1 to be input mode
784 00019B ;
785 00019B 2D10 mov a,#00010000B
786 00019C 1FD2 mov p2buf,a
787 00019D 2DD5 mov a,#11010101B ; set p2.5,p2.3,p2.1 to be input mode,other to be output mode
788 00019E 1FC2 mov p2mbuf,a
789 00019F ;
790 00019F 2D02 mov a,#2
791 0001A0 1F1A mov data_length,a
792 0001A1
793 0001A1 2D01 mov a,#1
794 0001A2 1F1B mov low_times,a
795 0001A3
796 0001A3 2DB3 mov a,#179
797 0001A4 1F1C mov time50ms,a
798 0001A5
799 0001A5 ; mov a,#24
800 0001A5 ; mov sleep_time,a
801 0001A5 ; mov charge_time,a
802 0001A5
803 0001A5
804 0001A5 2D0F mov a,#00001111b
805 0001A6 2FC0 b0mov p1w,a ;Enable P1.0 P1.1 P1.2 P1.3 wakeup function
806 0001A7
807 0001A7
808 0001A7
809 0001A7
810 0001A7
811 0001A7 settc0:
812 0001A7 65C9 b0bclr ftc0ien
813 0001A8 67DA b0bclr ftc0enb
814 0001A9 2D70 mov a,#70h
815 0001AA 1FDA mov tc0m,a ; set tc0 clock is Fcpu/2
816 0001AB
817 0001AB 2D82 mov a,#130 ; set interrupt interval 280us
818 0001AC 1FDB mov tc0c,a
819 0001AD 6DC9 b0bset ftc0ien
820 0001AE 65C8 b0bclr ftc0irq
821 0001AF 6FDA b0bset ftc0enb
822 0001B0
823 0001B0 0E00 ret
824 0001B1
825 0001B1 ;-------------------------------------------------------------------------------
826 0001B1 ; ClrRAM
827 0001B1 ; Use index @YZ to clear RAM (00h~2Fh)
828 0001B1 ;-------------------------------------------------------------------------------
829 0001B1
830 0001B1 ClrRAM:
831 0001B1
832 0001B1 2B84 clr Y
833 0001B2 332F b0mov Z,#0x2f ;Set @YZ address from 2fh
834 0001B3
835 0001B3 ClrRAM10:
836 0001B3 2BE7 clr @YZ ;Clear @YZ content
837 0001B4 2683 decms Z ;z = z - 1 , skip next if z=0
838 0001B5 81B3 jmp ClrRAM10
839 0001B6 2BE7 clr @YZ ;Clear address $00
840 0001B7
841 0001B7 0E00 ret
842 0001B8
843 0001B8 ;-------------------------------------------------------------------------------
844 0001B8 ENDP
845 0001B8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -