历史上的今天
今天是:2025年03月02日(星期日)
2020年03月02日 | MSP430定时/计数器TimerA中断解惑
2020-03-02 来源:eefocus
刚学过51单片机,再来学习MSP430F149,在定时器中断这一块,对于初学者还是有一定难度的,这是因为430的定时器配置更为灵活,比51要复杂好多,下面我把我初学时遇到的一些问题写下来供大家参考。
1、首先,用户指南中有Three configurable capture/compare registers这句话,这表明430有三个捕获比较单元可以用来配置,那么多几个捕获比较单元有什么用?答案是:非常有用,就好比百米短跑的秒表,它如果只能够计一个人的时间显然是不够的,多几个这样的单元用户可以根据自己需求灵活开发。
2、很多初学者搞不懂什么是捕获模式,什么是比较模式,打个比喻,捕获模式,就像100米短跑,当你到达终点就触发中断(秒表按下停止键),捕获到的就是你的耗时。
而比较模式就像是给定你确定的时间(例如1分钟),当到达时间之后就会触发中断。
捕获模式适合用于测量时间间隔,测量脉冲,速度。而比较模式适合产生周期信号。
3、当Timer_A计数计满的时候需要手动清零吗?
答案是:不需要!看下图:

用户手册中写道:TACLR是定时器复位位,当计满的时候,会自动清零。
4、其次,关于定时器中断有两种,一种是溢出中断TAIFG,另一种是捕获比较中断CCIFG,这两种到底有什么区别,尤其是寄存器配置过程中TAIE和CCIE到底使用哪一个,让很多初学者头疼,下面我就解释清楚;

这是在Continues模式(连续增计数)下,TAIFG和CCIFG产生的条件图,文字也讲的很清楚了,TAIFG is set when the timer counts from 0xffff to zero,就是说当定时器
从最大值0xffff到0的时候,溢出中断标志位会置1,也就是当定时器计满的时候再等上一个时钟周期(1h)之后置1,这个计满,是指16位的定时器计到最大值0xffff,而不是用户设定的比较值CCR0.
而CCIFG是当定时器计数到CCR0的时候置1,CCR0的值由用户自己设定。
在Up增计数模式下,由于定时器不可能计满(0xffff),他只能计到CCR0,因此CCIFG触发的时间和TAIFG触发的时间只差一个时钟周期。
当Timer=CCR0的时候捕获比较中断TAIFG置1,而当Timer从CCR0重新归零的时候TAIFG置1.
当用户使用中断的时候,需要去配置相应的中断允许位。
一定要搞懂一件事情,那就是中断标志位和中断使能位,中断标志位相当于高考分数线,而中断使能位相当于高考准考证,只有先拿到准考证(先使能中断允许),然后参加考试过了分数线(触发了中断),最终才能上大学(响应中断)。当然上大学(响应中断)也不是必要的,可以采用查询法(不领准考证,自己做套试卷,然后根据标准答案得分),当查询到符合条件(考试成绩合格),那么说明你一样具备大学生的入学能力(处理相应事件)。
用户手册中有关于TAIFG和CCIFG的使能及标志位:

如上图所示:寄存器TACTL的TAIE是溢出使能位。TAIFG是标志位。

如上图所示:CCIFG是捕获比较中断标志,而CCIE是捕获比较中断使能。
本人是电子类专业学生,上学的时候学校只开设了51单片机的课程,后来出于兴趣相继学习了16位单片机MSP430和32位单片机STM32,从寄存器开发到库函数开发到嵌入式操作系统,逐渐领略到了微控制器世界的无穷魅力。有些人一上手就是LINUX操作系统下开发或者STM32的库函数开发,我认为这种学习方式不正确,没有走过路的人是永远体会不到骑自行车轻松的,只有扎扎实实学习基于寄存器开发,才能更清楚的明白库函数开发和使用操作系统的必要性,只有经历了在单片机芯片英文手册中苦苦查找寄存器查找标记位的历练,才会在以后的学习中体会到守望云开的明朗!
上一篇:msp430的基本时钟源
史海拾趣
|
[转载]史上最实用较深刻的峰值检测电路实例与分析 TINA7 OPA128OPA131TL372 本帖最后由 dontium 于 2015-1-23 13:23 编辑 史上最实用较深刻的峰值检测电路实例与分析 TINA7 OPA128OPA131TL372 … 查看全部问答> |
|
谁有fs2410的驱动,能给我发一份吗?我就快毕不了业,写个按键驱动,中断怎么都没有反应。我的邮箱lihongdongnan@yahoo.cn… 查看全部问答> |
|
1:2440在ADC等待模式的中断,只能每按一次产生一次中断,如果我想按下去一直放手,最后也只能产生一次中断....做到手写的驱动是需要按下时一直继续进行采样的,可在2440不知道怎样做 2:自动X,y转换模式应当怎样使用?我试过后好像不能进入中断服务程序 ...… 查看全部问答> |
|
我想在wince环境下 生成一个xml文件 内容有 George John Reminder Don\'t forget the meeting! 在网上找了好久 都 ...… 查看全部问答> |
|
有谁知道一般的科学计算器用的是什么型号的CPU?51系列还是其它的呢?谢谢! 自己想搭个硬件平台做科学计算器,把自己的计算器拆开只看到一个裸片,一块大黑痣里面是啥都看不到郁闷!有人知道一般的科学计算器都用什么cpu来实现么,不知c51能不能符合要求,因为c51对浮点的支持比较差,只支持到单精度,这对对精度要求较高的 ...… 查看全部问答> |
|
wince5.0 可以安装在window2003操作系统上吗? 百分请教 GOOGLE了。BAIDU了。都没找到类似的答案 请教了。。。。。 安装的时候,提示是需要2000 的SP1,或者是XP的SP4。。。 是不是意味着2003无法安装WINCE5.0??? … 查看全部问答> |
|
哪位有STM8L151G4 和STM8L152M8的最小系统图 抱歉 我不是故意伸手 主要是时间紧 而且刚接手 时间来不及 哪位有的高手请麻烦帮忙一下 我邮箱是396095630@qq.com万分感谢… 查看全部问答> |
|
数码管的位选能不接三极管直接接IO口吗?为什么? 点阵可不可以不接芯片,直接用三极管驱动?为什么? 点阵可不可以直接接IO口?为什么? 请各位大大教教小白。 那还有一个问题就是接电阻的作用是限流,但是限流不就让电流更小了吗?那不就不会 ...… 查看全部问答> |
|
一、Value Line入门这一部分将介绍MSP430 Value Line系列微控制器,同时需要准备下载并安装相关的软件,并且对MSP-EXP430G2-LaunchPad开发板进行相关设置。 流程:Value Line介绍TI系列微控制器总览MSP430系列微控制器路线图Value Line系列介 ...… 查看全部问答> |




