历史上的今天
返回首页

历史上的今天

今天是:2024年08月28日(星期三)

正在发生

2020年08月28日 | TIMSP430微控制器软件编程经验和应用技巧

2020-08-28 来源:elecfans

本文主要介绍TIMSP430微控制器软件编程设计中的实践经验和应用技巧。


第一部分讲述基于中断的标准程序流程模式,适用于大多数的产品应用编程;另外一部分讲述MSP430微控制器编程人员在开发产品时需要注意的一些关键问题、重要方法与注意事项,如:程序初始化流程,晶振初始化时的注意事项等,利用这些方法可以极大程度地减少产品的开发周期和提高产品的稳定性。


1.MSP430微控制器标准软件设计流程

MSP430微控制器软件设计的标准流程均可参考图1。该标准的软件流程可将系统整体功耗降至最低。

TIMSP430微控制器软件编程经验和应用技巧

图1


图1所描述的软件流程代码是基于中断程序的,平时MCU处于睡眠状态,直到有中断产生时MCU被唤醒,最大程度降低系统功耗,优化电源效率。


理解图1所示的中断服务子程序(1SRs)流程,能更好的掌握MSP430微控制器处理低功耗的模式。MSP430微控制器的低功耗模式由状态寄存器SR的控制位控制,在执行中断服务子程序之前,状态寄存器SR的低功耗模式控制位可以被优先压栈。当中断服务子程序返回时,主程序调用中断之前的低功耗模式控制位,从而进入中断之前的低功耗模式状态。当然,如果我们在ISR中断服务子程序返回前修改了保存在SR中的低功耗模式控制位,那么ISR中断子程序执行完之后,主程序流程可以转到另一个不同的低功耗工作模式。


中断唤醒机制作为MSP430微控制器内部低功耗模式的一部分,允许系统快速唤醒,响应中断事件。例如,当一中断事件发生之前MSP430微控制器处于低功耗LPM0模式,MCU在执行中断服务子程序之前首先向堆栈保存SR中的低功耗模式控制位值然后清除SR值,清除SR值使MCU从LPMO模式进入到执行中断活动模式状态。在ISR中断服务子程序中,软件设计者可以写一条语句清除SR中的低功耗模式控制位,当中断程序完成后,MCU从堆栈中重新装载调用各自寄存器的状态值。如果没有修改SR的低功耗模式控制位,退出中断后系统仍然返回进入LPM0低功耗模式,若此时已修改SR控制位,当从ISR中断程序退出后,系统会工作于活动模式时,并且按进入中断之前的PC指针所指的地址继续执行程序。


由于可以在fSR中断服务子程序中改变低功耗模式,所以设计者可以选择在ISR程序中执行全部任务,也可以选择在ISR唤醒MCU后在主程序中处理任务。


在ISR程序中处理时确保能立即响应中断事件,中断事件发生时即能立刻处理中断任务,但是,在处理一个中断事件时,其它中断将不能被载入,直到该中断任务完成,而这样长时间的中断将会降低系统的响应灵敏,所以设计者须根据不同系统要求选择最佳处理方式。

图1所示的流程图中主程序需处理两个中断事件,这两个中断事件所要处理的任务是在主循环中处理的。ISRs执行两个不同的事件任务。第一个中断,ISRs改变了保存在堆栈中SR的值,可以使系统退出中断后进入活动工作模式,中断事件是在主程序中被执行,中断事件可以是一任意应用事件,例如定时器、按键处理、AD转换等。第二个中断,在ISR中断服务子程序设置一标志位,在主程序检测该标志位来判断是否执行相应的任务。如果需处理的中断事件能在较短的时间内迅速完成,这样就能够在中断服务子程序中直接执行,无需进入主程序处理,此时ISR中断服务子程序没必要设置标志位或改变SR低功耗控制位退出睡眠模式,退出ISR中断服务子程序后MCU仍然返回到睡眠模式。该流程可以根据系统应用的复杂性来定,例如,只有一个中断事一件可唤醒主程序时,则无需设置系统标志位,此时,通过中断唤醒主程序,然后主程序进行相应的任务操作,最后MCU重新进入睡眠模式。


图1中所提到的睡眠模式LPMn是系统所要用到的睡眠低功耗模式,每种应用所涉及的模式可能会有所不同,实际的睡眠模式由整个系统所用到的模块(如定时器、AD、串口等)决定,取决于系统模块在相应的睡眠模式下可否被中断唤醒。例如由MCU的定时器负责唤醒CPU,且该定时器时钟为ACLK时,则ACLK必须保持活动模式,则MCU可以工作在LPM3模式;但是如果定时器时钟为DCO时,则MCU必须工作在LPMO。

推荐阅读

史海拾趣

Frolyt Condensers & Elements GmbH公司的发展小趣事

