📄 stm8s_tim1.ls
字号:
1716 0285 84 pop a
1717 ; 426 TIM1_SetIC4Prescaler(TIM1_ICPrescaler);
1719 0286 7b06 ld a,(OFST+6,sp)
1720 0288 cd06df call _TIM1_SetIC4Prescaler
1722 028b L176:
1723 ; 429 }
1726 028b 85 popw x
1727 028c 81 ret
1823 ; 440 void TIM1_PWMIConfig(TIM1_Channel_TypeDef TIM1_Channel,
1823 ; 441 TIM1_ICPolarity_TypeDef TIM1_ICPolarity,
1823 ; 442 TIM1_ICSelection_TypeDef TIM1_ICSelection,
1823 ; 443 TIM1_ICPSC_TypeDef TIM1_ICPrescaler,
1823 ; 444 u8 TIM1_ICFilter)
1823 ; 445 {
1824 switch .text
1825 028d _TIM1_PWMIConfig:
1827 028d 89 pushw x
1828 028e 89 pushw x
1829 00000002 OFST: set 2
1832 ; 446 u8 icpolarity = TIM1_ICPOLARITY_RISING;
1834 028f 7b01 ld a,(OFST-1,sp)
1835 0291 97 ld xl,a
1836 ; 447 u8 icselection = TIM1_ICSELECTION_DIRECTTI;
1838 0292 7b02 ld a,(OFST+0,sp)
1839 0294 97 ld xl,a
1840 ; 450 assert_param(IS_TIM1_PWMI_CHANNEL_OK(TIM1_Channel));
1842 ; 451 assert_param(IS_TIM1_IC_POLARITY_OK(TIM1_ICPolarity));
1844 ; 452 assert_param(IS_TIM1_IC_SELECTION_OK(TIM1_ICSelection));
1846 ; 453 assert_param(IS_TIM1_IC_PRESCALER_OK(TIM1_ICPrescaler));
1848 ; 456 if (TIM1_ICPolarity != TIM1_ICPOLARITY_FALLING)
1850 0295 7b04 ld a,(OFST+2,sp)
1851 0297 a101 cp a,#1
1852 0299 2706 jreq L157
1853 ; 458 icpolarity = TIM1_ICPOLARITY_FALLING;
1855 029b a601 ld a,#1
1856 029d 6b01 ld (OFST-1,sp),a
1858 029f 2002 jra L357
1859 02a1 L157:
1860 ; 462 icpolarity = TIM1_ICPOLARITY_RISING;
1862 02a1 0f01 clr (OFST-1,sp)
1863 02a3 L357:
1864 ; 466 if (TIM1_ICSelection == TIM1_ICSELECTION_DIRECTTI)
1866 02a3 7b07 ld a,(OFST+5,sp)
1867 02a5 a101 cp a,#1
1868 02a7 2606 jrne L557
1869 ; 468 icselection = TIM1_ICSELECTION_INDIRECTTI;
1871 02a9 a602 ld a,#2
1872 02ab 6b02 ld (OFST+0,sp),a
1874 02ad 2004 jra L757
1875 02af L557:
1876 ; 472 icselection = TIM1_ICSELECTION_DIRECTTI;
1878 02af a601 ld a,#1
1879 02b1 6b02 ld (OFST+0,sp),a
1880 02b3 L757:
1881 ; 475 if (TIM1_Channel == TIM1_CHANNEL_1)
1883 02b3 0d03 tnz (OFST+1,sp)
1884 02b5 2626 jrne L167
1885 ; 478 TI1_Config((u8)TIM1_ICPolarity, (u8)TIM1_ICSelection,
1885 ; 479 (u8)TIM1_ICFilter);
1887 02b7 7b09 ld a,(OFST+7,sp)
1888 02b9 88 push a
1889 02ba 7b08 ld a,(OFST+6,sp)
1890 02bc 97 ld xl,a
1891 02bd 7b05 ld a,(OFST+3,sp)
1892 02bf 95 ld xh,a
1893 02c0 cd083c call L3_TI1_Config
1895 02c3 84 pop a
1896 ; 482 TIM1_SetIC1Prescaler(TIM1_ICPrescaler);
1898 02c4 7b08 ld a,(OFST+6,sp)
1899 02c6 cd06b8 call _TIM1_SetIC1Prescaler
1901 ; 485 TI2_Config(icpolarity, icselection, TIM1_ICFilter);
1903 02c9 7b09 ld a,(OFST+7,sp)
1904 02cb 88 push a
1905 02cc 7b03 ld a,(OFST+1,sp)
1906 02ce 97 ld xl,a
1907 02cf 7b02 ld a,(OFST+0,sp)
1908 02d1 95 ld xh,a
1909 02d2 cd086c call L5_TI2_Config
1911 02d5 84 pop a
1912 ; 488 TIM1_SetIC2Prescaler(TIM1_ICPrescaler);
1914 02d6 7b08 ld a,(OFST+6,sp)
1915 02d8 cd06c5 call _TIM1_SetIC2Prescaler
1918 02db 2024 jra L367
1919 02dd L167:
1920 ; 493 TI2_Config((u8)TIM1_ICPolarity, (u8)TIM1_ICSelection,
1920 ; 494 (u8)TIM1_ICFilter);
1922 02dd 7b09 ld a,(OFST+7,sp)
1923 02df 88 push a
1924 02e0 7b08 ld a,(OFST+6,sp)
1925 02e2 97 ld xl,a
1926 02e3 7b05 ld a,(OFST+3,sp)
1927 02e5 95 ld xh,a
1928 02e6 cd086c call L5_TI2_Config
1930 02e9 84 pop a
1931 ; 497 TIM1_SetIC2Prescaler(TIM1_ICPrescaler);
1933 02ea 7b08 ld a,(OFST+6,sp)
1934 02ec cd06c5 call _TIM1_SetIC2Prescaler
1936 ; 500 TI1_Config(icpolarity, icselection, TIM1_ICFilter);
1938 02ef 7b09 ld a,(OFST+7,sp)
1939 02f1 88 push a
1940 02f2 7b03 ld a,(OFST+1,sp)
1941 02f4 97 ld xl,a
1942 02f5 7b02 ld a,(OFST+0,sp)
1943 02f7 95 ld xh,a
1944 02f8 cd083c call L3_TI1_Config
1946 02fb 84 pop a
1947 ; 503 TIM1_SetIC1Prescaler(TIM1_ICPrescaler);
1949 02fc 7b08 ld a,(OFST+6,sp)
1950 02fe cd06b8 call _TIM1_SetIC1Prescaler
1952 0301 L367:
1953 ; 505 }
1956 0301 5b04 addw sp,#4
1957 0303 81 ret
2012 ; 514 void TIM1_Cmd(FunctionalState NewState)
2012 ; 515 {
2013 switch .text
2014 0304 _TIM1_Cmd:
2018 ; 517 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2020 ; 520 if (NewState != DISABLE)
2022 0304 4d tnz a
2023 0305 2706 jreq L3101
2024 ; 522 TIM1->CR1 |= TIM1_CR1_CEN;
2026 0307 72105250 bset 21072,#0
2028 030b 2004 jra L5101
2029 030d L3101:
2030 ; 526 TIM1->CR1 &= (u8)(~TIM1_CR1_CEN);
2032 030d 72115250 bres 21072,#0
2033 0311 L5101:
2034 ; 528 }
2037 0311 81 ret
2073 ; 537 void TIM1_CtrlPWMOutputs(FunctionalState NewState)
2073 ; 538 {
2074 switch .text
2075 0312 _TIM1_CtrlPWMOutputs:
2079 ; 540 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2081 ; 544 if (NewState != DISABLE)
2083 0312 4d tnz a
2084 0313 2706 jreq L5301
2085 ; 546 TIM1->BKR |= TIM1_BKR_MOE;
2087 0315 721e526d bset 21101,#7
2089 0319 2004 jra L7301
2090 031b L5301:
2091 ; 550 TIM1->BKR &= (u8)(~TIM1_BKR_MOE);
2093 031b 721f526d bres 21101,#7
2094 031f L7301:
2095 ; 552 }
2098 031f 81 ret
2205 ; 572 void TIM1_ITConfig(TIM1_IT_TypeDef TIM1_IT, FunctionalState NewState)
2205 ; 573 {
2206 switch .text
2207 0320 _TIM1_ITConfig:
2209 0320 89 pushw x
2210 00000000 OFST: set 0
2213 ; 575 assert_param(IS_TIM1_IT_OK(TIM1_IT));
2215 ; 576 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2217 ; 578 if (NewState != DISABLE)
2219 0321 9f ld a,xl
2220 0322 4d tnz a
2221 0323 2709 jreq L7011
2222 ; 581 TIM1->IER |= (u8)TIM1_IT;
2224 0325 9e ld a,xh
2225 0326 ca5254 or a,21076
2226 0329 c75254 ld 21076,a
2228 032c 2009 jra L1111
2229 032e L7011:
2230 ; 586 TIM1->IER &= (u8)(~(u8)TIM1_IT);
2232 032e 7b01 ld a,(OFST+1,sp)
2233 0330 43 cpl a
2234 0331 c45254 and a,21076
2235 0334 c75254 ld 21076,a
2236 0337 L1111:
2237 ; 588 }
2240 0337 85 popw x
2241 0338 81 ret
2265 ; 597 void TIM1_InternalClockConfig(void)
2265 ; 598 {
2266 switch .text
2267 0339 _TIM1_InternalClockConfig:
2271 ; 600 TIM1->SMCR &= (u8)(~TIM1_SMCR_SMS);
2273 0339 c65252 ld a,21074
2274 033c a4f8 and a,#248
2275 033e c75252 ld 21074,a
2276 ; 601 }
2279 0341 81 ret
2396 ; 620 void TIM1_ETRClockMode1Config(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2396 ; 621 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2396 ; 622 u8 ExtTRGFilter)
2396 ; 623 {
2397 switch .text
2398 0342 _TIM1_ETRClockMode1Config:
2400 0342 89 pushw x
2401 00000000 OFST: set 0
2404 ; 625 assert_param(IS_TIM1_EXT_PRESCALER_OK(TIM1_ExtTRGPrescaler));
2406 ; 626 assert_param(IS_TIM1_EXT_POLARITY_OK(TIM1_ExtTRGPolarity));
2408 ; 629 TIM1_ETRConfig(TIM1_ExtTRGPrescaler, TIM1_ExtTRGPolarity, ExtTRGFilter);
2410 0343 7b05 ld a,(OFST+5,sp)
2411 0345 88 push a
2412 0346 9f ld a,xl
2413 0347 97 ld xl,a
2414 0348 7b02 ld a,(OFST+2,sp)
2415 034a 95 ld xh,a
2416 034b ad1f call _TIM1_ETRConfig
2418 034d 84 pop a
2419 ; 632 TIM1->SMCR = (u8)((TIM1->SMCR & (u8)(~(TIM1_SMCR_SMS | TIM1_SMCR_TS ))) | (u8)( TIM1_SLAVEMODE_EXTERNAL1 | TIM1_TS_ETRF ));
2421 034e c65252 ld a,21074
2422 0351 a488 and a,#136
2423 0353 aa77 or a,#119
2424 0355 c75252 ld 21074,a
2425 ; 633 }
2428 0358 85 popw x
2429 0359 81 ret
2487 ; 652 void TIM1_ETRClockMode2Config(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2487 ; 653 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2487 ; 654 u8 ExtTRGFilter)
2487 ; 655 {
2488 switch .text
2489 035a _TIM1_ETRClockMode2Config:
2491 035a 89 pushw x
2492 00000000 OFST: set 0
2495 ; 657 assert_param(IS_TIM1_EXT_PRESCALER_OK(TIM1_ExtTRGPrescaler));
2497 ; 658 assert_param(IS_TIM1_EXT_POLARITY_OK(TIM1_ExtTRGPolarity));
2499 ; 661 TIM1_ETRConfig(TIM1_ExtTRGPrescaler, TIM1_ExtTRGPolarity, ExtTRGFilter);
2501 035b 7b05 ld a,(OFST+5,sp)
2502 035d 88 push a
2503 035e 9f ld a,xl
2504 035f 97 ld xl,a
2505 0360 7b02 ld a,(OFST+2,sp)
2506 0362 95 ld xh,a
2507 0363 ad07 call _TIM1_ETRConfig
2509 0365 84 pop a
2510 ; 664 TIM1->ETR |= TIM1_ETR_ECE;
2512 0366 721c5253 bset 21075,#6
2513 ; 665 }
2516 036a 85 popw x
2517 036b 81 ret
2573 ; 684 void TIM1_ETRConfig(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2573 ; 685 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2573 ; 686 u8 ExtTRGFilter)
2573 ; 687 {
2574 switch .text
2575 036c _TIM1_ETRConfig:
2577 036c 89 pushw x
2578 00000000 OFST: set 0
2581 ; 689 assert_param(IS_TIM1_EXT_TRG_FILTER_OK(ExtTRGFilter));
2583 ; 691 TIM1->ETR |= (u8)((u8)TIM1_ExtTRGPrescaler |
2583 ; 692 (u8)TIM1_ExtTRGPolarity |
2583 ; 693 (u8)ExtTRGFilter );
2585 036d 9f ld a,xl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -