历史上的今天
今天是:2025年03月06日(星期四)
2020年03月06日 | PIC 脉冲调控PWM模块
2020-03-06 来源:eefocus


PWM的输出引脚通过PWMxCON寄存器的第7位 PWM 模块使能位(PWMxEN)配置为PWM输出
其中输出脚分别为 RC5-----PWM1 RC3-----PWM2 RA2-----PWM3 RC1-----PWM4

个人总结关于PIC的PWM模块配置的一般步骤,感觉数据手册推荐的配置方法略微麻烦。
①配置系统时钟
②配置PWM引脚为输出
③配置TIM2的预分频数
④配置计数器PR2和TMR2
⑤配置输出极性并且PWM引脚输出使能
⑥设置占空比
⑦使能PWM波输出
void main()
{
OSCCON = 0x78;//16M
__delay_ms(20);
TRISCbits.TRISC5 = 0;//RC5配置为输出
ANSELCbits.ANSC3 = 0;
TRISCbits.TRISC3 = 0;//RC3配置为输出
ANSELCbits.ANSC1 = 0;
TRISCbits.TRISC1 = 0;//RC1配置为输出
ANSELAbits.ANSA2 = 0;
TRISAbits.TRISA2 = 0;//RA2配置为输出
T2CONbits.TMR2ON = 1;//Timer2 使能
T2CONbits.T2CKPS0 = 0;
T2CONbits.T2CKPS1 = 0;//1:1分频
PR2 = 199;
TMR2 = 0;
PWM1CONbits.PWM1POL = 0;//PWM 输出为高电平有效
PWM2CONbits.PWM2POL = 0;//PWM 输出为高电平有效
PWM3CONbits.PWM3POL = 0;//PWM 输出为高电平有效
PWM4CONbits.PWM4POL = 0;//PWM 输出为高电平有效
PWM1CONbits.PWM1EN = 1;//使能 PWM 模块
PWM2CONbits.PWM2EN = 1;//使能 PWM 模块
PWM3CONbits.PWM3EN = 1;//使能 PWM 模块
PWM4CONbits.PWM4EN = 1;//使能 PWM 模块
PWM1DCH = 0x19;
PWM1DCL = 0x00;//12.5%
PWM2DCH = 0x3c;
PWM2DCL = 0x00;//30%
PWM3DCH = 0x64;
PWM3DCL = 0x00;//50%
PWM4DCH = 0xa0;
PWM4DCL = 0x00;//80%
PWM1CONbits.PWM1OE = 1;//使能到 PWM引脚的输出
PWM2CONbits.PWM2OE = 1;//使能到 PWM引脚的输出
PWM3CONbits.PWM3OE = 1;//使能到 PWM引脚的输出
PWM4CONbits.PWM4OE = 1;//使能到 PWM引脚的输出
while(1)
{
}
}
理论上周期为 f=FOSC/4/PS/(PR2+1)=16M/4/1/(199+1)=20K
占空比为 D1=100/800=12.5%
D2=240/800=30%
D3=500/800=50%
D4=640/800=80%
实际示波器测量得到波形如下图所示




实际与理论基本相符
下一篇:【PIC32MZ】PWM呼吸灯
史海拾趣
|
汽车点烟器输出电压和电流是多少呢? 电脑的光驱有多少的电压和电流呢? 如果把光驱放到车上要接多大的电阻呢? 接什么东西 能把电流降到 1.5A 呢? 光驱的电流是1.5A 如果电流大了,光驱会坏吗? [ 本帖最后由 sunsonglin 于 2009-2-2 ...… 查看全部问答> |
|
本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 然国际金融危机给家电业带来了不小的冲击,但是受益于家电下乡、以旧换新等一系列利好政策,2009年我国的高端冰箱市场出现了快速增长的态势。另外,随着低碳理念的深入人心,企业节能技术不断 ...… 查看全部问答> |
|
我在看书看到这样一段话: 对于arm指令集来说,PC指向当前指令的下两条指令的地址,由于ARM指令是字对齐的,PC值的第0位和第一位总为0, 这句话全不懂,谁能解释下呢… 查看全部问答> |
|
问一下MSP430f42xx里的SAD( Sigma-Delta A/D)怎么用啊? 本帖最后由 paulhyde 于 2014-9-15 09:44 编辑 Sigma-Delta A/D 原理基本不懂····和逐次比较的有什么不同?还有怎样操作它? … 查看全部问答> |
|
0 引言 在现场测控系统中,RTU(远程测控终端)存储容量、存储数据的转移问题始终是RTU的重要环节。RTU的存储容量一般为几十K~几百K字节,数据转移通常采用不掉电静态RAM、EEPROM存储模块,或采用便携式计算机通过串行口读取RTU数据。 ...… 查看全部问答> |
|
最近在学习launchpad,中断方面困难重重。。。我想实现这样一个功能:P1.1设为输入,连接一个按键,然后利用中断判断按键按下的时间,要是短按的话就LED1翻转,长按的话LED2翻转。这样的话,我知道应该用捕获模式获取时间信息对吧,但是实现过程一 ...… 查看全部问答> |
|
今年刚大一下学期,学的电子信息专业,我应该入手怎样51单片机,本人小白, 刚刚进入大学,不想时间都被浪费,想自学51单片机,不知道怎么下手, 论坛的帖子也下了一些,也看了有一些,大二大三的学长要我先看书, 我到底是应该是先看书,还是边理论边实践,实践的话,应该买个什么样的51单片 ...… 查看全部问答> |




