STM8PWM模式.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STM8PWM模式

STM8 PWM模式 STM8的脉冲宽度调制(PWM)模式可以产生一个由TIM1_ARR寄存器确定频率、由TIM1_CCRi寄存器确定占空比的信号。 在TIM1_CCMRi寄存器中的OCiM位写入110(PWM模式1)或111(PWM模式2),能够独立地设置每个OCi输出通道产生一路PWM。必须设置TIM1_CCMRi寄存器的OCiPE位使能相应的预装载寄存器,也可以设置TIM1_CR1寄存器的ARPE位使能自动重装载的预装载寄存器(在向上计数模式或中央对称模式中)。 由于仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置TIM1_EGR寄存器的UG位来初始化所有的寄存器。 OCi的极性可以通过软件在TIM1_CCERi寄存器中的CCiP位设置,它可以设置为高电平有效或低电平有效。OCi的输出使能通过(TIM1_CCERi和TIM1_BKR寄存器中)CCiE、MOE、OISi和OSSR位和OSSI位的组合来控制。详见TIM1_CCERi寄存器的描述。 在PWM模式(模式1或模式2)下,TIM1_CNT和TIM1_CCRi始终在进行比较,(依据计数器的计数方向)以确定是否符合TIM1_CCRi≤TIM1_CNT或者TIM1_CNT≤TIM1_CCRi。 根据TIM1_CR1寄存器中CMS位域的状态,定时器能够产生边沿对齐的PWM信号或中央对齐的PWM信号。 PWM边沿对齐模式 向上计数配置 当TIM1_CR1寄存器中的DIR位为低的时候执行向上计数。 下面是一个PWM模式1的例子。当TIM1_CNTTIM1_CCRi时,PWM参考信号OCiREF为高,否 则为低。如果TIM1_CCRi中的比较值大于自动重装载值(TIM1_ARR),则OCiREF保持为1。如 果比较值为0,则OCiREF保持为0。下图为TIM1_ARR=8时边沿对齐的PWM波形实例。 (图67:STM8边沿对齐,PWM模式1的波形(ARR=8)) 向下计数的配置 当TIM1_CR1寄存器的DIR位为高时执行向下计数。 在PWM模式1时,当TIM1_CNTTIM1_CCRi时参考信号OCiREF为低,否则为高。如果TIM1_CCRi中的比较值大于TIM1_ARR中的自动重装载值,则OCiREF保持为1。该模式下不能产生0%的PWM波形。 PWM中央对齐模式 当TIM1_CR1寄存器中的CMS位不为00时为中央对齐模式(所有其他的配置对OCiREF/OCi信号都有相同的作用)。 根据不同的CMS位的设置,比较标志可以在计数器向上计数,向下计数,或向上和向下计数时被置1。TIM1_CR1寄存器中的计数方向位(DIR)由硬件更新,不要用软件修改它。参看17.3.6的中央对齐模式。 图68给出了一些中央对齐的PWM波形的例子 TIMx_ARR=8 PWM模式1 标志位在以下三种情况下被置位(以箭头形式在─中标出) ─只有在计数器向下计数时(CMS=01) ─只有在计数器向上计数时(CMS=10) ─在计数器向上和向下计数时(CMS=11) (图68:STM8中央对齐的PWM波形(APR=8)) 单脉冲模式 STM8单脉冲模式(OPM)是前述众多模式的一个特例。这种模式允许计数器响应一个激励,并在一个程序可控的延时之后产生一个脉宽可控的脉冲。 可以通过时钟/触发控制器启动计数器,在输出比较模式或者PWM模式下产生波形。设置TIM1_CR1寄存器的OPM位将选择单脉冲模式,此时计数器自动地在下一个更新事件UEV时停止。 仅当比较值与计数器的初始值不同时,才能产生一个脉冲。启动之前(当定时器正在等待触发),必须如下配置: 向上计数方式:计数器CNTCCRi≤ARR, 向下计数方式:计数器CNTCCRi。 (图48:STM8单脉冲模式图例) 例如,你需要在从TI2输入脚上检测到一个上升沿之后,延迟tDELAY,在OC1上产生一个tPULSE宽度的正脉冲: 假定IC2作为触发1通道的触发源: 置TIM1_CCMR2寄存器的CC2S=01,把IC2映射到TI2。 置TIM1_CCER1寄存器的CC2P=0,使IC2能够检测上升沿。 置TIM1_SMCR寄存器的TS=110,使IC2作为时钟/触发控制器的触发源(TRGI)。 置TIM1_SMCR寄存器的SMS=110(触发模式),IC2被用来启动计数器。 OPM的波形由写入比较寄存器的数值决定(要考虑时钟频率和计数器预分频器) tDELAY由TIM1_CCR1寄存器中的值定义。 tPULSE由自动装载值和比较值之间的差值定义(TIM1_ARR–TIM1_CCR1)。 假定当发生比较匹配时要产生从0到1的波形,当计数器达到预装载值时要产生一个从1到0的波形;首先要置TIM1

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档