📄 stm8s_tim2.ls
字号:
998 ; 241 (u8)TIM2_ICFilter);
1000 0132 7b07 ld a,(OFST+7,sp)
1001 0134 88 push a
1002 0135 7b06 ld a,(OFST+6,sp)
1003 0137 97 ld xl,a
1004 0138 7b03 ld a,(OFST+3,sp)
1005 013a 95 ld xh,a
1006 013b cd04ba call L7_TI3_Config
1008 013e 84 pop a
1009 ; 244 TIM2_SetIC3Prescaler(TIM2_ICPrescaler);
1011 013f 7b06 ld a,(OFST+6,sp)
1012 0141 cd035a call _TIM2_SetIC3Prescaler
1014 0144 L304:
1015 ; 246 }
1018 0144 85 popw x
1019 0145 81 ret
1115 ; 258 void TIM2_PWMIConfig(TIM2_Channel_TypeDef TIM2_Channel,
1115 ; 259 TIM2_ICPolarity_TypeDef TIM2_ICPolarity,
1115 ; 260 TIM2_ICSelection_TypeDef TIM2_ICSelection,
1115 ; 261 TIM2_ICPSC_TypeDef TIM2_ICPrescaler,
1115 ; 262 u8 TIM2_ICFilter)
1115 ; 263 {
1116 switch .text
1117 0146 _TIM2_PWMIConfig:
1119 0146 89 pushw x
1120 0147 89 pushw x
1121 00000002 OFST: set 2
1124 ; 264 u8 icpolarity = (u8)TIM2_ICPOLARITY_RISING;
1126 ; 265 u8 icselection = (u8)TIM2_ICSELECTION_DIRECTTI;
1128 ; 268 assert_param(IS_TIM2_PWMI_CHANNEL_OK(TIM2_Channel));
1130 ; 269 assert_param(IS_TIM2_IC_POLARITY_OK(TIM2_ICPolarity));
1132 ; 270 assert_param(IS_TIM2_IC_SELECTION_OK(TIM2_ICSelection));
1134 ; 271 assert_param(IS_TIM2_IC_PRESCALER_OK(TIM2_ICPrescaler));
1136 ; 274 if (TIM2_ICPolarity != TIM2_ICPOLARITY_FALLING)
1138 0148 9f ld a,xl
1139 0149 a144 cp a,#68
1140 014b 2706 jreq L754
1141 ; 276 icpolarity = (u8)TIM2_ICPOLARITY_FALLING;
1143 014d a644 ld a,#68
1144 014f 6b01 ld (OFST-1,sp),a
1146 0151 2002 jra L164
1147 0153 L754:
1148 ; 280 icpolarity = (u8)TIM2_ICPOLARITY_RISING;
1150 0153 0f01 clr (OFST-1,sp)
1151 0155 L164:
1152 ; 284 if (TIM2_ICSelection == TIM2_ICSELECTION_DIRECTTI)
1154 0155 7b07 ld a,(OFST+5,sp)
1155 0157 a101 cp a,#1
1156 0159 2606 jrne L364
1157 ; 286 icselection = (u8)TIM2_ICSELECTION_INDIRECTTI;
1159 015b a602 ld a,#2
1160 015d 6b02 ld (OFST+0,sp),a
1162 015f 2004 jra L564
1163 0161 L364:
1164 ; 290 icselection = (u8)TIM2_ICSELECTION_DIRECTTI;
1166 0161 a601 ld a,#1
1167 0163 6b02 ld (OFST+0,sp),a
1168 0165 L564:
1169 ; 293 if (TIM2_Channel == TIM2_CHANNEL_1)
1171 0165 0d03 tnz (OFST+1,sp)
1172 0167 2626 jrne L764
1173 ; 296 TI1_Config((u8)TIM2_ICPolarity, (u8)TIM2_ICSelection,
1173 ; 297 (u8)TIM2_ICFilter);
1175 0169 7b09 ld a,(OFST+7,sp)
1176 016b 88 push a
1177 016c 7b08 ld a,(OFST+6,sp)
1178 016e 97 ld xl,a
1179 016f 7b05 ld a,(OFST+3,sp)
1180 0171 95 ld xh,a
1181 0172 cd045a call L3_TI1_Config
1183 0175 84 pop a
1184 ; 300 TIM2_SetIC1Prescaler(TIM2_ICPrescaler);
1186 0176 7b08 ld a,(OFST+6,sp)
1187 0178 cd0340 call _TIM2_SetIC1Prescaler
1189 ; 303 TI2_Config(icpolarity, icselection, TIM2_ICFilter);
1191 017b 7b09 ld a,(OFST+7,sp)
1192 017d 88 push a
1193 017e 7b03 ld a,(OFST+1,sp)
1194 0180 97 ld xl,a
1195 0181 7b02 ld a,(OFST+0,sp)
1196 0183 95 ld xh,a
1197 0184 cd048a call L5_TI2_Config
1199 0187 84 pop a
1200 ; 306 TIM2_SetIC2Prescaler(TIM2_ICPrescaler);
1202 0188 7b08 ld a,(OFST+6,sp)
1203 018a cd034d call _TIM2_SetIC2Prescaler
1206 018d 2024 jra L174
1207 018f L764:
1208 ; 311 TI2_Config((u8)TIM2_ICPolarity, (u8)TIM2_ICSelection,
1208 ; 312 (u8)TIM2_ICFilter);
1210 018f 7b09 ld a,(OFST+7,sp)
1211 0191 88 push a
1212 0192 7b08 ld a,(OFST+6,sp)
1213 0194 97 ld xl,a
1214 0195 7b05 ld a,(OFST+3,sp)
1215 0197 95 ld xh,a
1216 0198 cd048a call L5_TI2_Config
1218 019b 84 pop a
1219 ; 315 TIM2_SetIC2Prescaler(TIM2_ICPrescaler);
1221 019c 7b08 ld a,(OFST+6,sp)
1222 019e cd034d call _TIM2_SetIC2Prescaler
1224 ; 318 TI1_Config((u8)icpolarity, icselection, (u8)TIM2_ICFilter);
1226 01a1 7b09 ld a,(OFST+7,sp)
1227 01a3 88 push a
1228 01a4 7b03 ld a,(OFST+1,sp)
1229 01a6 97 ld xl,a
1230 01a7 7b02 ld a,(OFST+0,sp)
1231 01a9 95 ld xh,a
1232 01aa cd045a call L3_TI1_Config
1234 01ad 84 pop a
1235 ; 321 TIM2_SetIC1Prescaler(TIM2_ICPrescaler);
1237 01ae 7b08 ld a,(OFST+6,sp)
1238 01b0 cd0340 call _TIM2_SetIC1Prescaler
1240 01b3 L174:
1241 ; 323 }
1244 01b3 5b04 addw sp,#4
1245 01b5 81 ret
1300 ; 332 void TIM2_Cmd(FunctionalState NewState)
1300 ; 333 {
1301 switch .text
1302 01b6 _TIM2_Cmd:
1306 ; 335 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
1308 ; 338 if (NewState != DISABLE)
1310 01b6 4d tnz a
1311 01b7 2706 jreq L125
1312 ; 340 TIM2->CR1 |= (u8)TIM2_CR1_CEN;
1314 01b9 72105300 bset 21248,#0
1316 01bd 2004 jra L325
1317 01bf L125:
1318 ; 344 TIM2->CR1 &= (u8)(~TIM2_CR1_CEN);
1320 01bf 72115300 bres 21248,#0
1321 01c3 L325:
1322 ; 346 }
1325 01c3 81 ret
1404 ; 362 void TIM2_ITConfig(TIM2_IT_TypeDef TIM2_IT, FunctionalState NewState)
1404 ; 363 {
1405 switch .text
1406 01c4 _TIM2_ITConfig:
1408 01c4 89 pushw x
1409 00000000 OFST: set 0
1412 ; 365 assert_param(IS_TIM2_IT_OK(TIM2_IT));
1414 ; 366 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
1416 ; 368 if (NewState != DISABLE)
1418 01c5 9f ld a,xl
1419 01c6 4d tnz a
1420 01c7 2709 jreq L365
1421 ; 371 TIM2->IER |= (u8)TIM2_IT;
1423 01c9 9e ld a,xh
1424 01ca ca5301 or a,21249
1425 01cd c75301 ld 21249,a
1427 01d0 2009 jra L565
1428 01d2 L365:
1429 ; 376 TIM2->IER &= (u8)(~TIM2_IT);
1431 01d2 7b01 ld a,(OFST+1,sp)
1432 01d4 43 cpl a
1433 01d5 c45301 and a,21249
1434 01d8 c75301 ld 21249,a
1435 01db L565:
1436 ; 378 }
1439 01db 85 popw x
1440 01dc 81 ret
1476 ; 387 void TIM2_UpdateDisableConfig(FunctionalState NewState)
1476 ; 388 {
1477 switch .text
1478 01dd _TIM2_UpdateDisableConfig:
1482 ; 390 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
1484 ; 393 if (NewState != DISABLE)
1486 01dd 4d tnz a
1487 01de 2706 jreq L506
1488 ; 395 TIM2->CR1 |= (u8)TIM2_CR1_UDIS;
1490 01e0 72125300 bset 21248,#1
1492 01e4 2004 jra L706
1493 01e6 L506:
1494 ; 399 TIM2->CR1 &= (u8)(~TIM2_CR1_UDIS);
1496 01e6 72135300 bres 21248,#1
1497 01ea L706:
1498 ; 401 }
1501 01ea 81 ret
1559 ; 411 void TIM2_UpdateRequestConfig(TIM2_UpdateSource_TypeDef TIM2_UpdateSource)
1559 ; 412 {
1560 switch .text
1561 01eb _TIM2_UpdateRequestConfig:
1565 ; 414 assert_param(IS_TIM2_UPDATE_SOURCE_OK(TIM2_UpdateSource));
1567 ; 417 if (TIM2_UpdateSource != TIM2_UPDATESOURCE_GLOBAL)
1569 01eb 4d tnz a
1570 01ec 2706 jreq L736
1571 ; 419 TIM2->CR1 |= (u8)TIM2_CR1_URS;
1573 01ee 72145300 bset 21248,#2
1575 01f2 2004 jra L146
1576 01f4 L736:
1577 ; 423 TIM2->CR1 &= (u8)(~TIM2_CR1_URS);
1579 01f4 72155300 bres 21248,#2
1580 01f8 L146:
1581 ; 425 }
1584 01f8 81 ret
1641 ; 436 void TIM2_SelectOnePulseMode(TIM2_OPMode_TypeDef TIM2_OPMode)
1641 ; 437 {
1642 switch .text
1643 01f9 _TIM2_SelectOnePulseMode:
1647 ; 439 assert_param(IS_TIM2_OPM_MODE_OK(TIM2_OPMode));
1649 ; 442 if (TIM2_OPMode != TIM2_OPMODE_REPETITIVE)
1651 01f9 4d tnz a
1652 01fa 2706 jreq L176
1653 ; 444 TIM2->CR1 |= (u8)TIM2_CR1_OPM;
1655 01fc 72165300 bset 21248,#3
1657 0200 2004 jra L376
1658 0202 L176:
1659 ; 448 TIM2->CR1 &= (u8)(~TIM2_CR1_OPM);
1661 0202 72175300 bres 21248,#3
1662 0206 L376:
1663 ; 451 }
1666 0206 81 ret
1734 ; 482 void TIM2_PrescalerConfig(TIM2_Prescaler_TypeDef Prescaler,
1734 ; 483 TIM2_PSCReloadMode_TypeDef TIM2_PSCReloadMode)
1734 ; 484 {
1735 switch .text
1736 0207 _TIM2_PrescalerConfig:
1740 ; 486 assert_param(IS_TIM2_PRESCALER_RELOAD_OK(TIM2_PSCReloadMode));
1742 ; 487 assert_param(IS_TIM2_PRESCALER_OK(Prescaler));
1744 ; 490 TIM2->PSCR = (u8)Prescaler;
1746 0207 9e ld a,xh
1747 0208 c7530c ld 21260,a
1748 ; 493 TIM2->EGR = (u8)TIM2_PSCReloadMode;
1750 020b 9f ld a,xl
1751 020c c75304 ld 21252,a
1752 ; 494 }
1755 020f 81 ret
1813 ; 505 void TIM2_ForcedOC1Config(TIM2_ForcedAction_TypeDef TIM2_ForcedAction)
1813 ; 506 {
1814 switch .text
1815 0210 _TIM2_ForcedOC1Config:
1817 0210 88 push a
1818 00000000 OFST: set 0
1821 ; 508 assert_param(IS_TIM2_FORCED_ACTION_OK(TIM2_ForcedAction));
1823 ; 511 TIM2->CCMR1 = (u8)((TIM2->CCMR1 & (u8)(~TIM2_CCMR_OCM)) | (u8)TIM2_ForcedAction);
1825 0211 c65305 ld a,21253
1826 0214 a48f and a,#143
1827 0216 1a01 or a,(OFST+1,sp)
1828 0218 c75305 ld 21253,a
1829 ; 512 }
1832 021b 84 pop a
1833 021c 81 ret
1869 ; 523 void TIM2_ForcedOC2Config(TIM2_ForcedAction_TypeDef TIM2_ForcedAction)
1869 ; 524 {
1870 switch .text
1871 021d _TIM2_ForcedOC2Config:
1873 021d 88 push a
1874 00000000 OFST: set 0
1877 ; 526 assert_param(IS_TIM2_FORCED_ACTION_OK(TIM2_ForcedAction));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -