📄 stm8_tsl_rc_api.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 + -