MSP430F149定时器TA总结

2020-03-17来源: eefocus关键字:MSP430F149  定时器  看门狗

msp430的定时器主要是指基本定时器,看门狗定时器和TATB定时器,两种定时器从功能和用法的角度基本相似,TB功能更为强大,有7个CCR0寄存器,即可输出六路PWM,在做三相逆变的时候,需要六路每路相差60°的spwm波,就是用TB来发生的。


定时器的PWM发生利用的是比较模式,即在CCR0中储存周期,CCR1中储存一个小于CCR0的数字,CCR1/CCR0的比值即为占空比,其原理如下图所示:


在一个16位计数器TAR增加的过程中,当达到CCR1前输出高电平,达到CCR0值前输出低电平,达到CCR0后,重新置位。


与TA相关的寄存器分为四类:


1、TACCRx(CCRx)     //捕获/比较寄存器


2、TACCTLx(CCTLx) //捕获/比较控制寄存器


3、TACTL                  //控制寄存器


4、TAIV                     //中断向量寄存器


/*************TACCRx*************/


该寄存器使用最简单,可读可写,在PWM输出中CCR0常用作周期,CCR1中用作占空比。,具体作用方法见7-2图

/************TACCTLx*************/


15 14                 13 12       11       10         9     8        7 6 5             4           3         2       1         0


CAPTMOD1-0   CCIS1-0   SCS   SCCIx          CAP   OUTMODx   CCIEx   CCIx   OUT   COV   CCIFx


CAPTMOD1-0 :


选择捕获模式


00 禁止捕获模式


01 上升沿捕获


10 下降沿捕获


11 上升沿与下降沿都捕获


CCISI1-0 :


在捕获模式中用来定提供捕获事件的输入端


00 选择CCIxA


01 选择CCIxB


10 选择GND


11 选择VCC


SCS:


选择捕获信号与定时器时钟同步、异步关系


0 异步捕获


1 同步捕获


异步捕获模式允许在请求时立即将CCIFG置位和捕获定时器值,适用于捕获信号的周期远大于定时器时钟周期的情况。但是,如果定时器时钟和捕获信号发生时间竞争,则捕获寄存器的值可能出错。


在实际中经常使用同步捕获模式,而且捕获总是有效的。


SSCIx 比较相等信号EQUx将选择中的捕获、比较输入信号CCIx(CCIxA,CCIxB,Vcc和GND)进行锁存,然后可由SCCIx读出。


CAP:


选择捕获模式还是比较模式。


0 比较模式


1 捕获模式


注意:同时捕获和捕获模式选择


如果通过捕获比较寄存器CCTLx中的CAP使工作模式从比较模式变为捕获模式,那么不应同时进行捕获;否则,在捕获比较寄存器中的值是不可预料的,推荐的指令顺序为:[1]修改控制寄存器,由比较模式换到捕获模式。


[2]捕获


OUTMODx :


选择输出模式


000 输出


001 置位


010 PWM翻转/复位


011 PWM置位/复位


100 翻转/置位


101 复位


110 PWM翻转/置位


111 PWM复位/置位


关于2和3的关系:


置位就是对寄存器的某一位写"1"

复位就是使寄存器恢复到初始状态值。

翻转就是该位的电平由"1"变为"0"或者由"0"变为"1"

在实际应用中,一般使用3和6或者2和7输出一对可以互补的pwm,其他几种感觉实际应用不是很强,此外翻转与置位感觉在此差别不大


同时关于输出模式,有下图


CCIx :


捕获比较模的输入信号


捕获模式:由CCIS0和CCIS1选择的输入信号通过该位读出。


比较模式:CCIx复位。


OUT :


输出信号


0 输出低电平


1 输出高电平


如果OUTMODx选择输出模式0(输出),则该位对应于输入状态。


COV :


捕获溢出标志


0 输出低电平


1 输出高电平


