📄 stm8s_tim1.ls
字号:
1716 ; 562 }
1719 028b 85 popw x
1720 028c 81 ret
1810 ; 590 void TIM1_PWMIConfig(TIM1_Channel_TypeDef TIM1_Channel,
1810 ; 591 TIM1_ICPolarity_TypeDef TIM1_ICPolarity,
1810 ; 592 TIM1_ICSelection_TypeDef TIM1_ICSelection,
1810 ; 593 TIM1_ICPSC_TypeDef TIM1_ICPrescaler,
1810 ; 594 u8 TIM1_ICFilter)
1810 ; 595 {
1811 switch .text
1812 028d _TIM1_PWMIConfig:
1814 028d 89 pushw x
1815 028e 89 pushw x
1816 00000002 OFST: set 2
1819 ; 596 u8 icpolarity = TIM1_ICPOLARITY_RISING;
1821 ; 597 u8 icselection = TIM1_ICSELECTION_DIRECTTI;
1823 ; 600 assert_param(IS_TIM1_PWMI_CHANNEL_OK(TIM1_Channel));
1825 ; 601 assert_param(IS_TIM1_IC_POLARITY_OK(TIM1_ICPolarity));
1827 ; 602 assert_param(IS_TIM1_IC_SELECTION_OK(TIM1_ICSelection));
1829 ; 603 assert_param(IS_TIM1_IC_PRESCALER_OK(TIM1_ICPrescaler));
1831 ; 606 if (TIM1_ICPolarity != TIM1_ICPOLARITY_FALLING)
1833 028f 9f ld a,xl
1834 0290 a101 cp a,#1
1835 0292 2706 jreq L127
1836 ; 608 icpolarity = TIM1_ICPOLARITY_FALLING;
1838 0294 a601 ld a,#1
1839 0296 6b01 ld (OFST-1,sp),a
1841 0298 2002 jra L327
1842 029a L127:
1843 ; 612 icpolarity = TIM1_ICPOLARITY_RISING;
1845 029a 0f01 clr (OFST-1,sp)
1846 029c L327:
1847 ; 616 if (TIM1_ICSelection == TIM1_ICSELECTION_DIRECTTI)
1849 029c 7b07 ld a,(OFST+5,sp)
1850 029e a101 cp a,#1
1851 02a0 2606 jrne L527
1852 ; 618 icselection = TIM1_ICSELECTION_INDIRECTTI;
1854 02a2 a602 ld a,#2
1855 02a4 6b02 ld (OFST+0,sp),a
1857 02a6 2004 jra L727
1858 02a8 L527:
1859 ; 622 icselection = TIM1_ICSELECTION_DIRECTTI;
1861 02a8 a601 ld a,#1
1862 02aa 6b02 ld (OFST+0,sp),a
1863 02ac L727:
1864 ; 625 if (TIM1_Channel == TIM1_CHANNEL_1)
1866 02ac 0d03 tnz (OFST+1,sp)
1867 02ae 2626 jrne L137
1868 ; 628 TI1_Config(TIM1_ICPolarity, TIM1_ICSelection,
1868 ; 629 TIM1_ICFilter);
1870 02b0 7b09 ld a,(OFST+7,sp)
1871 02b2 88 push a
1872 02b3 7b08 ld a,(OFST+6,sp)
1873 02b5 97 ld xl,a
1874 02b6 7b05 ld a,(OFST+3,sp)
1875 02b8 95 ld xh,a
1876 02b9 cd080c call L3_TI1_Config
1878 02bc 84 pop a
1879 ; 632 TIM1_SetIC1Prescaler(TIM1_ICPrescaler);
1881 02bd 7b08 ld a,(OFST+6,sp)
1882 02bf cd06b1 call _TIM1_SetIC1Prescaler
1884 ; 635 TI2_Config(icpolarity, icselection, TIM1_ICFilter);
1886 02c2 7b09 ld a,(OFST+7,sp)
1887 02c4 88 push a
1888 02c5 7b03 ld a,(OFST+1,sp)
1889 02c7 97 ld xl,a
1890 02c8 7b02 ld a,(OFST+0,sp)
1891 02ca 95 ld xh,a
1892 02cb cd083c call L5_TI2_Config
1894 02ce 84 pop a
1895 ; 638 TIM1_SetIC2Prescaler(TIM1_ICPrescaler);
1897 02cf 7b08 ld a,(OFST+6,sp)
1898 02d1 cd06be call _TIM1_SetIC2Prescaler
1901 02d4 2024 jra L337
1902 02d6 L137:
1903 ; 643 TI2_Config(TIM1_ICPolarity, TIM1_ICSelection,
1903 ; 644 TIM1_ICFilter);
1905 02d6 7b09 ld a,(OFST+7,sp)
1906 02d8 88 push a
1907 02d9 7b08 ld a,(OFST+6,sp)
1908 02db 97 ld xl,a
1909 02dc 7b05 ld a,(OFST+3,sp)
1910 02de 95 ld xh,a
1911 02df cd083c call L5_TI2_Config
1913 02e2 84 pop a
1914 ; 647 TIM1_SetIC2Prescaler(TIM1_ICPrescaler);
1916 02e3 7b08 ld a,(OFST+6,sp)
1917 02e5 cd06be call _TIM1_SetIC2Prescaler
1919 ; 650 TI1_Config(icpolarity, icselection, TIM1_ICFilter);
1921 02e8 7b09 ld a,(OFST+7,sp)
1922 02ea 88 push a
1923 02eb 7b03 ld a,(OFST+1,sp)
1924 02ed 97 ld xl,a
1925 02ee 7b02 ld a,(OFST+0,sp)
1926 02f0 95 ld xh,a
1927 02f1 cd080c call L3_TI1_Config
1929 02f4 84 pop a
1930 ; 653 TIM1_SetIC1Prescaler(TIM1_ICPrescaler);
1932 02f5 7b08 ld a,(OFST+6,sp)
1933 02f7 cd06b1 call _TIM1_SetIC1Prescaler
1935 02fa L337:
1936 ; 655 }
1939 02fa 5b04 addw sp,#4
1940 02fc 81 ret
1995 ; 673 void TIM1_Cmd(FunctionalState NewState)
1995 ; 674 {
1996 switch .text
1997 02fd _TIM1_Cmd:
2001 ; 676 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2003 ; 679 if (NewState != DISABLE)
2005 02fd 4d tnz a
2006 02fe 2706 jreq L367
2007 ; 681 TIM1->CR1 |= TIM1_CR1_CEN;
2009 0300 72105250 bset 21072,#0
2011 0304 2004 jra L567
2012 0306 L367:
2013 ; 685 TIM1->CR1 &= (u8)(~TIM1_CR1_CEN);
2015 0306 72115250 bres 21072,#0
2016 030a L567:
2017 ; 687 }
2020 030a 81 ret
2056 ; 705 void TIM1_CtrlPWMOutputs(FunctionalState NewState)
2056 ; 706 {
2057 switch .text
2058 030b _TIM1_CtrlPWMOutputs:
2062 ; 708 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2064 ; 712 if (NewState != DISABLE)
2066 030b 4d tnz a
2067 030c 2706 jreq L5001
2068 ; 714 TIM1->BKR |= TIM1_BKR_MOE;
2070 030e 721e526d bset 21101,#7
2072 0312 2004 jra L7001
2073 0314 L5001:
2074 ; 718 TIM1->BKR &= (u8)(~TIM1_BKR_MOE);
2076 0314 721f526d bres 21101,#7
2077 0318 L7001:
2078 ; 720 }
2081 0318 81 ret
2188 ; 749 void TIM1_ITConfig(TIM1_IT_TypeDef TIM1_IT, FunctionalState NewState)
2188 ; 750 {
2189 switch .text
2190 0319 _TIM1_ITConfig:
2192 0319 89 pushw x
2193 00000000 OFST: set 0
2196 ; 752 assert_param(IS_TIM1_IT_OK(TIM1_IT));
2198 ; 753 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2200 ; 755 if (NewState != DISABLE)
2202 031a 9f ld a,xl
2203 031b 4d tnz a
2204 031c 2709 jreq L7501
2205 ; 758 TIM1->IER |= (u8)TIM1_IT;
2207 031e 9e ld a,xh
2208 031f ca5254 or a,21076
2209 0322 c75254 ld 21076,a
2211 0325 2009 jra L1601
2212 0327 L7501:
2213 ; 763 TIM1->IER &= (u8)(~(u8)TIM1_IT);
2215 0327 7b01 ld a,(OFST+1,sp)
2216 0329 43 cpl a
2217 032a c45254 and a,21076
2218 032d c75254 ld 21076,a
2219 0330 L1601:
2220 ; 765 }
2223 0330 85 popw x
2224 0331 81 ret
2248 ; 783 void TIM1_InternalClockConfig(void)
2248 ; 784 {
2249 switch .text
2250 0332 _TIM1_InternalClockConfig:
2254 ; 786 TIM1->SMCR &= (u8)(~TIM1_SMCR_SMS);
2256 0332 c65252 ld a,21074
2257 0335 a4f8 and a,#248
2258 0337 c75252 ld 21074,a
2259 ; 787 }
2262 033a 81 ret
2377 ; 815 void TIM1_ETRClockMode1Config(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2377 ; 816 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2377 ; 817 u8 ExtTRGFilter)
2377 ; 818 {
2378 switch .text
2379 033b _TIM1_ETRClockMode1Config:
2381 033b 89 pushw x
2382 00000000 OFST: set 0
2385 ; 820 assert_param(IS_TIM1_EXT_PRESCALER_OK(TIM1_ExtTRGPrescaler));
2387 ; 821 assert_param(IS_TIM1_EXT_POLARITY_OK(TIM1_ExtTRGPolarity));
2389 ; 824 TIM1_ETRConfig(TIM1_ExtTRGPrescaler, TIM1_ExtTRGPolarity, ExtTRGFilter);
2391 033c 7b05 ld a,(OFST+5,sp)
2392 033e 88 push a
2393 033f 9f ld a,xl
2394 0340 97 ld xl,a
2395 0341 7b02 ld a,(OFST+2,sp)
2396 0343 95 ld xh,a
2397 0344 ad1f call _TIM1_ETRConfig
2399 0346 84 pop a
2400 ; 827 TIM1->SMCR = (u8)((TIM1->SMCR & (u8)(~(TIM1_SMCR_SMS | TIM1_SMCR_TS ))) | (u8)( TIM1_SLAVEMODE_EXTERNAL1 | TIM1_TS_ETRF ));
2402 0347 c65252 ld a,21074
2403 034a a488 and a,#136
2404 034c aa77 or a,#119
2405 034e c75252 ld 21074,a
2406 ; 828 }
2409 0351 85 popw x
2410 0352 81 ret
2466 ; 856 void TIM1_ETRClockMode2Config(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2466 ; 857 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2466 ; 858 u8 ExtTRGFilter)
2466 ; 859 {
2467 switch .text
2468 0353 _TIM1_ETRClockMode2Config:
2470 0353 89 pushw x
2471 00000000 OFST: set 0
2474 ; 861 assert_param(IS_TIM1_EXT_PRESCALER_OK(TIM1_ExtTRGPrescaler));
2476 ; 862 assert_param(IS_TIM1_EXT_POLARITY_OK(TIM1_ExtTRGPolarity));
2478 ; 865 TIM1_ETRConfig(TIM1_ExtTRGPrescaler, TIM1_ExtTRGPolarity, ExtTRGFilter);
2480 0354 7b05 ld a,(OFST+5,sp)
2481 0356 88 push a
2482 0357 9f ld a,xl
2483 0358 97 ld xl,a
2484 0359 7b02 ld a,(OFST+2,sp)
2485 035b 95 ld xh,a
2486 035c ad07 call _TIM1_ETRConfig
2488 035e 84 pop a
2489 ; 868 TIM1->ETR |= TIM1_ETR_ECE;
2491 035f 721c5253 bset 21075,#6
2492 ; 869 }
2495 0363 85 popw x
2496 0364 81 ret
2550 ; 897 void TIM1_ETRConfig(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2550 ; 898 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2550 ; 899 u8 ExtTRGFilter)
2550 ; 900 {
2551 switch .text
2552 0365 _TIM1_ETRConfig:
2554 0365 89 pushw x
2555 00000000 OFST: set 0
2558 ; 902 TIM1->ETR |= (u8)((u8)TIM1_ExtTRGPrescaler |
2558 ; 903 (u8)TIM1_ExtTRGPolarity |
2558 ; 904 (u8)ExtTRGFilter );
2560 0366 9f ld a,xl
2561 0367 1a01 or a,(OFST+1,sp)
2562 0369 1a05 or a,(OFST+5,sp)
2563 036b ca5253 or a,21075
2564 036e c75253 ld 21075,a
2565 ; 905 }
2568 0371 85 popw x
2569 0372 81 ret
2656 ; 934 void TIM1_TIxExternalClockConfig(TIM1_TIxExternalCLK1Source_TypeDef TIM1_TIxExternalCLKSource,
2656 ; 935 TIM1_ICPolarity_TypeDef TIM1_ICPolarity,
2656 ; 936 u8 ICFilter)
2656 ; 937 {
2657 switch .text
2658 0373 _TIM1_TIxExternalClockConfig:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -