芯片:STM8S903S
TIMER5的CH1通道输出占空比可调(256档)的PWM信号,程序如下:
void out_pwm1(void)//由定时器TIM5的第一通道输出一路PWM信号,控制输出脉宽
{
pwm_pot1=0x7f;(设个常值,实际为可调变量)
TIM5_EGR|=0x01;//给一次更新,初始化所有寄存器
TIM5_ARRH=0X00;
TIM5_ARRL=0Xff;//给预装寄存器赋值,确定PWM信号的频率
TIM5_CCR1H=0X00;
TIM5_CCR1L=pwm_pot1;//确定有效电平的计数次数
TIM5_CR1|=0x80;//使能预装载寄存器
//TIM5_CNTRH=0X00;//计数器初使值为256,计数器周期为128us
//TIM5_CNTRL=0x00;
TIM5_PSCR=0X00;//对时钟不进行分频,计数器单次记数周期为0.5US
TIM5_CCMR1|=0X60;//选择PWM输出模式1
TIM5_CCER1|=0X03;//PWM比较输出,低电平有效,使能引脚输出
TIM5_CR1|=0x01;//使能计数器
}
现在用示波器检测,怎么都不出信号,请各位大侠不吝指点。 |