📄 8733_tp.lst
字号:
615 0020A 0012 RET
616 ;-------------------------------------------------------------------
617 ;将当前值与保存值做比较,看二者差值是否在-4 <= X <= 4范围内
618 ;即bank2的0x20~0x2F当前值与bank3的0x20~0x2F保存值做比较
619 0020B Compare2GroupVa:
620 0020B 1808 MOV A, @8
621 0020C 0056 MOV Temp, A
622 0020D 00F0 CLR buffer
623 0020E 1E93 BANK 3
624 0020F 1820 MOV A, @0x20
625 00210 0044 MOV R4, A ; bank 3,0x20
626 00211 Com2GroupValueLp:
627 00211 1E93 BANK 3
628 00212 0544 INC R4 ; bank 3,0x21
629 00213 0400 MOV A, R0
630 00214 1E92 BANK 2
631 00215 0100 SUB A, R0 ; bank 2, 0x21, 即当前值与保存值高位相减
632 00216 0E03 JBS status, c
633 00217 162D JMP RltmVaHiSmall ; 保存值的高位比实时值高
634 00218 0C83 JBC status, z ; 实时值的高位比保存值的高位大或相等
635 00219 161F JMP RltmVaHiEqu ; 实时值的高位与保存值的高位相等
636 ;
637 ; 1)实时值的高位比保存值的高位大
638 0021A 01C4 DEC R4 ; bank 2, 0x20
639 0021B 1E93 BANK 3
640 0021C 0400 MOV A, R0 ; bank 3, 0x20
641 0021D 1E92 BANK 2
642 0021E 1630 JMP RltmVaHiSmall1
643 ;SUB A, R0 ; bank 2, 0x20
644 ;MOV Temp, A
645 ;INC RSR ; bank 2, 0x21
646 ;MOV A, R0
647 ;MOV Temp1, A
648 ;JBS status, c
649 ;DEC Temp1
650 ;MOV A, Temp
651 ;ADD A, @255-4
652 ;JBC status, c
653 ;JMP Com2GroupValueNoOK ;差值大于4
654 ;MOV A, Temp1
655 ;JBC status, z
656 ;JMP Com2GroupValueOK
657 ;JMP Com2GroupValueNoOK
658 ;
659 0021F RltmVaHiEqu:
660 ; 2)实时值高位与保存值高位相等
661 0021F 01C4 DEC R4
662 00220 0400 MOV A, R0 ; bank 2, 0x20
663 00221 1E93 BANK 3
664 00222 0100 SUB A, R0 ; 低位相减
665 00223 0E03 JBS status, c
666 00224 1629 JMP RltmVaHiEqu1
667 00225 1FFD ADD A, @255-2 ; 保存值比实时值大
668 00226 0E03 JBS status, c
669 00227 1640 JMP Com2GroupValueOK ; 大4以下,则ok
670 00228 163E JMP Com2GroupValueNoOK ; 大4以上,则不ok
671 00229 RltmVaHiEqu1:
672 00229 1F02 ADD A, @2 ; 实时值比保存值大
673 0022A 0E03 JBS status, c
674 0022B 163E JMP Com2GroupValueNoOK ; 大4以上上则不ok
675 0022C 1640 JMP Com2GroupValueOK ; 小于等于4则ok
676 ;
677 ;-------------------------------------
678 0022D RltmVaHiSmall:
679 ; 3)保存值高位比实时值高位高
680 0022D 01C4 DEC R4
681 0022E 0400 MOV A, R0 ; bank 2, 0x20 (当前值)
682 0022F 1E93 BANK 3
683 00230 RltmVaHiSmall1:
684 00230 0100 SUB A, R0 ; 保存值减现在值(低位相减)
685 00231 0056 MOV Temp, A
686 00232 0544 INC R4
687 00233 0400 MOV A, R0
688 00234 0057 MOV Temp1, A
689 00235 0E03 JBS status, c
690 00236 01D7 DEC Temp1
691 00237 0416 MOV A, Temp
692 00238 1FFD ADD A, @255-2
693 00239 0C03 JBC status, c
694 0023A 163E JMP Com2GroupValueNoOK
695 0023B 0417 MOV A, Temp1
696 0023C 0C83 JBC status, z
697 0023D 1640 JMP Com2GroupValueOK
698 ;-------------------------------------
699 0023E Com2GroupValueNoOK:
700 0023E 0803 BC status, c
701 0023F 1648 JMP Com2GroupValueEnd
702 00240 Com2GroupValueOK:
703 00240 1E90 BANK 0
704 00241 0570 INC buffer
705 00242 0430 MOV A, buffer
706 00243 124A CALL GetRSRVALUE
707 00244 0044 MOV R4, A
708 00245 05D6 DJZ Temp
709 00246 1611 JMP Com2GroupValueLp
710 00247 0A03 BS status, c
711 00248 Com2GroupValueEnd:
712 00248 1E90 BANK 0
713 00249 0012 RET
714 ;-------------------------------------------------------------------
715 0024A GetRSRVALUE:
716 0024A 03C2 ADD PC, A
717 0024B 1C20 RETL 0x20;0
718 0024C 1C22 RETL 0x22;1
719 0024D 1C24 RETL 0x24;2
720 0024E 1C26 RETL 0x26;3
721 0024F 1C28 RETL 0x28;4
722 00250 1C2A RETL 0x2A;5
723 00251 1C2C RETL 0x2C;6
724 00252 1C2E RETL 0x2E;7
725 00253 1C00 RETL 0x00;8
726 ;-------------------------------------------------------------------
727 00254 ReleaseOldKeyVa:
728 00254 0044 MOV R4, A
729 00255 1E91 BANK 1
730 00256 0400 MOV A, R0
731 00257 1E90 BANK 0
732 00258 0070 MOV BUFFER, A
733 00259 0544 INC R4
734 0025A 1E91 BANK 1
735 0025B 0400 MOV A, R0
736 0025C 1E90 BANK 0
737 0025D 0071 MOV BUFFER+1, A
738 0025E 0012 RET
739 ;-------------------------------------------------------------------
740 0025F StoreRLKeyVa:
741 0025F 0044 MOV R4, A
742 00260 1E92 BANK 2
743 00261 0410 MOV A, TPdataL
744 00262 0040 MOV R0, A
745 00263 0544 INC R4
746 00264 0411 MOV A, TPdataH
747 00265 0040 MOV R0, A
748 00266 1E90 BANK 0
749 00267 0012 RET
750 ;-------------------------------------------------------------------
751 ; 将bank2 0x20~0x2F(适时值)寄存区值给bank1 0x20~0x2F(参考值)
752 00268 SwapKeyValue:
753 00268 0044 MOV R4, A
754 00269 1810 MOV A, @16
755 0026A 0056 MOV TEMP, A
756 0026B SwapKeyValueLp:
757 0026B 1E92 BANK 2
758 0026C 0400 MOV A, R0
759 0026D 1E91 BANK 1
760 0026E 0040 MOV R0, A
761 0026F 0544 INC R4
762 00270 05D6 DJZ TEMP
763 00271 166B JMP SwapKeyValueLp
764 00272 1E90 BANK 0
765 00273 0012 RET
766 ;-------------------------------------------------------------------
767 ; 将bank2 0x20~0x2F(适时值)寄存区值给bank3 0x20~0x2F(study)
768 00274 StyKeyValue:
769 00274 1820 MOV A, @0x20
770 00275 0044 MOV R4, A
771 00276 1810 MOV A, @16
772 00277 0056 MOV TEMP, A
773 00278 StyKeyValueLp:
774 00278 1E92 BANK 2
775 00279 0400 MOV A, R0
776 0027A 1E93 BANK 3
777 0027B 0040 MOV R0, A
778 0027C 0544 INC R4
779 0027D 05D6 DJZ TEMP
780 0027E 1678 JMP StyKeyValueLp
781 0027F 1E90 BANK 0
782 00280 0012 RET
783 ;-----------------------------------------------------------------
784 00281 CLEAR_SRAM:
785 00281 1810 MOV A, @0x10
786 00282 0044 MOV R4, A
787 00283 00C1 CLR R1
788 00284 Clr_Ram_Lp:
789 00284 00C0 CLR R0
790 00285 0544 INC R4
791 00286 183F MOV A, @0x3f
792 00287 0284 AND A, R4
793 00288 0E83 JBS STATUS, 2
794 00289 1684 JMP Clr_Ram_Lp
795 0028A 0541 INC R1
796 0028B 1820 MOV A, @0x20
797 0028C 0244 OR R4, A
798 0028D 1807 MOV A, @0x07
799 0028E 0281 AND A, R1
800 0028F 0E83 JBS STATUS, 2
801 00290 1684 JMP Clr_Ram_Lp
802 00291 0012 RET
803 ;-----------------------------------------------------------------
804 00292 DelaySomeT:
805 00292 18FF MOV A, @0XFF
806 00293 005F MOV 0X1F, A
807 00294 DELAY_LP:
808 00294 05DF DJZ 0X1F
809 00295 1694 JMP DELAY_LP
810 00296 0012 RET
811 ;-----------------------------------------------------------------
812 ; 取得TP值
813 00297 TPVaRoutine:
814 00297 1E90 BANK 0
815 00298 1804 MOV A, @times
816 00299 0066 MOV TP_Counter, A
817 0029A 00E7 CLR TPVaSum1
818 0029B 00E8 CLR TPVaSum2
819 0029C TPVaRoutine_Loop:
820 0029C 0000 NOP
821 0029D 0004 WDTC
822 0029E 1E94 BANK 4
823 0029F 0BC5 BS TPCR1, TPS
824 002A0 0000 NOP
825 002A1 0004 WDTC
826 002A2 0DC5 JBC TPCR1, TPS
827 002A3 16A1 JMP $-2
828 002A4 0987 BC TPCR3, TPIF
829 002A5 09C7 BC TPCR3, TPOIF
830 ;
831 002A6 TPRoutineStoreVa:
832 ; To store TP value
833 002A6 0408 MOV A, TPBH
834 002A7 0051 MOV TPdataH, A
835 002A8 0409 MOV A, TPBL
836 002A9 0050 MOV TPdataL, A
837
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -