例程:
/*******************
//功能:完成PWM模块初始化
//入口参数:无
//出口参数:无
*******************/
void PWM_Init(void)
{
PWME=0x00; //禁止PWM模块
PWMPRCLK=0x06; //CLOCK A的预分频设置为6
PWMSCLA=125; //SA的分频因子设置为125
PWMCLK=0x01; //通道0选择SA作为PWM时钟
PWMPER0=200; //通道0周期寄存器设置为200
PWMDTY0=0; //通道0占空比寄存器设置
PWMPOL=0x01; //PWM输出先为高电平,之后变为低电平
PWMCAE=0x00; //左对齐输出
PWMCTL=0x00; //不级联
PWME=0x01; //使能PWM通道0
}
以上是一个基本的PWM初始化程序,利用了很多PWM的寄存器,下面就根据不同的寄存器讲解一下。
(1)PWM允许寄存器(PWM Enable Register)
PWME可以通过设置相应的控制位启动或者停止PWM信号的输出。但是,由于PMWMEx需要与时钟源同步,直到PWM模块时钟下一个周期到来,才能输出正确的PWM波形。
注:当处于级联模式时,8个8位PWM通道通过两两级联构成4个16位PWM通道,此时PWME1,PWME3,PWME5和PWME7对应控制4个16位PWM通道,而其他控制位无效。
读:任何时刻 写:任何时刻
1表示允许PWMx通道输出,0表示禁止PWMx通道输出
(2)PWM极性寄存器(PWM Polarity Register)
PWMPOL是极性寄存器,如果极性选择为是1,周期开始时PWM通道输出高电平,当通道计数器数值等于占空比计数值时翻转为低电平;相反,如果极性选择位是0,周期开始时PWM通道输出低电平,当通道计数器数值等于占空比计数器值时翻转为高电平。
注:PPOLx寄存器的位可以在任何时刻写入。如果正在产生PWM信号时改变极性,在转换过程中可能截短或延长输出脉冲。
1代表在周期开始时输出高电平(中心对齐),0代表在周期开始时输出为低电平(左对齐)
(3)PWM时钟选择寄存器(PWM Clock Select Register)
PWMCLKx可以选择两个时钟源作为该通道的时钟源。分别为CLOCK A和CLOCK SA,CLOCK B和CLOCK SB,其中CLOCK A和CLOCK B是直接由总线时钟得到,CLOCK SA和CLOCK SB是通过对CLOCK A或CLOCK B进行再次的分频得到,就是进行两次的分频。
注:PCLKx寄存器的位可以在任何时刻写入。如果正在产生PWM信号时改变极性,在转换过程中可能截短或延长输出脉冲。
其中CLOCK A或CLOCK SA控制0,1,4,5通道的PWM,CLOCK B或CLOCK SB控制2,3,6,7通道的PWM。
1表示选择CLOCK SB或CLOCK SA作为相应通道时钟源,0代表选择CLOCK A或者CLOCK B直接作为通道的时钟源。
上一篇:飞思卡尔单片机PWM模块分析(2)
下一篇:mc9s12dg128使用定时器的输出比较产生定时中断代码亮1S灭1S
推荐阅读最新更新时间:2024-11-17 10:25
推荐帖子
- 2812搜查令+TMS320F2812原理与开发
- 影印版,适合不想花钱的和懒的翻书的人下。下载地址2812搜查令+TMS320F2812原理与开发这书是那本经典的吗?
- ahuang227 微控制器 MCU
- 关于低频信号发生器的问题,请高手们指教
- 我的电路设计和程序都编写好了,但是输出波形很不理想,只有方波OK,三角波,锯齿波,正弦波都失真很厉害,求大侠们帮小弟解决下这个问题!ORG0000HMAIN:MOVA,#00HMOVR1,#00HK1:MOVA,P1CJNEA,#0EH,K2LJMPM1K2:MOVA,P1CJNEA,#0DH,K3LJMPM2K3:MOVA,P1CJNEA,#0BH,K4LJMPM3K4:MOVA,P1CJNE
- zwn0601 单片机
- ARM不能学了,要学就学....
- 感觉现在某些嵌入式开发板的功能和电脑主板的功能差不多了什么接口都有,功能又全,我突然发现,我们不应该学嵌入式了,直接上电脑CPU.嵌入式芯片天天在提高主频,增强接口能力,最终嵌入式芯片的功能扩展会和电脑CPU接轨,那时候就直接用电脑CPU了.换句话说,ARM公司的发展目标也许就是某天能将ARM内核的CPU应用到个人电脑上面.请各位拍砖....ARM不能学了,要学就学....arm再怎么强大,在资源上比不上电脑的,但他的优势在于低的成本,功耗,接口,手机能用电脑cpu做吗?对于工业控制,电
- 雾里 ARM技术
- EMC测试基本环境要求统计-ISO 11452-1:2005
- 标准编号:ISO11452-1:2005标准名称:RoadvehiclesComponenttestmethodsforelectricaldisturbancesfromnarrowbandradiatedelectromagneticenergyPart1:Generalprinciplesandterminology一般环境要求:Theambienttemperatureduringthetestshallbe(235
- JackIeLc 汽车电子
- 求助LCD驱动问题
- 想用51系列的MCU驱动一个44×141的LCD屏幕,LCD驱动芯片是义隆的EM65168(80seg),请问有人用过吗,现在急的要死,就是全黑全亮都没有办法实现啊,现在连接方式是按照datasheet上才80*160的方式连接,测试程序比较乱,如下所示,希望高手来帮忙啊,先谢谢啦! #include\"Stc89le52rc.h\" #include #defineTIME0H0x4c//50ms #defineTIME0L0x00 #def
- lilizhen329 嵌入式系统
- 集成电路ESD防护设计理论、方法与实践 [韩雁,董树荣著][科学出版社][2014.08][215页]
- 集成电路ESD防护设计理论、方法与实践,好的经典参考书集成电路ESD防护设计理论、方法与实践书应该是不错的,在那里就是没有看到电子书的链接啊书应该是不错的,在那里,就是没有看到电子书的链接啊!!!电子版的有卡看看有下载链接么
- cmmjava 综合技术交流