⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stm8_tsl_rc_singlechannelkey.ls

📁 STM8-触摸例程
💻 LS
📖 第 1 页 / 共 3 页
字号:
 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 + -