MSP430F149;二、TIMEA

发布者:平和心态最新更新时间:2020-03-04 来源: eefocus关键字:MSP430F149  TIMEA  定时器 手机看文章 扫描二维码
随时随地手机看文章

前面讲了几个寄存器,现在说说定时器A的三种功能

定时器

定时器主要是配置tatcl

在这里插入图片描述

在TASSELx 选择时钟源(这里X是因为有两位来控制,或者查询IAR里面的430的头文件找简单的书写方式,有对应的 #define)

这边我一般都是是选用ACLK,到时候用外部中断唤醒CPU

对应时钟就是分频,选择IDx(1/2/4/8)


选择MCx,来控制16位计数器计数模式。

这里面会用到寄存器中的TACCR0,这是一个16位的寄存器,可以存0~65536之中的任意值,(一般根据计算机器周期等等的,输入一个值,来使TAR计数器累加到咱们计算出啦的数字后产生中断)比如,我知道计数器数数字数到32768需要一秒时间,那我就可以在taccr0中赋值32768,当tar中的值等于32768的时候,就产生中断。在这之前,中断使能哦,还有总中断开关打开。


一般这样就可以工作了,如果需要中断的操作的,配置一下TAIE 和 TAIFG,这个中断标志要软件清零,然而TACLR这个是用来复位TAR的,一般不用管,因为会自动清零


TAR寄存器是16位的计数用的寄存器,最大能存的值为65536(2^16),通俗点说就是用二进制来数数,从0,1,2,3…一直数到一定值


捕捉

捕捉一般是计算脉冲宽度啥啥啥的,打个比方,在一个高脉冲走了5S。这个时候我们用捕捉功能可以玩一下,当脉冲上升沿的时候产生个中断,当下降沿的时候再产生中断的时候,我们就可以知道我们的振荡器数了几个数字,你要是说如果数数超过65536呢,我们在寄存器里面有个捕捉溢出位,到时候溢出一次,加上65536再把溢出位清零就好


一般作用测量两个上升沿之间的时间,或者两个下降之间的时间,或者一段脉冲的时间


捕捉功能怎么配置呢:

首先

在TACCTLx中:(有三个TACCTL0、TACCTL1、TACCTL2)

eg:TACCTL1

1.cap位置位(1)

2.CMx选择捕获方式;

3.CCISx选择捕获那个引脚,一般就是CCI1A(这个是eg:TACCTL1)

4.SCS置一,同步模式

5中断使能和标志,置一


比较

一般默认就是比较功能:

首先

1.cap清零;默认就是0

2.中断使能和标志置一;

3.taccr1赋值;


输出输出模式设置

主要由:

outmodx 位,8中状态可以选择

out 如果outmodx 位是000,则这位直接控制输出状态,0输出低;1输出高;


输出模式主要是PWM作用,具体可以看下数据手册

关键字:MSP430F149  TIMEA  定时器 引用地址:MSP430F149;二、TIMEA

上一篇:独立按键使流水灯逐个亮,学习使用
下一篇:MSP430F149;一、TIMEA

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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