MSP430F149定时器B讲解.docVIP

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

MSP430F149定时器B 1.定时器B模块: TimerB与TimerA大部分相同,不同点在于定时器B的捕获/比较单元增加了锁存器。 二者区别: (1)TimerB计数长度为8位,10位,12位,16位可编程,由TBCTL寄存器的CNTLx两位来配置,而定时器A的计数长度是固定的16位; (2)TimerB没有实现定时器A中的SCCI功能位的功能; (3)TimerB在比较模式下的捕获/比较寄存器功能与TimerA不同,增加了捕获比较锁存器; (4)有些芯片型号当中TimerB输出实现了高阻抗输出; (5)比较模式的原理有所不同:TimerA当中CCRx寄存器当中保存与TAR相比较的数据,而在TimerB当中CCRx中保存要比较的数据,但并不直接与定时器TBR相比较,而是将CCRx当中的数据锁存到相应的锁存器之后,由锁存器与TBR相比较。从捕获/比较寄存器相比较锁存器传输数据的过程的时间也是可编程的,可以是写入比较捕获寄存器之后立即传输,也可有一个定时器来触发传输。 (6)TimerB支持多种同步的定时功能,多重比较捕获功能和多重波形输出功能(PWM波)。而且,通过对比较数据的两级缓冲,可实现多个PWM波同步周期更新。 2.TimerB的逻辑结构图: 定时器B的逻辑结构基本与定时器A相同。 3.定时器B的寄存器: 寄存器相关位的配置过程参考定时器A和数据手册。 4.定时器B的比较功能 当定时器B工作在比较模式时,将数据写入捕获比较锁存器TBCCRx当中,当TBCCTLx当中的CLLDx位决定的装载事件的发生时,TBCCRx中的数据会自动地传输到比较寄存器当中。 5.TI提供的例程: // //??//? // //???????????????MSP430F149 //????????????----------------- //????????/||??????????????XIN|- //?????????| |?????????????????| HF XTAL (455k - 8MHz) //?????????--|RST??????????XOUT|- //???????????|?????????????????| //???????????|?????????P4.1/TB1|-- CCR1 - 75% PWM //???????????|?????????P4.2/TB2|-- CCR2 - 25% PWM // //??M. Buccini //??Texas Instruments Inc. //??Feb 2005 //??Built with IAR Embedded Workbench Version: 3.21A //****************************************************************************** #include??msp430x14x.h void main(void) { ??volatile unsigned int i; ??WDTCTL = WDTPW +WDTHOLD;??????????????????// Stop WDT //系统时钟初始化 ??BCSCTL1 |= XTS;???????????????????????????// ACLK= LFXT1 = HF XTAL ??do ??{ ??IFG1 = ~OFIFG;???????????????????????????// Clear OSCFault flag ??for (i = 0xFF; i 0; i--);???????????????// Time for flag to set ??} ??while ((IFG1 OFIFG));???????????????????// OSCFault flag still set? ??BCSCTL2 |= SELM_3;????????????????????????// MCLK= LFXT1 (safe) //io口初始化 ??P4DIR |= 0x06;????????????????????????????// P4.1 and P4.2 output ??P4SEL |= 0x06;????????????????????????????// P4.2 and P4.2 TB1/2 otions //定时器B的配置 ??TBCCR0 = 128;?????????????????????????????// PWM Period/2 ??TBCCTL1 = OUTMOD_6;???????????????????????// CCR1 toggle/set ?

文档评论(0)

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

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

1亿VIP精品文档

相关文档