📄 stm8s_tim1.ls
字号:
1725 0282 cd08a5 call L11_TI4_Config
1727 0285 84 pop a
1728 ; 426 TIM1_SetIC4Prescaler(TIM1_ICPrescaler);
1730 0286 7b06 ld a,(OFST+6,sp)
1731 0288 cd06d8 call _TIM1_SetIC4Prescaler
1733 028b L176:
1734 ; 429 }
1737 028b 85 popw x
1738 028c 81 ret
1834 ; 440 void TIM1_PWMIConfig(TIM1_Channel_TypeDef TIM1_Channel,
1834 ; 441 TIM1_ICPolarity_TypeDef TIM1_ICPolarity,
1834 ; 442 TIM1_ICSelection_TypeDef TIM1_ICSelection,
1834 ; 443 TIM1_ICPSC_TypeDef TIM1_ICPrescaler,
1834 ; 444 u8 TIM1_ICFilter)
1834 ; 445 {
1835 switch .text
1836 028d _TIM1_PWMIConfig:
1838 028d 89 pushw x
1839 028e 89 pushw x
1840 00000002 OFST: set 2
1843 ; 446 u8 icpolarity = TIM1_ICPOLARITY_RISING;
1845 ; 447 u8 icselection = TIM1_ICSELECTION_DIRECTTI;
1847 ; 450 assert_param(IS_TIM1_PWMI_CHANNEL_OK(TIM1_Channel));
1849 ; 451 assert_param(IS_TIM1_IC_POLARITY_OK(TIM1_ICPolarity));
1851 ; 452 assert_param(IS_TIM1_IC_SELECTION_OK(TIM1_ICSelection));
1853 ; 453 assert_param(IS_TIM1_IC_PRESCALER_OK(TIM1_ICPrescaler));
1855 ; 456 if (TIM1_ICPolarity != TIM1_ICPOLARITY_FALLING)
1857 028f 9f ld a,xl
1858 0290 a101 cp a,#1
1859 0292 2706 jreq L157
1860 ; 458 icpolarity = TIM1_ICPOLARITY_FALLING;
1862 0294 a601 ld a,#1
1863 0296 6b01 ld (OFST-1,sp),a
1865 0298 2002 jra L357
1866 029a L157:
1867 ; 462 icpolarity = TIM1_ICPOLARITY_RISING;
1869 029a 0f01 clr (OFST-1,sp)
1870 029c L357:
1871 ; 466 if (TIM1_ICSelection == TIM1_ICSELECTION_DIRECTTI)
1873 029c 7b07 ld a,(OFST+5,sp)
1874 029e a101 cp a,#1
1875 02a0 2606 jrne L557
1876 ; 468 icselection = TIM1_ICSELECTION_INDIRECTTI;
1878 02a2 a602 ld a,#2
1879 02a4 6b02 ld (OFST+0,sp),a
1881 02a6 2004 jra L757
1882 02a8 L557:
1883 ; 472 icselection = TIM1_ICSELECTION_DIRECTTI;
1885 02a8 a601 ld a,#1
1886 02aa 6b02 ld (OFST+0,sp),a
1887 02ac L757:
1888 ; 475 if (TIM1_Channel == TIM1_CHANNEL_1)
1890 02ac 0d03 tnz (OFST+1,sp)
1891 02ae 2626 jrne L167
1892 ; 478 TI1_Config((u8)TIM1_ICPolarity, (u8)TIM1_ICSelection,
1892 ; 479 (u8)TIM1_ICFilter);
1894 02b0 7b09 ld a,(OFST+7,sp)
1895 02b2 88 push a
1896 02b3 7b08 ld a,(OFST+6,sp)
1897 02b5 97 ld xl,a
1898 02b6 7b05 ld a,(OFST+3,sp)
1899 02b8 95 ld xh,a
1900 02b9 cd0815 call L3_TI1_Config
1902 02bc 84 pop a
1903 ; 482 TIM1_SetIC1Prescaler(TIM1_ICPrescaler);
1905 02bd 7b08 ld a,(OFST+6,sp)
1906 02bf cd06b1 call _TIM1_SetIC1Prescaler
1908 ; 485 TI2_Config(icpolarity, icselection, TIM1_ICFilter);
1910 02c2 7b09 ld a,(OFST+7,sp)
1911 02c4 88 push a
1912 02c5 7b03 ld a,(OFST+1,sp)
1913 02c7 97 ld xl,a
1914 02c8 7b02 ld a,(OFST+0,sp)
1915 02ca 95 ld xh,a
1916 02cb cd0845 call L5_TI2_Config
1918 02ce 84 pop a
1919 ; 488 TIM1_SetIC2Prescaler(TIM1_ICPrescaler);
1921 02cf 7b08 ld a,(OFST+6,sp)
1922 02d1 cd06be call _TIM1_SetIC2Prescaler
1925 02d4 2024 jra L367
1926 02d6 L167:
1927 ; 493 TI2_Config((u8)TIM1_ICPolarity, (u8)TIM1_ICSelection,
1927 ; 494 (u8)TIM1_ICFilter);
1929 02d6 7b09 ld a,(OFST+7,sp)
1930 02d8 88 push a
1931 02d9 7b08 ld a,(OFST+6,sp)
1932 02db 97 ld xl,a
1933 02dc 7b05 ld a,(OFST+3,sp)
1934 02de 95 ld xh,a
1935 02df cd0845 call L5_TI2_Config
1937 02e2 84 pop a
1938 ; 497 TIM1_SetIC2Prescaler(TIM1_ICPrescaler);
1940 02e3 7b08 ld a,(OFST+6,sp)
1941 02e5 cd06be call _TIM1_SetIC2Prescaler
1943 ; 500 TI1_Config(icpolarity, icselection, TIM1_ICFilter);
1945 02e8 7b09 ld a,(OFST+7,sp)
1946 02ea 88 push a
1947 02eb 7b03 ld a,(OFST+1,sp)
1948 02ed 97 ld xl,a
1949 02ee 7b02 ld a,(OFST+0,sp)
1950 02f0 95 ld xh,a
1951 02f1 cd0815 call L3_TI1_Config
1953 02f4 84 pop a
1954 ; 503 TIM1_SetIC1Prescaler(TIM1_ICPrescaler);
1956 02f5 7b08 ld a,(OFST+6,sp)
1957 02f7 cd06b1 call _TIM1_SetIC1Prescaler
1959 02fa L367:
1960 ; 505 }
1963 02fa 5b04 addw sp,#4
1964 02fc 81 ret
2019 ; 514 void TIM1_Cmd(FunctionalState NewState)
2019 ; 515 {
2020 switch .text
2021 02fd _TIM1_Cmd:
2025 ; 517 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2027 ; 520 if (NewState != DISABLE)
2029 02fd 4d tnz a
2030 02fe 2706 jreq L3101
2031 ; 522 TIM1->CR1 |= TIM1_CR1_CEN;
2033 0300 72105250 bset 21072,#0
2035 0304 2004 jra L5101
2036 0306 L3101:
2037 ; 526 TIM1->CR1 &= (u8)(~TIM1_CR1_CEN);
2039 0306 72115250 bres 21072,#0
2040 030a L5101:
2041 ; 528 }
2044 030a 81 ret
2080 ; 537 void TIM1_CtrlPWMOutputs(FunctionalState NewState)
2080 ; 538 {
2081 switch .text
2082 030b _TIM1_CtrlPWMOutputs:
2086 ; 540 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2088 ; 544 if (NewState != DISABLE)
2090 030b 4d tnz a
2091 030c 2706 jreq L5301
2092 ; 546 TIM1->BKR |= TIM1_BKR_MOE;
2094 030e 721e526d bset 21101,#7
2096 0312 2004 jra L7301
2097 0314 L5301:
2098 ; 550 TIM1->BKR &= (u8)(~TIM1_BKR_MOE);
2100 0314 721f526d bres 21101,#7
2101 0318 L7301:
2102 ; 552 }
2105 0318 81 ret
2212 ; 572 void TIM1_ITConfig(TIM1_IT_TypeDef TIM1_IT, FunctionalState NewState)
2212 ; 573 {
2213 switch .text
2214 0319 _TIM1_ITConfig:
2216 0319 89 pushw x
2217 00000000 OFST: set 0
2220 ; 575 assert_param(IS_TIM1_IT_OK(TIM1_IT));
2222 ; 576 assert_param(IS_FUNCTIONALSTATE_OK(NewState));
2224 ; 578 if (NewState != DISABLE)
2226 031a 9f ld a,xl
2227 031b 4d tnz a
2228 031c 2709 jreq L7011
2229 ; 581 TIM1->IER |= (u8)TIM1_IT;
2231 031e 9e ld a,xh
2232 031f ca5254 or a,21076
2233 0322 c75254 ld 21076,a
2235 0325 2009 jra L1111
2236 0327 L7011:
2237 ; 586 TIM1->IER &= (u8)(~(u8)TIM1_IT);
2239 0327 7b01 ld a,(OFST+1,sp)
2240 0329 43 cpl a
2241 032a c45254 and a,21076
2242 032d c75254 ld 21076,a
2243 0330 L1111:
2244 ; 588 }
2247 0330 85 popw x
2248 0331 81 ret
2272 ; 597 void TIM1_InternalClockConfig(void)
2272 ; 598 {
2273 switch .text
2274 0332 _TIM1_InternalClockConfig:
2278 ; 600 TIM1->SMCR &= (u8)(~TIM1_SMCR_SMS);
2280 0332 c65252 ld a,21074
2281 0335 a4f8 and a,#248
2282 0337 c75252 ld 21074,a
2283 ; 601 }
2286 033a 81 ret
2403 ; 620 void TIM1_ETRClockMode1Config(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2403 ; 621 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2403 ; 622 u8 ExtTRGFilter)
2403 ; 623 {
2404 switch .text
2405 033b _TIM1_ETRClockMode1Config:
2407 033b 89 pushw x
2408 00000000 OFST: set 0
2411 ; 625 assert_param(IS_TIM1_EXT_PRESCALER_OK(TIM1_ExtTRGPrescaler));
2413 ; 626 assert_param(IS_TIM1_EXT_POLARITY_OK(TIM1_ExtTRGPolarity));
2415 ; 629 TIM1_ETRConfig(TIM1_ExtTRGPrescaler, TIM1_ExtTRGPolarity, ExtTRGFilter);
2417 033c 7b05 ld a,(OFST+5,sp)
2418 033e 88 push a
2419 033f 9f ld a,xl
2420 0340 97 ld xl,a
2421 0341 7b02 ld a,(OFST+2,sp)
2422 0343 95 ld xh,a
2423 0344 ad1f call _TIM1_ETRConfig
2425 0346 84 pop a
2426 ; 632 TIM1->SMCR = (u8)((TIM1->SMCR & (u8)(~(TIM1_SMCR_SMS | TIM1_SMCR_TS ))) | (u8)( TIM1_SLAVEMODE_EXTERNAL1 | TIM1_TS_ETRF ));
2428 0347 c65252 ld a,21074
2429 034a a488 and a,#136
2430 034c aa77 or a,#119
2431 034e c75252 ld 21074,a
2432 ; 633 }
2435 0351 85 popw x
2436 0352 81 ret
2494 ; 652 void TIM1_ETRClockMode2Config(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2494 ; 653 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2494 ; 654 u8 ExtTRGFilter)
2494 ; 655 {
2495 switch .text
2496 0353 _TIM1_ETRClockMode2Config:
2498 0353 89 pushw x
2499 00000000 OFST: set 0
2502 ; 657 assert_param(IS_TIM1_EXT_PRESCALER_OK(TIM1_ExtTRGPrescaler));
2504 ; 658 assert_param(IS_TIM1_EXT_POLARITY_OK(TIM1_ExtTRGPolarity));
2506 ; 661 TIM1_ETRConfig(TIM1_ExtTRGPrescaler, TIM1_ExtTRGPolarity, ExtTRGFilter);
2508 0354 7b05 ld a,(OFST+5,sp)
2509 0356 88 push a
2510 0357 9f ld a,xl
2511 0358 97 ld xl,a
2512 0359 7b02 ld a,(OFST+2,sp)
2513 035b 95 ld xh,a
2514 035c ad07 call _TIM1_ETRConfig
2516 035e 84 pop a
2517 ; 664 TIM1->ETR |= TIM1_ETR_ECE;
2519 035f 721c5253 bset 21075,#6
2520 ; 665 }
2523 0363 85 popw x
2524 0364 81 ret
2580 ; 684 void TIM1_ETRConfig(TIM1_ExtTRGPSC_TypeDef TIM1_ExtTRGPrescaler,
2580 ; 685 TIM1_ExtTRGPolarity_TypeDef TIM1_ExtTRGPolarity,
2580 ; 686 u8 ExtTRGFilter)
2580 ; 687 {
2581 switch .text
2582 0365 _TIM1_ETRConfig:
2584 0365 89 pushw x
2585 00000000 OFST: set 0
2588 ; 689 assert_param(IS_TIM1_EXT_TRG_FILTER_OK(ExtTRGFilter));
2590 ; 691 TIM1->ETR |= (u8)((u8)TIM1_ExtTRGPrescaler |
2590 ; 692 (u8)TIM1_ExtTRGPolarity |
2590 ; 693 (u8)ExtTRGFilter );
2592 0366 9f ld a,xl
2593 0367 1a01 or a,(OFST+1,sp)
2594 0369 1a05 or a,(OFST+5,sp)
2595 036b ca5253 or a,21075
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -