1 ; C Compiler for STM8 (COSMIC Software) 2 ; Parser V4.8.32 - 23 Mar 2010 3 ; Generator V4.3.4 - 23 Mar 2010 2743 ; 5 void TIM2_INIT(void) 2743 ; 6 { 2745 switch .text 2746 0000 _TIM2_INIT: 2750 ; 8 TURN_OUT_DDR = 1;//1: 输出模式 2752 0000 721a500c bset _TURN_OUT_DDR 2753 ; 9 TURN_OUT_CR1 = 1;//1:推挽输出, 2755 0004 721a500d bset _TURN_OUT_CR1 2756 ; 10 TURN_OUT_CR2 = 1;//1:输出速度最大为10MHZ 2758 0008 721a500e bset _TURN_OUT_CR2 2759 ; 11 TURN_OUT_ODR = 0; 2761 000c 721b500a bres _TURN_OUT_ODR 2762 ; 14 CLK_PCKENR1 |= 0x20; 2764 0010 721a50c7 bset _CLK_PCKENR1,#5 2765 ; 16 TIM2_PSCR = 0x00; //定时器2预分频系数为1 2767 0014 725f530e clr _TIM2_PSCR 2768 ; 19 TIM2_ARRH = 0x03;//0320,10K 2770 0018 3503530f mov _TIM2_ARRH,#3 2771 ; 20 TIM2_ARRL = 0x20;// 2773 001c 35205310 mov _TIM2_ARRL,#32 2774 ; 22 TIM2_CCMR1 |= 0X68; 2776 0020 c65307 ld a,_TIM2_CCMR1 2777 0023 aa68 or a,#104 2778 0025 c75307 ld _TIM2_CCMR1,a 2779 ; 23 TIM2_CCER1 |= 0x01; //开启OC1信号输出脚--高电平有效 2781 0028 7210530a bset _TIM2_CCER1,#0 2782 ; 37 TIM2_CCR1H = 0x03; //占空比 40% 2784 002c 35035311 mov _TIM2_CCR1H,#3 2785 ; 38 TIM2_CCR1L = 0x20; 2787 0030 35205312 mov _TIM2_CCR1L,#32 2788 ; 43 TIM2_CR1 = 0x00; 2790 0034 725f5300 clr _TIM2_CR1 2791 ; 44 } 2794 0038 81 ret 2830 ; 46 void TIM2_PWM(char v) 2830 ; 47 { 2831 switch .text 2832 0039 _TIM2_PWM: 2836 ; 48 switch(v) 2839 ; 60 default: 2839 ; 61 break; 2840 0039 4d tnz a 2841 003a 270d jreq L3371 2842 003c 4a dec a 2843 003d 2612 jrne L7571 2844 ; 50 case 1: 2844 ; 51 //CLK_PCKENR1 |= 0x20; 2844 ; 52 TIM2_CCER1 |= 0x01;//开启OC1信号输出脚--低电平有效 2846 003f 7210530a bset _TIM2_CCER1,#0 2847 ; 53 TIM2_CR1 = 0x01; 2849 0043 35015300 mov _TIM2_CR1,#1 2850 ; 54 break; 2852 0047 2008 jra L7571 2853 0049 L3371: 2854 ; 55 case 0: 2854 ; 56 TIM2_CR1 = 0x00; 2856 0049 725f5300 clr _TIM2_CR1 2857 ; 57 TIM2_CCER1 &= ~0x01; 2859 004d 7211530a bres _TIM2_CCER1,#0 2860 ; 59 break; 2862 0051 L5371: 2863 ; 60 default: 2863 ; 61 break; 2865 0051 L7571: 2866 ; 63 } 2869 0051 81 ret 2882 xdef _TIM2_PWM 2883 xdef _TIM2_INIT 2902 end