📄 stm8_tsl_rc_singlechannelkey.ls
字号:
509 0125 a004 sub a,#4
510 0127 274e jreq L731
511 0129 a009 sub a,#9
512 012b 2737 jreq L331
513 012d a003 sub a,#3
514 012f 2719 jreq L521
515 0131 a010 sub a,#16
516 0133 272a jreq L131
517 0135 a05c sub a,#92
518 0137 2743 jreq L141
519 0139 L761:
521 0139 20fe jra L761
522 013b L321:
523 ; 174 case IDLE_STATE:
523 ; 175 if ( TSL_SCKey_CheckErrorCondition() )
525 013b cd02dc call _TSL_SCKey_CheckErrorCondition
527 013e 4d tnz a
528 013f 2705 jreq L161
529 ; 177 TSL_SCKey_SetErrorState();
531 0141 cd0000 call _TSL_SCKey_SetErrorState
533 ; 178 break;
535 0144 2039 jra L751
536 0146 L161:
537 ; 180 TSL_SCKey_IdleTreatment( );
539 0146 ad54 call _TSL_SCKey_IdleTreatment
541 ; 181 TSL_SCKey_CheckDisabled( );
543 ; 182 break;
545 0148 202d jp L731
546 014a L521:
547 ; 184 case PRE_DETECTED_STATE:
547 ; 185 TSL_SCKey_PreDetectTreatment( );
549 014a cd01cd call _TSL_SCKey_PreDetectTreatment
551 ; 186 break;
553 014d 2030 jra L751
554 014f L721:
555 ; 188 case DETECTED_STATE:
555 ; 189 if ( TSL_SCKey_CheckErrorCondition() )
557 014f cd02dc call _TSL_SCKey_CheckErrorCondition
559 0152 4d tnz a
560 0153 2705 jreq L361
561 ; 191 TSL_SCKey_SetErrorState();
563 0155 cd0000 call _TSL_SCKey_SetErrorState
565 ; 192 break;
567 0158 2025 jra L751
568 015a L361:
569 ; 194 TSL_SCKey_DetectedTreatment( );
571 015a cd01ff call _TSL_SCKey_DetectedTreatment
573 ; 195 TSL_SCKey_CheckDisabled( );
575 ; 196 break;
577 015d 2018 jp L731
578 015f L131:
579 ; 198 case POST_DETECTED_STATE:
579 ; 199 TSL_SCKey_PostDetectTreatment( );
581 015f cd023b call _TSL_SCKey_PostDetectTreatment
583 ; 200 break;
585 0162 201b jra L751
586 0164 L331:
587 ; 202 case PRE_CALIBRATION_STATE:
587 ; 203 TSL_SCKey_PreRecalibrationTreatment( );
589 0164 cd0273 call _TSL_SCKey_PreRecalibrationTreatment
591 ; 204 break;
593 0167 2016 jra L751
594 0169 L531:
595 ; 206 case CALIBRATION_STATE:
595 ; 207 if ( TSL_SCKey_CheckErrorCondition() )
597 0169 cd02dc call _TSL_SCKey_CheckErrorCondition
599 016c 4d tnz a
600 016d 2705 jreq L561
601 ; 209 TSL_SCKey_SetErrorState();
603 016f cd0000 call _TSL_SCKey_SetErrorState
605 ; 210 break;
607 0172 200b jra L751
608 0174 L561:
609 ; 212 TSL_SCKey_CalibrationTreatment( );
611 0174 cd0294 call _TSL_SCKey_CalibrationTreatment
613 ; 213 TSL_SCKey_CheckDisabled( );
615 ; 214 break;
617 0177 L731:
618 ; 216 case ERROR_STATE:
618 ; 217 TSL_SCKey_CheckDisabled( );
623 0177 cd02c0 call _TSL_SCKey_CheckDisabled
625 ; 218 break;
627 017a 2003 jra L751
628 017c L141:
629 ; 220 case DISABLED_STATE:
629 ; 221 TSL_SCKey_CheckEnabled( );
631 017c cd02cc call _TSL_SCKey_CheckEnabled
633 ; 222 break;
635 017f L751:
636 ; 232 TSL_TempGlobalSetting.whole |= pKeyStruct->Setting.whole;
638 017f be00 ldw x,_pKeyStruct
639 0181 ee01 ldw x,(1,x)
640 0183 01 rrwa x,a
641 0184 ba01 or a,_TSL_TempGlobalSetting+1
642 0186 01 rrwa x,a
643 0187 ba00 or a,_TSL_TempGlobalSetting
644 0189 01 rrwa x,a
645 018a bf00 ldw _TSL_TempGlobalSetting,x
646 ; 233 TSL_TempGlobalState.whole |= pKeyStruct->State.whole;
648 018c b600 ld a,_TSL_TempGlobalState
649 018e 92ca00 or a,[_pKeyStruct.w]
650 0191 b700 ld _TSL_TempGlobalState,a
651 ; 234 pKeyStruct->Setting.b.CHANGED = 0;
653 0193 be00 ldw x,_pKeyStruct
654 0195 e602 ld a,(2,x)
655 0197 a4f7 and a,#247
656 0199 e702 ld (2,x),a
657 ; 236 }
660 019b 81 ret
689 ; 249 void TSL_SCKey_IdleTreatment(void)
689 ; 250 {
690 switch .text
691 019c _TSL_SCKey_IdleTreatment:
695 ; 252 if (pKeyStruct->Channel.LastMeasRejectNb > MAX_REJECTED_MEASUREMENTS)
697 019c be00 ldw x,_pKeyStruct
698 019e e607 ld a,(7,x)
699 01a0 a115 cp a,#21
700 01a2 2501 jrult L302
701 ; 254 return;
704 01a4 81 ret
705 01a5 L302:
706 ; 268 if (( Delta >= pKeyStruct->DetectThreshold ) || ( Delta <= pKeyStruct->RecalibrationThreshold ))
708 01a5 e60c ld a,(12,x)
709 01a7 5f clrw x
710 01a8 4d tnz a
711 01a9 2a01 jrpl L021
712 01ab 53 cplw x
713 01ac L021:
714 01ac 97 ld xl,a
715 01ad b300 cpw x,_Delta
716 01af 2d0e jrsle L702
718 01b1 be00 ldw x,_pKeyStruct
719 01b3 e60e ld a,(14,x)
720 01b5 5f clrw x
721 01b6 4d tnz a
722 01b7 2a01 jrpl L221
723 01b9 53 cplw x
724 01ba L221:
725 01ba 97 ld xl,a
726 01bb b300 cpw x,_Delta
727 01bd 2f0d jrslt L502
728 01bf L702:
729 ; 271 TSL_SCKey_SetPreDetectState( );
731 01bf cd0000 call _TSL_SCKey_SetPreDetectState
733 ; 272 if ( !DetectionIntegrator )
735 01c2 b600 ld a,_DetectionIntegrator
736 01c4 2606 jrne L502
737 ; 274 pKeyStruct->Channel.IntegratorCounter++;
739 01c6 be00 ldw x,_pKeyStruct
740 01c8 6c0a inc (10,x)
741 ; 275 TSL_SCKey_PreDetectTreatment( );
743 01ca ad01 call _TSL_SCKey_PreDetectTreatment
745 01cc L502:
746 ; 279 }
749 01cc 81 ret
778 ; 292 void TSL_SCKey_PreDetectTreatment(void)
778 ; 293 {
779 switch .text
780 01cd _TSL_SCKey_PreDetectTreatment:
784 ; 299 if ((pKeyStruct->Channel.LastMeasRejectNb <= MAX_REJECTED_MEASUREMENTS) &&
784 ; 300 (( Delta >= pKeyStruct->DetectThreshold ) || ( Delta <= pKeyStruct->RecalibrationThreshold )))
786 01cd be00 ldw x,_pKeyStruct
787 01cf e607 ld a,(7,x)
788 01d1 a115 cp a,#21
789 01d3 2426 jruge L322
791 01d5 e60c ld a,(12,x)
792 01d7 5f clrw x
793 01d8 4d tnz a
794 01d9 2a01 jrpl L231
795 01db 53 cplw x
796 01dc L231:
797 01dc 97 ld xl,a
798 01dd b300 cpw x,_Delta
799 01df 2d0e jrsle L522
801 01e1 be00 ldw x,_pKeyStruct
802 01e3 e60e ld a,(14,x)
803 01e5 5f clrw x
804 01e6 4d tnz a
805 01e7 2a01 jrpl L431
806 01e9 53 cplw x
807 01ea L431:
808 01ea 97 ld xl,a
809 01eb b300 cpw x,_Delta
810 01ed 2f0c jrslt L322
811 01ef L522:
812 ; 303 TSL_SCKey_DES( );
814 01ef cd0000 call _TSL_SCKey_DES
816 ; 304 pKeyStruct->Channel.IntegratorCounter--;
818 01f2 be00 ldw x,_pKeyStruct
819 01f4 6a0a dec (10,x)
820 ; 305 if ( !pKeyStruct->Channel.IntegratorCounter )
822 01f6 2606 jrne L132
823 ; 307 TSL_SCKey_SetDetectedState( );
827 01f8 cc0000 jp _TSL_SCKey_SetDetectedState
828 01fb L322:
829 ; 312 TSL_SCKey_BackToIdleState( );
831 01fb cd0000 call _TSL_SCKey_BackToIdleState
833 ; 313 return;
836 01fe L132:
837 ; 316 }
840 01fe 81 ret
870 ; 329 void TSL_SCKey_DetectedTreatment(void)
870 ; 330 {
871 switch .text
872 01ff _TSL_SCKey_DetectedTreatment:
876 ; 336 if ((pKeyStruct->Channel.LastMeasRejectNb <= MAX_REJECTED_MEASUREMENTS) &&
876 ; 337 ((( Delta <= pKeyStruct->EndDetectThreshold )&&(Delta > 0)) || (( Delta >= pKeyStruct->RecalibrationThreshold)&&(Delta < 0))))
878 01ff be00 ldw x,_pKeyStruct
879 0201 e607 ld a,(7,x)
880 0203 a115 cp a,#21
881 0205 2431 jruge L342
883 0207 e60d ld a,(13,x)
884 0209 5f clrw x
885 020a 4d tnz a
886 020b 2a01 jrpl L641
887 020d 53 cplw x
888 020e L641:
889 020e 97 ld xl,a
890 020f b300 cpw x,_Delta
891 0211 2f05 jrslt L742
893 0213 9c rvf
894 0214 be00 ldw x,_Delta
895 0216 2c12 jrsgt L542
896 0218 L742:
898 0218 be00 ldw x,_pKeyStruct
899 021a e60e ld a,(14,x)
900 021c 5f clrw x
901 021d 4d tnz a
902 021e 2a01 jrpl L051
903 0220 53 cplw x
904 0221 L051:
905 0221 97 ld xl,a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -