脉宽调制模式可以生成一个由TIMx_ARR寄存器的值确定频率和TIMx_CCRx寄存器的值确定占空比的信号。
脉宽调制模式可以生成一个由TIMx_ARR寄存器的值确定频率和TIMx_CCRx寄存器的值确定占空比的信号。
可以对每个通道独立选择PWM模式,( OCx输出一个PWM信号)在TIMx_CCMRx寄存器的OCxM位写110(PWM模式1)或111(PWM模式2)。必须通过设置TIMx_CCMRx寄存器的OCxPE位,启用相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。
仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置TIMx_EGR寄存器中的UG位来初始化所有的寄存器。
OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可以设置为高电平有效或低电平有效。TIMx_CCER寄存器中的CCxE位控制OCx输出使能。详见TIMx_CCERx寄存器的描述。
配置步骤:
1. 使能相关时钟。
2. 配置相关的引脚模式、速度、以及复用功能。
3. 使能TIM时钟
4. 设置分频。
5. 设置周期。(ARR的值)周期=(PSC+1)* ARR / TIMx时钟
6. 产生一次更新事件,更新影子寄存器的值。
7. 在CCMR中设置PWM模式。
8. 设置各通道占空比。占空比= CCRx / ARR。
9. 使能比较输出。
10. 启动预装载。
11. 打开定时器。
程序:
/************************************
标题:输出4路PWM
软件平台:IAR for ARM6.21
硬件平台:stm32f4-discovery
主频:168M
author:小船
data:2012-02-08
*************************************/
#include
void main ()
{
SCB->AIRCR = 0x05FA0000 | 0x400; //中断优先级分组 抢占:响应=3:1
RCC->AHB1ENR |= (1<<2); //打开GPIOC时钟
GPIOC->MODER |= 0X000AA000;//pc6789第二功能
//推挽输出
GPIOC->OSPEEDR |= 0x000ff000;//速度100m
GPIOC->PUPDR |= 0x00055000;//上拉
GPIOC->AFR[0] |= 0x22000000;//pc6789第二功能AF2
GPIOC->AFR[1] |= 0x00000022;
RCC->APB1ENR |= (1<<1); //打开TIM3时钟
TIM3->PSC = 83; //对时钟84M进行84分频,使得计数频率为1M
TIM3->ARR = 10000; //周期10ms
TIM3->EGR |= 1; //产生一次更新事件
TIM3->CCMR1 |= 0x6060;//PWM模式1
TIM3->CCMR2 |= 0x6060;//PWM模式1
TIM3->CCR1 = 8000;//设置第一通道占空比80%
TIM3->CCR2 = 6000;//设置第二通道占空比60%
TIM3->CCR3 = 4000; //设置第三通道占空比40%
TIM3->CCR4 = 2000; //设置第四通道占空比20%
TIM3->CCER |= 0x1111;//使能比较输出
TIM3->CCMR1 |= 0x0808;//启动预装载
TIM3->CCMR2 |= 0x0808;
TIM3->CR1 |= 1; //开始计时
while(1)
{
};
}
关键字:stm32f407 PWM 操作寄存器
引用地址:
stm32f407之PWM(操作寄存器)
推荐阅读最新更新时间:2024-03-16 16:07
如何实现STM32F407单片机的ADC转换
用到的引脚是PA3也就是ADC1的通道3 1、ADC的主要参数 a、分辨率----stm32f407的分辨率有6位、8位、10位、12位,参考电压如果是3.3 那么最小分辨率就是3.3/4095。 b、转换时间----stm32f407的最高允许频率是36M,最快转换时间 = 3+12个周期 =0.71us。 c、参考电压----2.4至3.3v。 2、工作过程分析 ADC转换是把外面输入到引脚的电压值转换成数字信号,单片机里面有一个模拟至数字的转换模块,我们可以控制它采集引脚的电压,stm32F407可以利用void ADC_SoftwareStartConv(ADC_TypeDef* ADCx)这个函数来控制转换。 3、详细的
[单片机]
开关电源五种PWM反馈控制模式
1 引言 PWM开关稳压或稳流电源基本工作原理就是在输入电压变化、内部参数变化、外接负载变化的情况下,控制电路通过被控制信号与基准信号的差值进行闭环反馈,调节主电路开关器件的导通脉冲宽度,使得开关电源的输出电压或电流等被控制信号稳定。 PWM的开关频率一般为恒定,控制取样信号有:输出电压、输入电压、输出电流 、输出电感电压、开关器件峰值电流。由这些信号可以构成单环、双环或多环反馈系统 ,实现稳压、稳流及恒定功率的目的,同时可以实现一些附带的过流保护、抗偏磁、均流等功能。现在主要有五种PWM反馈控制模式。下面以VDMOS开关器件构成的稳压正激型降压斩波器为例,说明五种PWM反馈控制模式的发展过程、基本工作原理、详细电路原理示
[电源管理]
【STM32电机方波】记录4——PWM输出配置
PWM生成原理: 通用定时器可以利用GPIO引脚进行脉冲输出,在配置为比较输出、PWM输出功能时,捕获/比较寄存器通用定时器可以利用GPIO引脚进行脉冲输出,在配置为比较输出、PWM输出功能时,捕获/比较寄存器TIMx_CCR被用作比较功能,下面把它简称为比较寄存器。 这里直接举例说明定时器的PWM输出工作过程:若配置脉冲计数器TIMx_CNT为向上计数,而重载寄存器TIMx_ARR被配置为N,即TIMx_CNT的当前计数值数值X在TIMxCLK时钟源的驱动下不断累加,当TIMx_CNT的数值X大于N时,会重置TIMx_CNT数值为0重新计数。 而在TIMxCNT计数的同时,TIMxCNT的计数值X会与比较寄存器TIMx_CCR
[单片机]
高功率因数的单相全桥PWM整流电路原理
在电子电路设计过程当中,如何不断的提高功率因数,始终是众多开发者一直在不断研究的问题。 PWM 整流 电路是一种采用PWM控制的整流电路,能够极有效率的提高电路的功率因数。本篇文章将对单相 全桥 PWM整流电路的工作原理进行讲解,希望能为电源新手们提供便利。 图1 如图1所示,使用三角波和正弦信号的比较方法,来对电路中的V1~V4来进行SPWM控制。这样就可以在桥的交流输入端AB产生一个SPWM波uAB。uAB中含有和正弦信号波同频率且幅值成比例的基波分量,以及和三角波载波有关的频率很高的谐波,不含有低次谐波。 由于Ls的 滤波 作用,谐波电压只使is产生很小的脉动。当正弦信号波频率和电源频率相同时,is也为与电源频率相同的正
[电源管理]
STM32+按键调控PWM输出+串口输出占空比
GPIO.c #include STM32Lib\\stm32f10x.h #include hal.h /******************************************************************************* * Function Name : GPIO_Configuration * 设置PD3,PD4,PD5,PD6为键盘输入 * 设置PB0,5,8,9; PC5,7; PD7 ;PA8 为输出LED灯 *******************************************************************************/
[单片机]
基于51单片机的可调PWM波程序
#include reg52.h #define uint unsigned int uint pp; char num=2,dis; sbit pwm=P1^0; sbit s2=P3^4; sbit s3=P3^5; sbit dula=P2^6; sbit wela=P2^7; unsigned char code table = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; void keyscan() { if(s2==0) { while(!
[单片机]
一种新型ZCS-PWM Buck变换器研究
1 引 言 与功率场效应管(MOSFET)相比,绝缘栅双极晶体管(IGBT)具有更高的耐压值、更大的能量密度和较低的开通损耗,因此己广泛用于高压、大功率场合。然而,IGBT的开关速度较慢,而且关断时还存在电流拖尾现象,因而会导致较大的关断损耗。解决这两个问题的有效措施是实现IGBT的零电流开关(ZCS)。为此,近几年已陆续提出了多种ZCS脉宽调制(Pulse Width Modulated,简称PWM)技术方案 。例如,文献 虽能实现所有有源开关器件的ZCS,但主开关管的电流应力很大,它将显著增加导通损耗。这一问题在文献 中得到解决,但辅助开关管的电流应力也很大。而且由于两个谐振电感分别与主开关管、辅助开关管串联,所以损耗较大,
[电源管理]
基于DSP控制的电压型PWM整流器
根据PWM整流电路的工作原理,分析了PWM整流控制方式,采用滞环电流控制方式,以TMS320F2812为控制器组建了电压型PWM整流器双闭环自动控制系统。实验结果表明,该系统具有良好的静态、动态性能。为设计PWM整流器提供了一定的理论依据。 关键词 PWM整流;滞环电流控制;DSP 工业中的变流器大多需要整流环节,以获得直流电压。常规的整流环节一般采用二极管布控整流或晶闸管相控整流,虽然电路简单、经济可靠,但存在以下问题:网侧电流波形严重畸变,造成功率因数低,最高功率因数约为0.8;大量无功功率的消耗会给电网带来额外负担,不仅增加了输电线路的损耗,而且严重影响了供电质量;输入电流中含有丰富的低次谐波电流,带来电网污染。而应用MOS
[电源管理]