[1]当CAP=0时,选择比较模式。捕获信号发生复位,没有使COV置位的捕获事件。


[2]当CAP=1时,选择捕获模式,如果捕获寄存器的值被读出再次发生捕获事件,则COV置位。程序可检测COV来断定原值读出前是否又发生捕获事件。读捕获寄存器时不会使溢出标志复位,须用软件复位。


CCIFGx:


捕获比较中断标志


捕获模式:寄存器CCRx捕获了定时器TAR值时置位。


比较模式:定时器TAR值等于寄存器CCRx值时置位。


1、在比较模式输出pwm的情况下,一般对TACCTL设置的方法是CCTL0 = OUTMOD_2;而若另外一个IO口设置为CCTL0 = OUTMOD_6;则两路为互补的,这在做逆变两个导通情况需要正好相反的情况下是非常方便的,用这种方法,也只要控制每两路之间相差120°,每一个再输出一个差180°的就可以输出六路,从而实现三相逆变。


2、在捕获模式下,一般设置的方法是


CCTL0 = CM_1 + SCS + CCIS_0 + CAP + CCIE;                          // Rising edge + CCI0A (P1.1) + Capture Mode + Interrupt


/************TACTL*************/


15--10  9           8           7        6     5        4        3       2       1        0


未用     SSEL1  SSEL0   ID1   ID0  MC1  MC0  未用  CLR  TAIE  TAIFG


SSEL1、SSEL0:


选择定时器输入分频器的时钟源


Timer_A时钟源


SSEL1   SSEL0   输入时钟源   说明


0            0           TACLK          用特定的外部引脚信号


0            1           ACLK            辅助时钟


1            0           SMCLK          子系统时钟


1            1           INCLK            见器件说明


ID1,ID0:


输入分频选择


00 不分频


01 2分频


10 4分频


11 8分频


MC1,MC0 :


计数模式控制位


00 停止模式


01 增计数模式


10 连续计数模式


11 增/减计数模式


CLR:


定时器清除位


POR或CLR置位时定时器和输入分频器复位。CLR由硬件自动复位,其读出始终为0。定时器在下一个有效输入沿开始工作。如果不是被清除模式控制暂停,则定时器以增计数模式开始工作。


TAIE :


定时器中断允许位


0 禁止定时器溢出中断


1 允许定时器溢出中断


TAIFG:


定时器溢出标志位


增计数模式: 当定时器由CCR0计数到到0时,TAIFG置位。


连续计数模式:当定时器由0FFFFH计数到0时,TAIFG置位。


增/减计数模式:当定时器由CCR0减计数到0时,TAIFG置位。


TACTL设置起来比较简单,而且变化不多,不论是捕获还是比较模式相差都不很大,基本上都是只要选择一个时钟源(TASSEL)和一个计数模式(MC),时钟源一般会选择TASSEL_2(SMCLK,在没开XT2的情况下,默认800khz,在开XT2的情况下可达8MHZ),TASSEL_1(ACLK,一般不需分频,则为32768HZ)。计数方式一般都会选择增计数模式MC_1;少数情况下MC_3据说可用来生成对称波,没有试过,但是MC_3会把普通pwm的频率减半.......(使我naive的以为语句要占运行时间,所以即使使用8M晶振也只能达到4M频率而已)


TA总结如是,TB只是比他多了几个CCR和CCLT而已,可以用来输出6路pwm,总的评价一下定时器,主要用比较模式来生成PWM波(含SPWM波),捕获模式用来测频,测频精度非常高,感觉基本能满足鄙人要求。。。。,以后在构架系统的时候,应该会利用TB来输出PWM,用TA测频及测相,在需要测频较多的情况下使用TB测频测相。P2。4-P2。7用来键盘,P5。2-P5。6用来液晶显示,基本人机交互和系统需求应该都可以满足

