历史上的今天
返回首页

历史上的今天

今天是: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的库函数开发,我认为这种学习方式不正确,没有走过路的人是永远体会不到骑自行车轻松的,只有扎扎实实学习基于寄存器开发,才能更清楚的明白库函数开发和使用操作系统的必要性,只有经历了在单片机芯片英文手册中苦苦查找寄存器查找标记位的历练,才会在以后的学习中体会到守望云开的明朗!

推荐阅读

史海拾趣

Elprotronic Inc.公司的发展小趣事

在Elprotronic Inc.公司创立的初期,面临着电子元器件市场竞争激烈、技术更新迅速的挑战。公司创始人凭借对电子元器件市场的深刻理解和敏锐的洞察力,决定专注于提供高质量和可靠的嵌入式MCU闪存编程解决方案。他们深知,在电子行业,产品质量和技术创新是企业生存和发展的关键。因此,Elprotronic Inc.从一开始就注重技术研发和产品质量控制,逐渐在市场上树立了良好的口碑。

Aleph America Corporation公司的发展小趣事

在电子行业中,客户服务质量直接关系到企业的声誉和市场竞争力。Elprotronic Inc.深知这一点,因此一直致力于优化客户服务体系。他们建立了专业的客户服务团队和客户服务热线电话等多种渠道来及时解答客户的咨询和问题。同时,公司还定期开展客户满意度调查活动收集客户反馈和建议以便及时改进和优化产品和服务。这些努力使得Elprotronic Inc.在客户服务方面赢得了良好的口碑和信誉也为公司的长期发展奠定了坚实的基础。

请注意,以上故事均为虚构内容,旨在展示Elprotronic Inc.公司可能的发展路径和故事。实际情况可能有所不同,具体细节请以公司官方发布的信息为准。

苏州锋驰(Feng)公司的发展小趣事
如发现元件损坏(如二极管、电阻、开关管等),应及时更换相同规格的元件。
Dowosemi公司的发展小趣事

作为一家高新技术企业,Dowosemi公司深知研发投入对企业发展的重要性。他们每年都将大量的资金投入到研发领域,不断推出新的产品和解决方案。这些新产品不仅提升了公司的技术实力,也为公司带来了更多的市场机会。正是这种对研发的重视和投入,让Dowosemi公司在竞争激烈的电子行业中保持了持续的发展动力。

Exel Microelectronics Inc公司的发展小趣事

随着全球对环保问题的日益关注,Exel Microsystems Inc公司也积极响应,履行环保责任。公司在XXXX年开始实施绿色生产战略,通过采用环保材料、优化生产流程等措施,降低了生产过程中的能耗和废弃物排放。此外,Exel还积极参与环保公益活动,推动行业和社会的可持续发展。这些举措不仅彰显了公司的社会责任感,也为公司赢得了良好的社会声誉。

Fullywell Semiconductor Co Ltd公司的发展小趣事

面对市场需求的不断变化和技术的不断进步,Fullywell始终保持着对研发的重视和投入。在2020年,公司研发团队经过数年的努力,成功攻克了多项关键技术难题,推出了新一代的智能电源管理芯片。这款芯片在能效比、集成度和可靠性等方面均达到了行业领先水平,赢得了市场的广泛好评。Fullywell借此机会实现了产品的迭代升级,进一步巩固了其在电源管理芯片市场的领先地位。

问答坊 | AI 解惑

[转载]史上最实用较深刻的峰值检测电路实例与分析 TINA7 OPA128OPA131TL372

本帖最后由 dontium 于 2015-1-23 13:23 编辑 史上最实用较深刻的峰值检测电路实例与分析 TINA7 OPA128OPA131TL372 …

查看全部问答>

谁有优龙fs2410 wince 按键的驱动 ?

谁有fs2410的驱动,能给我发一份吗?我就快毕不了业,写个按键驱动,中断怎么都没有反应。我的邮箱lihongdongnan@yahoo.cn…

查看全部问答>

[求助]S3C2440触摸驱动能否做成手写驱动

1:2440在ADC等待模式的中断,只能每按一次产生一次中断,如果我想按下去一直放手,最后也只能产生一次中断....做到手写的驱动是需要按下时一直继续进行采样的,可在2440不知道怎样做 2:自动X,y转换模式应当怎样使用?我试过后好像不能进入中断服务程序 ...…

查看全部问答>

如何在wince环境下创建一个xml文件啊 请求实例说明

我想在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??? …

查看全部问答>

怎样连接两台电脑的串口?

有两台电脑相距比较远,少说也有200米,想通过串口来传递简单的数据,怎样才能把它俩连起来呢?如果用一对RS232转485直联可以吗?…

查看全部问答>

哪位有STM8L151G4 和STM8L152M8的最小系统图

抱歉 我不是故意伸手 主要是时间紧 而且刚接手  时间来不及  哪位有的高手请麻烦帮忙一下 我邮箱是396095630@qq.com万分感谢…

查看全部问答>

数码管,点阵的问题。(小白求助)

数码管的位选能不接三极管直接接IO口吗?为什么? 点阵可不可以不接芯片,直接用三极管驱动?为什么? 点阵可不可以直接接IO口?为什么? 请各位大大教教小白。 那还有一个问题就是接电阻的作用是限流,但是限流不就让电流更小了吗?那不就不会 ...…

查看全部问答>

初学MSP-EXP430G2-LaunchPad(一)

一、Value Line入门这一部分将介绍MSP430 Value Line系列微控制器,同时需要准备下载并安装相关的软件,并且对MSP-EXP430G2-LaunchPad开发板进行相关设置。 流程:Value Line介绍TI系列微控制器总览MSP430系列微控制器路线图Value Line系列介 ...…

查看全部问答>