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

📄 stm8_tsl_rc_api.ls

📁 STM8-触摸例程
💻 LS
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
   3                     ; Optimizer V4.2.8 - 03 Dec 2008
  83                     ; 130 void TSL_Init(void)
  83                     ; 131 {
  85                     	switch	.text
  86  0000               _TSL_Init:
  90                     ; 133   disableInterrupts();
  93  0000 9b            	sim	
  95                     ; 135   DetectionIntegrator = DETECTION_INTEGRATOR_DEFAULT;
  98  0001 35020011      	mov	_DetectionIntegrator,#2
  99                     ; 136   EndDetectionIntegrator = END_DETECTION_INTEGRATOR_DEFAULT;
 101  0005 35020010      	mov	_EndDetectionIntegrator,#2
 102                     ; 137   ECSTimeStep = ECS_TIME_STEP_DEFAULT;
 104  0009 3514000e      	mov	_ECSTimeStep,#20
 105                     ; 138   ECSTemporization = ECS_TEMPO_DEFAULT;
 107  000d 3514000d      	mov	_ECSTemporization,#20
 108                     ; 139   RecalibrationIntegrator = RECALIBRATION_INTEGRATOR_DEFAULT;
 110  0011 350a000f      	mov	_RecalibrationIntegrator,#10
 111                     ; 140   DetectionTimeout = DTO_DEFAULT;
 113  0015 3f12          	clr	_DetectionTimeout
 114                     ; 142   ECS_K_Fast = ECS_IIR_KFAST_DEFAULT;
 116  0017 3514000c      	mov	_ECS_K_Fast,#20
 117                     ; 143   ECS_K_Slow = ECS_IIR_KSLOW_DEFAULT;
 119  001b 350a000b      	mov	_ECS_K_Slow,#10
 120                     ; 144   ECSTimeStepCounter = ECSTimeStep;
 122  001f 35140002      	mov	_ECSTimeStepCounter,#20
 123                     ; 145   ECSTempoCounter = 0;
 125  0023 3f01          	clr	_ECSTempoCounter
 126                     ; 146   ECSTempoPrescaler = 0;
 128  0025 3f00          	clr	_ECSTempoPrescaler
 129                     ; 148   TSL_IO_Init();
 131  0027 cd0000        	call	_TSL_IO_Init
 133                     ; 150   TSL_Timer_Init();
 135  002a cd0000        	call	_TSL_Timer_Init
 137                     ; 152   TSL_SCKey_Init();
 139  002d cd0000        	call	_TSL_SCKey_Init
 141                     ; 158   enableInterrupts();
 144  0030 9a            	rim	
 146                     ; 160   TSLState = TSL_IDLE_STATE;
 149  0031 350100ae      	mov	_TSLState,#1
 150                     ; 162 }
 153  0035 81            	ret	
 191                     ; 175 void TSL_Action(void)
 191                     ; 176 {
 192                     	switch	.text
 193  0036               _TSL_Action:
 197                     ; 178   switch ( TSLState )
 199  0036 b6ae          	ld	a,_TSLState
 201                     ; 288       break;
 202  0038 4a            	dec	a
 203  0039 2718          	jreq	L53
 204  003b 4a            	dec	a
 205  003c 271a          	jreq	L73
 206  003e 4a            	dec	a
 207  003f 272e          	jreq	L14
 208  0041 4a            	dec	a
 209  0042 273d          	jreq	L34
 210  0044 4a            	dec	a
 211  0045 2742          	jreq	L54
 212  0047 4a            	dec	a
 213  0048 2753          	jreq	L74
 214  004a 4a            	dec	a
 215  004b 2758          	jreq	L15
 216  004d a004          	sub	a,#4
 217  004f 2768          	jreq	L35
 218  0051               L511:
 220  0051 20fe          	jra	L511
 221  0053               L53:
 222                     ; 181     case TSL_IDLE_STATE:
 222                     ; 182       TSLState = TSL_SCKEY_P1_ACQ_STATE;
 224  0053 350200ae      	mov	_TSLState,#2
 225                     ; 183       break;
 228  0057 81            	ret	
 229  0058               L73:
 230                     ; 186       disableInterrupts();
 233  0058 9b            	sim	
 235                     ; 187       Local_TickFlag.b.DTO_1sec = TSL_Tick_Flags.b.DTO_1sec;
 238                     	btst	_TSL_Tick_Flags,#0
 239  005e 90110003      	bccm	_Local_TickFlag,#0
 240                     ; 188       TSL_Tick_Flags.b.DTO_1sec = 0;
 242  0062 72110000      	bres	_TSL_Tick_Flags,#0
 243                     ; 189       enableInterrupts();
 246  0066 9a            	rim	
 248                     ; 191       TSL_SCKEY_P1_Acquisition();
 251  0067 cd0000        	call	_TSL_SCKEY_P1_Acquisition
 253                     ; 192       TSLState = TSL_SCKEY_P1_PROC_STATE;
 255  006a 350300ae      	mov	_TSLState,#3
 256                     ; 193       break;
 259  006e 81            	ret	
 260  006f               L14:
 261                     ; 195     case TSL_SCKEY_P1_PROC_STATE:
 261                     ; 196       for ( KeyIndex = 0; KeyIndex < SCKEY_P1_KEY_COUNT; KeyIndex++ )
 263  006f b70a          	ld	_KeyIndex,a
 264  0071               L37:
 265                     ; 198         TSL_SCKey_Process();
 267  0071 cd0000        	call	_TSL_SCKey_Process
 269                     ; 196       for ( KeyIndex = 0; KeyIndex < SCKEY_P1_KEY_COUNT; KeyIndex++ )
 271  0074 3c0a          	inc	_KeyIndex
 274  0076 b60a          	ld	a,_KeyIndex
 275  0078 a105          	cp	a,#5
 276  007a 25f5          	jrult	L37
 277                     ; 202       TSLState = TSL_SCKEY_P2_ACQ_STATE;
 279  007c 350400ae      	mov	_TSLState,#4
 280                     ; 210       break;
 283  0080 81            	ret	
 284  0081               L34:
 285                     ; 213     case TSL_SCKEY_P2_ACQ_STATE:
 285                     ; 214       TSL_SCKEY_P2_Acquisition();
 287  0081 cd0000        	call	_TSL_SCKEY_P2_Acquisition
 289                     ; 215       TSLState = TSL_SCKEY_P2_PROC_STATE;
 291  0084 350500ae      	mov	_TSLState,#5
 292                     ; 216       break;
 295  0088 81            	ret	
 296  0089               L54:
 297                     ; 218     case TSL_SCKEY_P2_PROC_STATE:
 297                     ; 219       for ( KeyIndex = SCKEY_P1_KEY_COUNT; KeyIndex < (SCKEY_P2_KEY_COUNT + SCKEY_P1_KEY_COUNT); KeyIndex++ )
 299  0089 3505000a      	mov	_KeyIndex,#5
 300  008d               L101:
 301                     ; 221         TSL_SCKey_Process();
 303  008d cd0000        	call	_TSL_SCKey_Process
 305                     ; 219       for ( KeyIndex = SCKEY_P1_KEY_COUNT; KeyIndex < (SCKEY_P2_KEY_COUNT + SCKEY_P1_KEY_COUNT); KeyIndex++ )
 307  0090 3c0a          	inc	_KeyIndex
 310  0092 b60a          	ld	a,_KeyIndex
 311  0094 a106          	cp	a,#6
 312  0096 25f5          	jrult	L101
 313                     ; 225       TSLState = TSL_SCKEY_P3_ACQ_STATE;
 315  0098 350600ae      	mov	_TSLState,#6
 316                     ; 233       break;
 319  009c 81            	ret	
 320  009d               L74:
 321                     ; 237     case TSL_SCKEY_P3_ACQ_STATE:
 321                     ; 238       TSL_SCKEY_P3_Acquisition();
 323  009d cd0000        	call	_TSL_SCKEY_P3_Acquisition
 325                     ; 239       TSLState = TSL_SCKEY_P3_PROC_STATE;
 327  00a0 350700ae      	mov	_TSLState,#7
 328                     ; 240       break;
 331  00a4 81            	ret	
 332  00a5               L15:
 333                     ; 242     case TSL_SCKEY_P3_PROC_STATE:
 333                     ; 243       for ( KeyIndex = (SCKEY_P1_KEY_COUNT + SCKEY_P2_KEY_COUNT); KeyIndex < (SCKEY_P3_KEY_COUNT + SCKEY_P1_KEY_COUNT + SCKEY_P2_KEY_COUNT); KeyIndex++ )
 335  00a5 3506000a      	mov	_KeyIndex,#6
 336  00a9               L701:
 337                     ; 245         TSL_SCKey_Process();
 339  00a9 cd0000        	call	_TSL_SCKey_Process
 341                     ; 243       for ( KeyIndex = (SCKEY_P1_KEY_COUNT + SCKEY_P2_KEY_COUNT); KeyIndex < (SCKEY_P3_KEY_COUNT + SCKEY_P1_KEY_COUNT + SCKEY_P2_KEY_COUNT); KeyIndex++ )
 343  00ac 3c0a          	inc	_KeyIndex
 346  00ae b60a          	ld	a,_KeyIndex
 347  00b0 a10a          	cp	a,#10
 348  00b2 25f5          	jrult	L701
 349                     ; 250       TSLState = TSL_ECS_STATE;
 351  00b4 350b00ae      	mov	_TSLState,#11
 352                     ; 252       break;
 355  00b8 81            	ret	
 356  00b9               L35:
 357                     ; 281     case TSL_ECS_STATE:
 357                     ; 282       TSL_ECS();
 359  00b9 cd0000        	call	_TSL_ECS
 361                     ; 283       TSL_GlobalSetting.whole = TSL_TempGlobalSetting.whole;
 363  00bc be06          	ldw	x,_TSL_TempGlobalSetting
 364  00be bfac          	ldw	_TSL_GlobalSetting,x
 365                     ; 284       TSL_TempGlobalSetting.whole = 0;
 367  00c0 5f            	clrw	x
 368  00c1 bf06          	ldw	_TSL_TempGlobalSetting,x
 369                     ; 285       TSL_GlobalState.whole = TSL_TempGlobalState.whole;
 371  00c3 4505ab        	mov	_TSL_GlobalState,_TSL_TempGlobalState
 372                     ; 286       TSL_TempGlobalState.whole = 0;
 374  00c6 3f05          	clr	_TSL_TempGlobalState
 375                     ; 287       TSLState = TSL_IDLE_STATE;
 377  00c8 350100ae      	mov	_TSLState,#1
 378                     ; 288       break;
 380                     ; 296 }
 383  00cc 81            	ret	
