PWM模块和时钟系统模块学习笔记_第1页
PWM模块和时钟系统模块学习笔记_第2页
PWM模块和时钟系统模块学习笔记_第3页
PWM模块和时钟系统模块学习笔记_第4页
PWM模块和时钟系统模块学习笔记_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、PWM 模块1.PWM 通道占空比寄存器PWM Channel Duty Register(PWMDTY)每个通道都有一个专用的用来设置占空比的寄存器PWMDTYx, PWMDTYx 和 PWMPERx的值共同决定了占空比的值,就是说当每个通道的count 的值计数到与PWMDTYx的值相等时,相应的输出信号就发生一次翻转。如果你设置PWMPOL 寄存器的某位PPOLx的值为 1,也就是开始的时候输出为高电平,然后当计数器数到与PWMDTYx 的值后就翻转为低电平,那么PWMDTY 寄存器的值就包含了高电平的时间,再结合占空比说明一下吧PPOLx=1:占空比 =( PWMDTYx/PWMPER

2、x) *100%PPOLx=0:占空比 =( PWMPERx-PWMDTYx) /PWMPERx*100%2.PWM 通道周期寄存器PWM Channel Period Registers(PWMPERx)每个通道都有一个专用的用来设置周期情况的寄存器(PWMPERx),这个寄存器的值就决定了 PWM 通道输出信号周期的长短,如果我们已经知道的参考时钟源的值,那么就可以计算出 PWM 输出信号的周期了,计算方法如下:PWMxPeriod=ChannelClockPeriod*PWMPERx(左对齐情况下即 CAEx=0)PWMxPeriod=ChannelClockPeriod*PWMPERx

3、*2(居中对齐情况下即CAEx=1)3. PWM 使能寄存器 PWM Enable Register(PWME)PWME7:0分别控制着对应的8 个通道的使能,例如:PWME_PWME0=0:禁止通道 0 的 PWM 输出PWME_PWME7=1: 使能通道 7 的 PWM 输出3.PWM极性寄存器PWMPolarityRegister(PWMPOL)PWMPOL 寄存器是用来控制PWM 一开始输出时的信号高低情况,假如PPOLX设为 1,则与之相应的 PWM 通道在开始的时候输出为高电平,然后等到计数器的值与你设置的那个PWM信号的值( PWMDTYx)相等的时候就输出低电平。PPOL的值为

4、 0 的时候正好与这相反。4.PWM Clock Select Register(PWM时钟选择寄存器 )PWMCLK寄存器是用来设置每个通道的参考时钟源的,每个通道都有CLOCK A,CLOCK SA(0,1,4,5);CLOCK B,CLOCK(SB2,3,6,7) ,例如:2 个时钟源, 具体的为PWMCLK_PCLK0=0;则通道PWMCLK_PCLK6=1;则通道0 选择6 选择CLOCK A作为时钟源CLOCK SB作为参考时钟源5. PWM PrescaleClock Select Register(PWMPRCLK)PWM预分频时钟选择寄存器PWMPRCLK的第 3 位和第 7

5、 位没有定义,低三位用来设置CLOCK A 的分频, 4-6 位则设置CLOCKB的分频,以CLOCKA为例,具体值的计算如下表:6、PWM Center Align Enable Register(PWMCAE)PWMCAE 寄存器用来设置每个通道的对齐方式,CAEx为 0 时,设置相应的通道为左对齐,CAEx为 1 时,设置相应的通道为中心对齐7、PWM Control Register (PWMCTL)PWMCTL 寄存器可以控制相应通道之间的两两级联情况,以便将 PWM 口设置成16 位的输出,这样有利于提高精度,比如你设置PWMCTL_CON01=1;那么通道个 16 位的 PWM

6、输出通道,这个 16 位的 PWM 通道的输出端为通道情况也由通道 1 的相应寄存器去设置。0 和通道 1 就级联成一1 的输出端口,其配置8、PWM Scale A Rerister(PWMSCLA)PWMSCLA寄存器是用来将 CLOCK A寄存器继续压缩分频, 以产生 CLOCK SA,具体的计算公式如下:CLOCK SA=CLOCK/2*PWMSCLA注意:当PWMSCLA为 0 的时候实际上是满标度值,也就是将COLCK A 512分频寄存器各位如下所示9、PWM Scale B Register(PWMSCLB)该寄存器的使用情况和PWMSCLA一样,这里不累述,具体可参考上面一段

7、时钟系统模块1.CLKSEL:时钟选择寄存器( Clock Select Register)CLKSEL=0;/ 锁存器时钟关PLLSEL 位,选定锁相环(PLL Select)位,置为 1 选定锁相环时钟。0:系统时钟来自晶振1:系统时钟来自锁相环2.PLLCTL:锁相环控制寄存器( CRG IPLL Control Register)CME 位,时钟监控允许位 (Clock MonitorEnable) ,CME=1 时,时钟监控允许; CME=0时禁止; PLLON 位,锁相环电路允许位, PLLON 1 时,锁相环电路允许; =0 时禁止。FM1, FM0: IPLL 频率调制使能位这

8、两位是用来减少噪声用的,任何时候都可以写,除了PLLSEL=1时SCME:自时钟模式使能位。 正常模式可以写一次, 特殊模式 anytime 。当工作在自时钟模式( SCME=1)时,不能被清除。SCMEl 时,探测到外部晶振失效时产生复位信号; SCME= 0 时,探测到外部晶振失效时进入自给时钟方式。通常,单片机的片内寄存器在CPU复位时都是清0的。在此,注意到,这个锁相环控制寄存器见 PLLCTL在复位后有 2位为 1,在没有全面掌握某个 CPU的特性之前, 尽可能使用复位后的默认参数 是一条原则,这可以使系统初始化的处理尽量简单。使用默认参数,可以不对 PLLCTL寄存器做任何初始化。对于复位后清零的寄存器恐怕要想一想这些O 参数是否合理,是否能工作。3.SYNR:CRG 合成器寄存器( CRG Synthesizer Register)SYNDIV由 SYNR寄存器的 0

温馨提示

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

评论

0/150

提交评论