2217|0

6366

帖子

4896

TA的资源

版主

楼主
 

MSP430F149内部资源(二) [复制链接]

五、定时器
定时器是MSP430应用系统中经常要用到的重要部分。
(一)、可以实现的功能有:
1、定时引起中断
2、延迟
3、提供串口比特率
4、信号产生
5、信号检测 (捕获模式下)
6、频率测量
7、脉宽测量
(二)、一般来说,MSP430所需要的定时信号可以用软件和硬件两种方法来实现;
1、软件定时: 设计一个延迟程序,节省硬件,所需时间容易调整,但是执行程序期间一直占用CPU,降低了CPU的利用率;
2、硬件定时:利用专门的定时器件作为主要实现器件,在简单软件控制下产生准确的时间延迟;通过指令对其设置时间常数,并由指令启动定时器。

(三)、MSP430F149的定时资源:

1、WDT----看门狗定时器
在正常操作期间,一次WDT溢出将产生一次系统复位。如果通过程序使WDT的定时时间略大约程序执行一遍所需时间,并且程序中含有对WDT清零的指令,使EDT重新计数。那么程序正常运行时,在WDT时间还没到达之前将其清零,不会产生系统复位;如果程序跑飞,则在WDT时间到达的时候不会有指令将其清零,就会产生WDT溢出,从而引起系统复位,程序重新开始执行,这样就避免了因程序执行错误产生不可预计的错误。
WDT的寄存器资源:
a、WDTCNT----计数单元,是16位增计数器;
b、WDTCTL----控制寄存器,由两部分组成,高8位用作口令,低8位对WDT进程控制
要写入操作WDT的控制命令,必须首先正确写入高字节看门狗口令,口令位5AH,如果口令写错将会导致系统复位,
通过控制寄存器低8位可以实现的功能
IS0,IS1-----选择看门狗定时器的定时输出
SSEL----- 选择WDT的时钟源
CNTCL---- 该位置1时清除WDTCNT
TMSEL---- 工作模式选择
0---看门狗模式, 1---定时器模式
NMI----- 选择RST/NMI引脚功能,在PUC后被复位
0---复位端, 1----边沿触发的非屏蔽中断输入
NMIES--- 选择中断的边沿触发方式
0---上升沿触发, 1---下降沿触发
HOLD----- 停止看门狗定时器工作,降低功耗
0---WDT功能激活, 1---WDT停止工作
WDT用到SFR地址的两位:中断标志位WDTIFG---位于IFG1.0,初始态为复位;
中断允许位WDTIE---位于IE1.0,初始态为复位。
看门狗定时器:在看门狗模式下引发的中断属于非屏蔽中断
在定时器模式下引发的中断属于可屏蔽中断
通过WDTCTL 可以选择WDT的定时时间、工作模式、中断方式以及低功耗模式。

看门狗关闭语句:WDTCTL = WDTPW + WDTHOLD;
//WDTPW ----口令,固定值 0x5A00
//WDTHOLD ---- 0x0080,HOLD位置位。WDT功能激活

定时周期为32ms:WDTCTL = WDT_MDLY_32;
//其中:WDT_MDLY_32 = WDTPW+WDTTMSEL+WDTCNTCL
//WDTTMSEL = 0x0004 ,TMSEL置1,选择定时器模式
//WDTCNTCL = 0x0008, CNTCL置1,清除WDTCNT

2、Timer_A----定时器A
由一个16位定时器 和 多路比较器/捕获通道组成,每个比较/捕获通道都以16位定时器的定时功能为核心进行单独的控制
Timer_A的特性:
a、不仅能捕获外部事件发生的时间,而且还能锁定其发生时的高低电平
b、4种计数功能选择
c、8种输出方式选择
d、可实现串口通信
e、不能重载时间常数

Timer_A由以下三部分组成
a、计数器部分:输入时钟源有4种选择,又可以选择1、2、4、8分频;
来源:(http://blog.sina.com.cn/s/blog_5aef3d000100ejc3.html) - MSP430F149内部资源(二)_心灵港湾_新浪博客 b、捕获/比较器:捕获、比较器两者工作是完全相互独立的,用于捕获事件产生的时间或者
时间间隔;
c、输出单元:具有可选的8种输出,用于产生用户需要的信号。

Timer_A的寄存器资源:

a、TAR------16位计数器
b、TACTL----控制寄存器
SSEL1,SSEL0-----用于选择定时器的时钟源
ID1,ID0----- 用于选择分频
MC1,MC0----- 计数模式控制位
CLR--------- 定时器清除位
TAIE-------- 定时器中断允许位
TAIFG------- 定时器溢出标志位
增计数模式:当定时器又CCR0计数到0,置位
连续计数模式:当定时器由0FFFFH计数到0,置位
增减计数模式,当定时器由1减为0时,置位
c、CCRx-----捕获/比较寄存器
当满足捕获条件时,硬件自动将计数器TAR数据写入该寄存器中。如果要测量某个
脉冲长度,可定义上升沿和下降沿都捕获,在上升沿时,捕获一个定时器数据,在
下降沿时又捕获一个定时器数据,那么这两个定时数据的差就是脉冲宽度。
d、CCTLx---捕获/比较控制寄存器
CM1,CM0--------选择捕获模式
CCIS1,CCIS0----在捕获模式中用来定义提供捕获事件的输入源
SCS------------选择捕获信号是同步还是异步关系
COV------------捕获溢出标志
CCIEx----------捕获/比较模块中断允许位
CCIFGx---------捕获寄存器中断标志
CAP-----------选择捕获模式还是比较模式
0---比较模式, 1----捕获模式
OUTMODx-------选择输出模式
OUT-----------输出信号
0---输出低电平, 1---输出高电平
CCIx----------捕获比较模块的输入信号
SCCIx---------比较相等信号EQUx将选中的捕获/比较输入信号CCIx进行锁存,然
后可由SCCIx读出
捕获模式下,由CCIS0,CCIS1选择的输入信号可通过该位读出。
e、TAIV-------------中断向量寄存器
Timer_A中断可由计数器溢出引起,也可以来自捕获/比较器,每个捕获/比较器可以
独立编程,由外部信号产生中断,外部信号可以是上升沿,也可以是下降沿,也可两者都
有;
Timer_A模块使用两个中断向量,一个单独分配给捕获/比较器0,另一个作为共用中
断向量用于定时器和其它捕获/比较器;
捕获/比较寄存器CCR0中断向量具有最高的优先级,因为其能用于定义增计数和
增/减计数模式的周期,需要最快的服务。
CCR1--CCRx与定时器共用一个中断向量,属于多源中断,对应的中断标志CCIFG1--
CCIFGx和TAIFG1在读中断向量字TAIV后,自动复位;如果不访问TAIV寄存器,则不会自动
复位,需用户软件清除。如果相应的中断允许复位(不允许中断),则将不会产生中断请
求,但中断标志仍存在,需用软件清除。
如果有Timer_A中断标志位,则TAIV为相应的数据,该数据和PC的值相加,可使系
统自动进入相应的中断服务程序。

设置定时器A,选择MCLK,清除TAR,允许定时器溢出中断
TACTL = TASSEL1 + TACLR + TAIE;
//TASSEL1 = 0x0200,,SSEL置位,选择MCLK
//TACLR = 0x0004, CLR置位,TAR清零
//TAIE = 0x0002,IE置位,允许定时器中断



3、Timer_B----定时器B
 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表