1233                     	xref	_TSL_ECS
1234                     	switch	.ubsct
1235  0000               _ECSTempoPrescaler:
1236  0000 00            	ds.b	1
1237                     	xdef	_ECSTempoPrescaler
1238  0001               _ECSTempoCounter:
1239  0001 00            	ds.b	1
1240                     	xdef	_ECSTempoCounter
1241  0002               _ECSTimeStepCounter:
1242  0002 00            	ds.b	1
1243                     	xdef	_ECSTimeStepCounter
1244  0003               _Local_TickFlag:
1245  0003 00            	ds.b	1
1246                     	xdef	_Local_TickFlag
1247  0004               _Local_TickECS10ms:
1248  0004 00            	ds.b	1
1249                     	xdef	_Local_TickECS10ms
1250  0005               _TSL_TempGlobalState:
1251  0005 00            	ds.b	1
1252                     	xdef	_TSL_TempGlobalState
1253  0006               _TSL_TempGlobalSetting:
1254  0006 0000          	ds.b	2
1255                     	xdef	_TSL_TempGlobalSetting
1256  0008               _Delta:
1257  0008 0000          	ds.b	2
1258                     	xdef	_Delta
1259  000a               _KeyIndex:
1260  000a 00            	ds.b	1
1261                     	xdef	_KeyIndex
1262                     	xref	_TSL_IO_Init
1263                     	xref	_TSL_SCKey_Process
1264                     	xref	_TSL_SCKEY_P3_Acquisition
1265                     	xref	_TSL_SCKEY_P2_Acquisition
1266                     	xref	_TSL_SCKEY_P1_Acquisition
1267                     	xref	_TSL_SCKey_Init
1268                     	xdef	_TSL_Action
1269                     	xdef	_TSL_Init
1270  000b               _ECS_K_Slow:
1271  000b 00            	ds.b	1
1272                     	xdef	_ECS_K_Slow
1273  000c               _ECS_K_Fast:
1274  000c 00            	ds.b	1
1275                     	xdef	_ECS_K_Fast
1276  000d               _ECSTemporization:
1277  000d 00            	ds.b	1
1278                     	xdef	_ECSTemporization
1279  000e               _ECSTimeStep:
1280  000e 00            	ds.b	1
1281                     	xdef	_ECSTimeStep
1282  000f               _RecalibrationIntegrator:
1283  000f 00            	ds.b	1
1284                     	xdef	_RecalibrationIntegrator
1285  0010               _EndDetectionIntegrator:
1286  0010 00            	ds.b	1
1287                     	xdef	_EndDetectionIntegrator
1288  0011               _DetectionIntegrator:
1289  0011 00            	ds.b	1
1290                     	xdef	_DetectionIntegrator
1291  0012               _DetectionTimeout:
1292  0012 00            	ds.b	1
1293                     	xdef	_DetectionTimeout
1294  0013               _sSCKeyInfo:
1295  0013 000000000000  	ds.b	150
1296                     	xdef	_sSCKeyInfo
1297  00a9               _pKeyStruct:
1298  00a9 0000          	ds.b	2
1299                     	xdef	_pKeyStruct
1300  00ab               _TSL_GlobalState:
1301  00ab 00            	ds.b	1
1302                     	xdef	_TSL_GlobalState
1303  00ac               _TSL_GlobalSetting:
1304  00ac 0000          	ds.b	2
1305                     	xdef	_TSL_GlobalSetting
1306  00ae               _TSLState:
1307  00ae 00            	ds.b	1
1308                     	xdef	_TSLState
1309                     	xref	_TSL_Timer_Init
1310                     	xref.b	_TSL_Tick_Flags
1330                     	end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -