?? stm8s_tim2.ls
字號:
993 0138 7b03 ld a,(OFST+3,sp)
994 013a 95 ld xh,a
995 013b cd04d9 call L7_TI3_Config
997 013e 84 pop a
998 ; 244 TIM2_SetIC3Prescaler(TIM2_ICPrescaler);
1000 013f 7b06 ld a,(OFST+6,sp)
1001 0141 cd0361 call _TIM2_SetIC3Prescaler
1003 0144 L304:
1004 ; 246 }
1007 0144 85 popw x
1008 0145 81 ret
1104 ; 258 void TIM2_PWMIConfig(TIM2_Channel_TypeDef TIM2_Channel,
1104 ; 259 TIM2_ICPolarity_TypeDef TIM2_ICPolarity,
1104 ; 260 TIM2_ICSelection_TypeDef TIM2_ICSelection,
1104 ; 261 TIM2_ICPSC_TypeDef TIM2_ICPrescaler,
1104 ; 262 u8 TIM2_ICFilter)
1104 ; 263 {
1105 switch .text
1106 0146 _TIM2_PWMIConfig:
1108 0146 89 pushw x
1109 0147 89 pushw x
1110 00000002 OFST: set 2
1113 ; 264 u8 icpolarity = (u8)TIM2_ICPOLARITY_RISING;
1115 0148 7b01 ld a,(OFST-1,sp)
1116 014a 97 ld xl,a
1117 ; 265 u8 icselection = (u8)TIM2_ICSELECTION_DIRECTTI;
1119 014b 7b02 ld a,(OFST+0,sp)
1120 014d 97 ld xl,a
1121 ; 268 assert_param(IS_TIM2_PWMI_CHANNEL_OK(TIM2_Channel));
1123 ; 269 assert_param(IS_TIM2_IC_POLARITY_OK(TIM2_ICPolarity));
1125 ; 270 assert_param(IS_TIM2_IC_SELECTION_OK(TIM2_ICSelection));
1127 ; 271 assert_param(IS_TIM2_IC_PRESCALER_OK(TIM2_ICPrescaler));
1129 ; 274 if (TIM2_ICPolarity != TIM2_ICPOLARITY_FALLING)
1131 014e 7b04 ld a,(OFST+2,sp)
1132 0150 a144 cp a,#68
1133 0152 2706 jreq L754
1134 ; 276 icpolarity = (u8)TIM2_ICPOLARITY_FALLING;
1136 0154 a644 ld a,#68
1137 0156 6b01 ld (OFST-1,sp),a
1139 0158 2002 jra L164
1140 015a L754:
1141 ; 280 icpolarity = (u8)TIM2_ICPOLARITY_RISING;
1143 015a 0f01 clr (OFST-1,sp)
1144 015c L164:
1145 ; 284 if (TIM2_ICSelection == TIM2_ICSELECTION_DIRECTTI)
1147 015c 7b07 ld a,(OFST+5,sp)
1148 015e a101 cp a,#1
1149 0160 2606 jrne L364
1150 ; 286 icselection = (u8)TIM2_ICSELECTION_INDIRECTTI;
1152 0162 a602 ld a,#2
1153 0164 6b02 ld (OFST+0,sp),a
1155 0166 2004 jra L564
1156 0168 L364:
1157 ; 290 icselection = (u8)TIM2_ICSELECTION_DIRECTTI;
1159 0168 a601 ld a,#1
1160 016a 6b02 ld (OFST+0,sp),a
1161 016c L564:
1162 ; 293 if (TIM2_Channel == TIM2_CHANNEL_1)
1164 016c 0d03 tnz (OFST+1,sp)
1165 016e 2626 jrne L764
1166 ; 296 TI1_Config((u8)TIM2_ICPolarity, (u8)TIM2_ICSelection,
1166 ; 297 (u8)TIM2_ICFilter);
1168 0170 7b09 ld a,(OFST+7,sp)
1169 0172 88 push a
1170 0173 7b08 ld a,(OFST+6,sp)
1171 0175 97 ld xl,a
1172 0176 7b05 ld a,(OFST+3,sp)
1173 0178 95 ld xh,a
1174 0179 cd0479 call L3_TI1_Config
1176 017c 84 pop a
1177 ; 300 TIM2_SetIC1Prescaler(TIM2_ICPrescaler);
1179 017d 7b08 ld a,(OFST+6,sp)
1180 017f cd0347 call _TIM2_SetIC1Prescaler
1182 ; 303 TI2_Config(icpolarity, icselection, TIM2_ICFilter);
1184 0182 7b09 ld a,(OFST+7,sp)
1185 0184 88 push a
1186 0185 7b03 ld a,(OFST+1,sp)
1187 0187 97 ld xl,a
1188 0188 7b02 ld a,(OFST+0,sp)
1189 018a 95 ld xh,a
1190 018b cd04a9 call L5_TI2_Config
1192 018e 84 pop a
1193 ; 306 TIM2_SetIC2Prescaler(TIM2_ICPrescaler);
1195 018f 7b08 ld a,(OFST+6,sp)
1196 0191 cd0354 call _TIM2_SetIC2Prescaler
1199 0194 2024 jra L174
1200 0196 L764:
1201 ; 311 TI2_Config((u8)TIM2_ICPolarity, (u8)TIM2_ICSelection,
1201 ; 312 (u8)TIM2_ICFilter);
1203 0196 7b09 ld a,(OFST+7,sp)
1204 0198 88 push a
1205 0199 7b08 ld a,(OFST+6,sp)
1206 019b 97 ld xl,a
1207 019c 7b05 ld a,(OFST+3,sp)
1208 019e 95 ld xh,a
1209 019f cd04a9 call L5_TI2_Config
1211 01a2 84 pop a
1212 ; 315 TIM2_SetIC2Prescaler(TIM2_ICPrescaler);
1214 01a3 7b08 ld a,(OFST+6,sp)
1215 01a5 cd0354 call _TIM2_SetIC2Prescaler
1217 ; 318 TI1_Config((u8)icpolarity, icselection, (u8)TIM2_ICFilter);
1219 01a8 7b09 ld a,(OFST+7,sp)
1220 01aa 88 push a
1221 01ab 7b03 ld a,(OFST+1,sp)
1222 01ad 97 ld xl,a
1223 01ae 7b02 ld a,(OFST+0,sp)
1224 01b0 95 ld xh,a
1225 01b1 cd0479 call L3_TI1_Config
1227 01b4 84 pop a
1228 ; 321 TIM2_SetIC1Prescaler(TIM2_ICPrescaler);
1230 01b5 7b08 ld a,(OFST+6,sp)
1231 01b7 cd0347 call _TIM2_SetIC1Prescaler
1233 01ba L174:
1234 ; 323 }
1237 01ba 5b04 addw sp,#4
1238 01bc 81 ret
1293 ; 332 void TIM2_Cmd(FunctionalState NewState)
1293 ; 333 {
1294 switch .text
1295 01bd _TIM2_Cmd:
1299 ; 335 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
1301 ; 338 if (NewState != DISABLE)
1303 01bd 4d tnz a
1304 01be 2706 jreq L125
1305 ; 340 TIM2->CR1 |= (u8)TIM2_CR1_CEN;
1307 01c0 72105300 bset 21248,#0
1309 01c4 2004 jra L325
1310 01c6 L125:
1311 ; 344 TIM2->CR1 &= (u8)(~TIM2_CR1_CEN);
1313 01c6 72115300 bres 21248,#0
1314 01ca L325:
1315 ; 346 }
1318 01ca 81 ret
1397 ; 362 void TIM2_ITConfig(TIM2_IT_TypeDef TIM2_IT, FunctionalState NewState)
1397 ; 363 {
1398 switch .text
1399 01cb _TIM2_ITConfig:
1401 01cb 89 pushw x
1402 00000000 OFST: set 0
1405 ; 365 assert_param(IS_TIM2_IT_OK(TIM2_IT));
1407 ; 366 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
1409 ; 368 if (NewState != DISABLE)
1411 01cc 9f ld a,xl
1412 01cd 4d tnz a
1413 01ce 2709 jreq L365
1414 ; 371 TIM2->IER |= (u8)TIM2_IT;
1416 01d0 9e ld a,xh
1417 01d1 ca5301 or a,21249
1418 01d4 c75301 ld 21249,a
1420 01d7 2009 jra L565
1421 01d9 L365:
1422 ; 376 TIM2->IER &= (u8)(~TIM2_IT);
1424 01d9 7b01 ld a,(OFST+1,sp)
1425 01db 43 cpl a
1426 01dc c45301 and a,21249
1427 01df c75301 ld 21249,a
1428 01e2 L565:
1429 ; 378 }
1432 01e2 85 popw x
1433 01e3 81 ret
1469 ; 387 void TIM2_UpdateDisableConfig(FunctionalState NewState)
1469 ; 388 {
1470 switch .text
1471 01e4 _TIM2_UpdateDisableConfig:
1475 ; 390 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
1477 ; 393 if (NewState != DISABLE)
1479 01e4 4d tnz a
1480 01e5 2706 jreq L506
1481 ; 395 TIM2->CR1 |= (u8)TIM2_CR1_UDIS;
1483 01e7 72125300 bset 21248,#1
1485 01eb 2004 jra L706
1486 01ed L506:
1487 ; 399 TIM2->CR1 &= (u8)(~TIM2_CR1_UDIS);
1489 01ed 72135300 bres 21248,#1
1490 01f1 L706:
1491 ; 401 }
1494 01f1 81 ret
1552 ; 411 void TIM2_UpdateRequestConfig(TIM2_UpdateSource_TypeDef TIM2_UpdateSource)
1552 ; 412 {
1553 switch .text
1554 01f2 _TIM2_UpdateRequestConfig:
1558 ; 414 assert_param(IS_TIM2_UPDATE_SOURCE_OK(TIM2_UpdateSource));
1560 ; 417 if (TIM2_UpdateSource != TIM2_UPDATESOURCE_GLOBAL)
1562 01f2 4d tnz a
1563 01f3 2706 jreq L736
1564 ; 419 TIM2->CR1 |= (u8)TIM2_CR1_URS;
1566 01f5 72145300 bset 21248,#2
1568 01f9 2004 jra L146
1569 01fb L736:
1570 ; 423 TIM2->CR1 &= (u8)(~TIM2_CR1_URS);
1572 01fb 72155300 bres 21248,#2
1573 01ff L146:
1574 ; 425 }
1577 01ff 81 ret
1634 ; 436 void TIM2_SelectOnePulseMode(TIM2_OPMode_TypeDef TIM2_OPMode)
1634 ; 437 {
1635 switch .text
1636 0200 _TIM2_SelectOnePulseMode:
1640 ; 439 assert_param(IS_TIM2_OPM_MODE_OK(TIM2_OPMode));
1642 ; 442 if (TIM2_OPMode != TIM2_OPMODE_REPETITIVE)
1644 0200 4d tnz a
1645 0201 2706 jreq L176
1646 ; 444 TIM2->CR1 |= (u8)TIM2_CR1_OPM;
1648 0203 72165300 bset 21248,#3
1650 0207 2004 jra L376
1651 0209 L176:
1652 ; 448 TIM2->CR1 &= (u8)(~TIM2_CR1_OPM);
1654 0209 72175300 bres 21248,#3
1655 020d L376:
1656 ; 451 }
1659 020d 81 ret
1727 ; 482 void TIM2_PrescalerConfig(TIM2_Prescaler_TypeDef Prescaler,
1727 ; 483 TIM2_PSCReloadMode_TypeDef TIM2_PSCReloadMode)
1727 ; 484 {
1728 switch .text
1729 020e _TIM2_PrescalerConfig:
1733 ; 486 assert_param(IS_TIM2_PRESCALER_RELOAD_OK(TIM2_PSCReloadMode));
1735 ; 487 assert_param(IS_TIM2_PRESCALER_OK(Prescaler));
1737 ; 490 TIM2->PSCR = (u8)Prescaler;
1739 020e 9e ld a,xh
1740 020f c7530c ld 21260,a
1741 ; 493 TIM2->EGR = (u8)TIM2_PSCReloadMode;
1743 0212 9f ld a,xl
1744 0213 c75304 ld 21252,a
1745 ; 494 }
1748 0216 81 ret
1806 ; 505 void TIM2_ForcedOC1Config(TIM2_ForcedAction_TypeDef TIM2_ForcedAction)
1806 ; 506 {
1807 switch .text
1808 0217 _TIM2_ForcedOC1Config:
1810 0217 88 push a
1811 00000000 OFST: set 0
1814 ; 508 assert_param(IS_TIM2_FORCED_ACTION_OK(TIM2_ForcedAction));
1816 ; 511 TIM2->CCMR1 = (u8)((TIM2->CCMR1 & (u8)(~TIM2_CCMR_OCM)) | (u8)TIM2_ForcedAction);
1818 0218 c65305 ld a,21253
1819 021b a48f and a,#143
1820 021d 1a01 or a,(OFST+1,sp)
1821 021f c75305 ld 21253,a
1822 ; 512 }
1825 0222 84 pop a
1826 0223 81 ret
1862 ; 523 void TIM2_ForcedOC2Config(TIM2_ForcedAction_TypeDef TIM2_ForcedAction)
1862 ; 524 {
1863 switch .text
1864 0224 _TIM2_ForcedOC2Config:
1866 0224 88 push a
1867 00000000 OFST: set 0
1870 ; 526 assert_param(IS_TIM2_FORCED_ACTION_OK(TIM2_ForcedAction));
1872 ; 529 TIM2->CCMR2 = (u8)((TIM2->CCMR2 & (u8)(~TIM2_CCMR_OCM)) | (u8)TIM2_ForcedAction);
1874 0225 c65306 ld a,21254
1875 0228 a48f and a,#143
1876 022a 1a01 or a,(OFST+1,sp)
1877 022c c75306 ld 21254,a
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -