MC9S12 PWM模块学习笔记_第1页
MC9S12 PWM模块学习笔记_第2页
MC9S12 PWM模块学习笔记_第3页
MC9S12 PWM模块学习笔记_第4页
MC9S12 PWM模块学习笔记_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PWM模块.PWM的主要特点有:周期和脉宽可以被双缓冲。当通道关闭或PWM计数器为0时,改变周期和脉宽才起作用。1.PWME使能寄存器.Read:Write:Bit?654 321BitDPWME7PWME6PWME5PWME4PWME3F^'ME2mME1PWMEOReset:000D0000图2PWME寄存器用法:PWME7=1; 7通道可对外输出波形。PWME7=0; 7通道不能对外输出波形。2.PWMPOL寄存器(选择初始电平)用法:PWMPOL0=1;0通道对外输出波形先是高电平然后再变为低电平。PWMPOL0=0;0通道对外输出波形先是低电平然后再变为高电平。an654321Bit[iRead:Write:PPOL7PPDLGPPOL5PPOL4PPDL3PPOL2PPOL1PPOLOReset:Dn(1D00DCl图3PWMPOL寄存器3.PWMCLK寄存器(时钟源选择)每一个PWM输出通道都有两个时钟可供选择(A、SA或B、SB)。0、1、4、5通道可选用A、SA时钟,2、3、6、7通道可选用B、SB通道。如果当一个PWM输出波形正在产生时,时钟改变,这时就会产生一个平头的或线形脉冲。用法:PCLK1=1;1通道的时钟源设为SA。PCLK1=0; 1通道的时钟源设为A。4.PWMPRCLK寄存器(A,B时钟源分频)4.PWMPRCLK寄存器(A,B时钟源分频)PWMPRCLK寄存器是单独用来给时钟源A、B进行预分频的。PCKB2PCKB1PCKB0ValueofClockB000E001EH010EM011E/810QE/16101E/32110E/€4111E/12B图6时钟A预分频选择值 图7时钟B预分频选择值5.PWMCAE寄存器(决定周期是否加倍寄存器)PWMCAE寄存器包含8个控制位来对每个PWM通道设置左对齐输出或居中对齐输出。如果CAEx置为1,则为居中对齐输出。如果置为0,则为左对齐输出。应当注意的是,只有输出通道被关闭后才能对其进行设置,即通道被激活后不能对其进行设置。(见PWMPERx寄存器)6.PWMCTL寄存器(通道串联)Read:We:Reset:CON67CON45CON23CONOIPFRZ00Bit?6421BitO00Read:We:Reset:CON67CON45CON23CONOIPFRZ00Bit?6421BitO00000图9PWMCTL寄存器只有当相应的通道关闭后,才能改变这些控制字。CON67=1;这时通道6、7就串联为同一个输出通道。此时只有7通道的控制字有用。例如:7通道的PWME寄存器决定了他们的输出情况,7通道的PWMPOL寄存器决定了他们是高电平翻转还是低电平翻转,7通道的PWMCLK寄存器决定了他们两个的时钟源,7通道的PWMCAE寄存器决定了他们是左对齐输出还是居中对齐输出等。CON67=0;这时6,7通道分别作为独立输出通道对外输出。7.PWMSCLA寄存器(时钟源SA频率选择)Offeet:$00085 4 321BitoBH7Read:Write:E54321Dit(]Re^et:Q0000000图10PWMSCLA寄存器时钟SA是通过对PWMSCLA寄存器的设置来对A时钟进行分频而产生的。其计算公式为:ClockSA=ClockA/(2*PWMSCLA)PWMSCLB寄存器同PWMSCLA寄存器相同.ClockSB=ClockB/(2*PWMSCLB)8.PWMCNTx寄存器AddressWDOC PWIdCNTOBit?£54321BitOD0000d0DReset: D 0 0 0 0 0 0 0图11PWMCNTO寄存器计数器在任何时候都可以被读,而不影响计数,也不影响对PWM通道的操作。任何值写入PWMCNT0寄存器都会导致计数器复位置0,且其计数方向会被设置为向上计数,并且会立刻从缓冲器载入任务和周期值,并会根据翻转极性的设置来改变输出。当计数器达到计数值后,会自动清零。只有当通道使能后,计数器才开始计数。此寄存器随时都可以对其进行读、写操作。9.PWMPERx寄存器(周期常数寄存器)周期的计算方法:1)当CAEx=0时,即进行左线性输出时:PWMx周期=通道时钟周期*PWMPERx2)当CAEx=1时,即进行居中对齐输出时:PWMx周期=通道时钟周期*(2*PWMPERx)10.PWMDTYx寄存器(占空比常数寄存器)当计数值与占空比常数PWMDTY相等时,则比较输出器有效,这时就会将触发器置位,然后PWMCNT继续计数,当计数值与周期常数PWMPER相等时,比较器输出有效,将触发器复位,同时也使PWMCNT复位,结束一个输出周期。占空比的计算方法:当PPOL=0时:占空比=[(PWMPERx—PWMDTYx)/PWMPERx]*100%当PPOL=1时:占空比=(PWMDTYx/PWMPERx)*100%总结:当为左线性输出时:PWMx输出频率=时钟频率/PWMPERx当PPOLx=0时占空比=[(PWMPERx—PWMDTYx)/PWMPERx]*100%当PPOLx=1时占空比=[PWMDTYx/PWMPERx]*100%当为居中线性输出时:PWMx输出频率=时钟频率/(2*PWMPERx)当PPOLx=0时占空比=[(PWMPERx—PWMDTYx)/PWMPERx]*100%当PPOLx=1时占空比=[PWMDTYx/PWMPERx]*100%应当注意的是,在对PWMDTYx和PWMPERx进行设置时,PWMPERx寄存器的值应当大于PWMDTYx寄存器的值。PWM初始化步骤总结1、 禁止PWMDisablePWMPWME=0;2、 选择时钟Selectclock(prescalerandscale)forthePWMPWMPRCLK,PWMSCLA,PWMSCLB,PWMCLK3/r/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论