关键字:MSP430F149  定时器  看门狗 编辑:什么鱼 引用地址:http://news.2689mr.com/mcu/ic491904.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:msp430F149调PWM
下一篇:MSP430F149学习之路——PWM信号

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430F149的DS18B20C语言程序
;   //描述:  延时子程序。    //****************************************************************************   void Delay(unsigned int x)   {       while(x !=0)x--;   }  本程序是以MSP430F149单片机的DS18B20C语言程序,DS18B20的DQ脚连接MSP430单片机的P6.4,把读取到温度值,存放在float类型数组
发表于 2020-03-12
MSP430F149单片机实现uart数据接收中断
******************************************************/#include  <msp430x14x.h>typedef unsigned char uchar;typedef unsigned int  uint;extern void Delays(void);extern uchar GetChar(void);extern void PutChar(uchar c);extern void PutString(uchar *ptr);extern void InitUART(void);static uchar pstr = 'A';/********************主函数
发表于 2020-03-11
MSP430F149单片机实现uart数据接收中断
MSP430F5438内部延时函数的用法
今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法第一步,复制代码:#define CPU_F                               ((double)8000000) #define delay_us(x)   
发表于 2020-03-08
初学MSP430F5529定时器
之前一直感觉定时器有点难,但其实后来发现更多的是中断那块没太懂,中断以后会说的。先简单看下定时器吧。一、基本1.在user’s guide上看到的5529其实有3种定时器,ABD,这三种好像确实有些区别的,但是目前就只看A感觉就够了。2.Timer_A是具有四种操作模式的16位定时器,7个比较器/捕获器3.能够输出PWM波,具有8中PWM波形,但是要注意的是,这种输出只能在外围功能模块里使用,即之前说过的SEL。比如P1.2能够输出Timer_A0的比较器/捕获器1的波形,而在其他管脚上,就没有办法直接输出这种PWM波形。所以如果这个管脚被占用的话,或是不想用这个来整,其实用中断做PWM波也挺好用的。4.能实现串行通信(其实我
发表于 2020-03-08
MSP430F5529时钟系统深究
1、为什么要进行时钟管理?  时钟系统是一个数字器件的命脉,对于普通的51单片机来说,它的时钟来源只有外部晶振,然后每12个振荡周期完成一个基本操作,所以也叫做12T单片机,但对于当前高级一点的单片机来说,比如MSP430F5529有5个时钟来源,经过UCS(Unified Clock System,通用时钟系统)模块之后,产生MCLK(Master Clock),SMCLK(Subsystem master clock ),ACLK(Auxiliary clock)三个时钟;对于更高端的单片机,比STM32F103ZET6里面有专门用来管理时钟的RCC单元(Reset Clock Control),也就是通常所说的时钟树
发表于 2020-03-08
MSP430F5529时钟系统深究
基于MSP430F5529的按键消抖问题
注:板子:MSP430F5529 开发环境:CCSv5上一篇博文发了按键中断的例程和详细的注释,但是好像把程序烧进单片机之后执行效果并不是很好:每按一次按键灯的状态不一定只改变一次,有时灯本来是亮的,按一次后还是亮的;或者按下去之后灯灭了,按键抬起来之后灯又亮了。造成该现象的原因就是按键的抖动问题。按键的抖动一般是机械性抖动,当开关断开或闭合时接触点处不会一下子接通也不会一下子断开,而是会产生轻微的抖动导致电路的多次接通和断开,这个过程大致会持续5ms-10ms。想像一下如果中断程序是瞬间完成的,那么接触点每抖动一下都会引起一次中断,所以就会引起按下按键后灯的状态改变次数是不确定的,也就是效果和我们的预期不一致;由于按下和抬起时
发表于 2020-03-08
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD。com。cn, Inc。 All rights reserved
澳门赌场送彩金 易迅彩票送彩金 彩票大赢家 足球投注注册送彩金 澳客彩票 棋牌送彩金38 彩票大赢家 澳门真人网上娱乐送彩金 棋牌游戏送彩金38 太阳城送彩金