随着业务规模的扩大,Frolyt Condensers & Elements GmbH意识到全球化布局的重要性。2010年,公司制定了全球化战略,首先在亚洲设立了生产基地,以利用当地丰富的资源和低廉的劳动力成本。随后几年间,Frolyt还通过一系列并购活动,收购了多家在特定市场具有影响力的电容器制造商,进一步巩固了其在全球市场的地位。这些并购不仅扩大了Frolyt的产品线,还增强了其技术研发能力和市场服务能力。

Alliance Fiber Optics Products Inc公司的发展小趣事

在1995年,台湾人章启侨在美国加州创立了AFOP。当时的电子行业正处于光纤通信技术的蓬勃发展时期,章启侨凭借对市场的敏锐洞察,将公司的业务聚焦于光纤通信主被动元件的设计与制造。在创立初期,AFOP面临着技术、资金和市场等多方面的挑战,但章启侨带领团队不断攻克难关,逐渐在市场中站稳脚跟。

Gumstix公司的发展小趣事
检查电路中是否有异物导致短路,清理异物并修复受损部分。
Advanced Analog公司的发展小趣事

Advanced Analog自1999年创立起,便专注于电源管理IC的设计及研发。面对当时电子市场的激烈竞争,公司凭借对技术的深刻理解和敏锐的市场洞察力,成功开发出多款高性能、高可靠性的电源管理IC产品,迅速在行业中崭露头角。通过不断的技术创新和优化,Advanced Analog逐渐在电源管理IC领域建立起自己的技术优势和品牌影响力。

Excel Cell Electronic Co Ltd公司的发展小趣事

为了拓展海外市场,ECE公司制定了国际化战略。公司积极参与国际电子展会,与国际知名企业建立合作关系,不断提升品牌知名度和国际影响力。同时,ECE公司在海外设立分支机构,加强与国际市场的联系和沟通,进一步拓展市场份额。这些努力使ECE公司的产品成功进入欧洲、北美等发达地区市场,实现了全球化布局。

C-MAX Time Solutions公司的发展小趣事

C-MAX Time Solutions公司在发展过程中,逐渐认识到深耕细分市场的重要性。公司针对工业控制、安防监控等特定领域,推出了定制化的时间同步解决方案。这些方案不仅满足了客户的特殊需求,也提高了C-MAX在这些细分市场的占有率。通过不断积累口碑和经验,C-MAX逐渐在电子行业中树立起了专业、可靠的形象。

问答坊 | AI 解惑

人性之弱点,总不愿意自己承担错误

最近产品测试发现一个软件BUG,经过多番证明,确实是我的合作同事的软件漏洞,面对事实,他还要强辩。我无语了…

查看全部问答>

单片机开发什么网站好?

单片机开发网究竟怎么样?…

查看全部问答>

wince 开机自动安装cab

c#开发软件运行在wince上,要求: 1、设备开机时自动运行cab文件; 2、cab安装结束后自动运行安装的软件…

查看全部问答>

设备仿真器有关设置

  询问高手~本人在设备仿真管理器模拟PPC,还有一个usb的红外适配器,现已用ircomm2k软件将其映射到虚拟串口com3,请问能否在仿真器中实现红外传输功能,本来想配置一下外围设备,但一映射串行端口com3就出错,敬请赐教。     ...…

查看全部问答>

仿真正常,烧写后运行不正常

用的mega16,用MKII仿真的时候运行一切正常,烧写到片子后也能运行,但是感觉运行得极其缓慢,比如键按下后过一分钟才有反应,这是怎么回事呢?…

查看全部问答>

请教各位,在安装evc中出现如下错误是什么原因,谢谢

我从microsoft的网站上下的eVC4, 安装SDK for windows ce .net 的过程中,出现如下错误 windows 脚本宿主 脚本: c:\\windows\\system32\\platman_install.vbs 行 :  29 字符: 1 错误: ActiveX 部件不能创建对象:“Scripting.F ...…

查看全部问答>

wince5.0下内存泄露,很微小的,几分钟增长4k

定时器3秒执行一次 Invalidate(); UpdateWindow(); 复制代码 整个程序就干这一件事,隔3秒显示一张图片。但是我用wince的系统属性查看正在使用的内存数,隔几分钟就会增长4K,我联系观察了几个小时,很有规律。 void CshowphotoDlg::OnPaint() { ...…

查看全部问答>

LED玻璃应用与特性

Power Glass 是一款新颖的高科技含量的玻璃产品,是LED技术在玻璃领域重点全新运用,既保持玻璃超高透明的特性,又可通过LED特性使玻璃内部发出夺目的光彩,通过自由组合的光点图案,可使闪果变化多端,颜色丰富多彩。 ● 属安全建筑材料,具有抗压 ...…

查看全部问答>

stlink2终于支持mdk了!!!

                                 mxchip今天发布了驱动,刚才试过了,确实可用…

查看全部问答>

stm32官方有没有usart波特率计算工具?

                                 有的话给个下载连接,谢谢…

查看全部问答>