您好,欢迎访问三七文档
STM32定时器产生PWM暨南大学电子设计大赛培训资料2011年7月24日彭煜产生如下要求的PWM通过对TIM1定时器进行控制,使之各通道输出互补PWM,各通道输出频率均为20KHz。其中,通道1输出的占空比为50%,通道2输出的占空比为25%,通道3输出的占空比为12.5%。各通道互补输出为反相输出。TIM1定时器的通道1到4的输出分别对应PA8、PA9、PA10和PA11引脚,而通道1到3的互补输出分别对应PB13、PB14和PB15引脚,中止输入引脚为PB12。将这些引脚分别接入示波器,在示波器上观查相应通道占空比的方波。用定时器产生PWM由于TIM1计数器的时钟频率为72MHz,要想得到各通道PWM输出频率为20KHz,根据公式:TIM1频率=TIM1CLK/(TIM1_Period+1),则TIM1_Period为3600-1。由于通道输出占空比等于:TIM1_CCRx/(TIM1_Period+1);可以得到各通道比较/捕获寄存器的计数值。其中,通道1的TIM1_CCR1寄存器的值为1800,通道2的TIM1_CCR2寄存器的值为900,通道3的TIM1_CCR3寄存器的值为450。具体怎样设置在例程中详细讲解!PWM主要程序说明u16CCR1_Val=1800;//设置TIM1通道1输出占空比50%u16CCR2_Val=900;//设置TIM1通道1输出占空比25%u16CCR3_Val=450;//设置TIM1通道1输出占空比12.5%TIM1_TimeBaseStructure.TIM_Prescaler=0x0;//TIM1时钟频率的预分频值TIM1_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;//向上计数TIM1_TimeBaseStructure.TIM_Period=3600-1;//自动重装载寄存器周期值TIM1_TimeBaseStructure.TIM_ClockDivision=0x0;//时钟分割值TIM1_TimeBaseStructure.TIM_RepetitionCounter=0x0;TIM_TimeBaseInit(TIM1,&TIM1_TimeBaseStructure);//初始化TIM1的时间计数数据/*选择定时器输出比较为PWM模式2。在向上计数时,当TIM1_CNTTIM1_CRR1时,通道1为无效电平,否则为有效电平;在向下计数时,当TIM1_CNTTIM1_CRR1时,通道1为有效电平,否则为无效电平。如果选择PWM模式1,则相反。*/TIM1_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;//选择输出比较状态,以及互补输出比较状态TIM1_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;TIM1_OCInitStructure.TIM_OutputNState=TIM_OutputNState_Enable;//设置通道1捕获比较寄存器的脉冲值-占空比为50%TIM1_OCInitStructure.TIM_Pulse=CCR1_Val;//输出极性和互补极性的有效电平为低TIM1_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low;TIM1_OCInitStructure.TIM_OCNPolarity=TIM_OCNPolarity_Low;TIM_OC1Init(TIM1,&TIM1_OCInitStructure);//设置通道1PWM主要程序说明//设置通道2捕获比较寄存器的脉冲值-占空比为25%TIM1_OCInitStructure.TIM_Pulse=CCR2_Val;TIM_OC2Init(TIM1,&TIM1_OCInitStructure);//设置通道3捕获比较寄存器的脉冲值-占空比为12.5%TIM1_OCInitStructure.TIM_Pulse=CCR3_Val;TIM_OC3Init(TIM1,&TIM1_OCInitStructure);intmain(void){BSP_Init();//管脚等初始化Tim1_Init();//定时器初始化函数TIM_Cmd(TIM1,ENABLE);//启动TIM1TIM_CtrlPWMOutputs(TIM1,ENABLE);//输出PWMwhile(1);}PWM主要程序说明STM32定时器PWM测试结果TIM1定时器的通道1到3的输出分别对应PA8、PA9、PA10引脚,而通道1到3的互补输出分别对应PB13、PB14和PB15引脚。将这些引脚分别接入示波器,在示波器上观查相应通道占空比的方波。上边为PA8输出的占空比为50%的波形下边为PB13互补输出。上边为PA9输出的占空比为25%的波形下边为PB14互补输出。上边为PA10输出的占空比为12.5%的波形下边为PB15互补输出。暨南大学研究生课程作业
本文标题:STM32-PWM
链接地址:https://www.777doc.com/doc-4876112 .html