本文主要介绍TIMSP430微控制器软件编程设计中的实践经验和应用技巧。
第一部分讲述基于中断的标准程序流程模式,适用于大多数的产品应用编程;另外一部分讲述MSP430微控制器编程人员在开发产品时需要注意的一些关键问题、重要方法与注意事项,如:程序初始化流程,晶振初始化时的注意事项等,利用这些方法可以极大程度地减少产品的开发周期和提高产品的稳定性。
1.MSP430微控制器标准软件设计流程
MSP430微控制器软件设计的标准流程均可参考图1。该标准的软件流程可将系统整体功耗降至最低。
图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。
关键字:TIMSP430 微控制器 软件编程
引用地址:
TIMSP430微控制器软件编程经验和应用技巧
推荐阅读最新更新时间:2024-10-24 06:55
TIMSP430微控制器软件编程经验和应用技巧
本文主要介绍TIMSP430微控制器软件编程设计中的实践经验和应用技巧。 第一部分讲述基于中断的标准程序流程模式,适用于大多数的产品应用编程;另外一部分讲述MSP430微控制器编程人员在开发产品时需要注意的一些关键问题、重要方法与注意事项,如:程序初始化流程,晶振初始化时的注意事项等,利用这些方法可以极大程度地减少产品的开发周期和提高产品的稳定性。 1.MSP430微控制器标准软件设计流程 MSP430微控制器软件设计的标准流程均可参考图1。该标准的软件流程可将系统整体功耗降至最低。 图1 图1所描述的软件流程代码是基于中断程序的,平时MCU处于睡眠状态,直到有中断产生时MCU被唤醒,最大程度降低系统功耗,优化电源
[单片机]
stm32单片机用什么软件编程
今天要和大家分享的是stm32单片机用什么软件编程相关信息。 想学单片机开发,最主要是熟悉stm32的软件开发环境,目前stm32的开发环境,主流是KEIL和IAR,当然主要是windows版本运行。 两个开发环境都是目前的主流,都用的很多,而且这两种开发环境实际上差异不大,学好一个即可。我个人常用keil,虽然keil的版本很多,因为我常用的是STM32F1,所以KEIL4,就能满足需求。想完整完成一个Stm32的工程开发过程,需要学会新建工程,这个是单片机开发工具基础操作。 除此之外。还需要学会使用Keil进行仿真,写代码肯定会遇到各种问题。怎么找到问题造成的原因。就需要仿真查看了代码执行情况,当然也有其他
[单片机]
keil单片机编程软件的使用方法说明
单片机编程软件的使用尤为必要,每一款单片机编程软件都有各自特色。大家在选用单片机编程软件时,可依据自身情况而定。本文对单片机编程软件的介绍基于Keil,主要在于介绍keil单片机编程软件如何将hex下载进STM32,如何烧写hex文件以及如何直接使用二进制数。如果你对本文内容具有兴趣,不妨继续往下阅读哦。 一、使用Keil下载Hex文件进STM32 初学STM32时,是通过串口1把Hex文件下载进STM32的,需要一个串口模块,而且还要设置BOOT0和BOOT1电平,然后通过FlyMcu软件进行下载,这也是一种不错的方法,这里我要介绍的是使用JLink调试器和Keil MDK-ARM来下载Hex文件,无需源代码,只需要一个调试
[单片机]
IAR单片机编程软件建立stm32工程的方法解析
Keil和IAR单片机编程软件,是当前流通度庞大的两款单片机编程软件。而对于单片机编程软件的使用,各自存在一定区别。本文中,将为大家讲解IAR单片机编程软件建立stm32工程的详细方法,希望大家通过本文能够有所收获哦。 版本1: stm32是一个当下非常流行的微控制器,很多人都加入了学习stm32的行列中,常用的stm32编译器有IAR和mdk两种,接下来是利用stm32固件库3.5在IAR下的建立的工程模板历程: 1、在常用的文件夹下新建立一个文件夹,根据个人喜好,分别建立如下几个文件夹,用于分别存放固件库中的文件和用户自己的文件。 2、将固件库E:STM32stm32固件库3.5STM32F10x_StdPeriph
[单片机]
stm32用什么软件编程 stm32的32指什么 stm32单片机的基本组成
stm32用什么软件编程 STM32可以使用多种软件进行编程,包括: Keil MDK-ARM:Keil是一种非常流行的ARM Cortex-M微控制器编程软件。它包含了一个完整的开发环境,包括代码编辑器、编译器、调试器和仿真器等。Keil MDK-ARM支持C/C++语言编程,可用于快速开发STM32应用程序。 STM32CubeIDE:STM32CubeIDE是STMicroelectronics推出的一个免费的集成开发环境,支持STM32微控制器的开发。它包含了一个基于Eclipse的IDE、编译器、调试器和STM32软件库等。STM32CubeIDE支持C/C++语言编程,具有丰富的工具和功能,可以大大提高
[单片机]
单片机编程用什么软件?单片机开发软件有哪些?
单片机编程需要的软件其实不多,网上看了很一大堆,什么protues仿真、Labview、Pycharm等等,其实完全没必要一下装这么多。 我从事开发这么多年真正用到最多的基本就4个。 1. Keil编程开发环境(必备) 这个是最核心的工具了,用来编写和编译程序,还有一个最重要的功能就是仿真,快速地帮你定位程序BUG,不过要配合ST-Link或者其他仿真器用。 一般51和STM32是用不同版本的Keil,不能兼容,如果装的话记得放在不同的文件夹下面,否则会有影响,主要体现在两个只能用一个。 2. Notepad++ 这个软件是我个人非常喜欢的,看个人喜好使用,非必须。 如果一个代码量很大的c文件,找函数和变量都比较方便,
[单片机]
STC单片机编程软件安装
STC单片机是由宏晶科技自主研发的可以款基于C51内核的单片机,在国内使用非常广泛。 STC在传统的C51单片机的基础上,性能设计得到了很大的提升,性能优越,而且价格比较低廉,获得了很多大学生和工程师的喜爱。 接下来,给大家简单的介绍一下STC 单片机(C51也兼容)开发环境的搭建 单片机开发最常用的编译软件有Keil,IAR 等,宏晶科技没有开发自己的单片机开发环境,是Keil C51软件来开发的。 STC单片机程序开发用的是Keil C51. (最常见的Keil 软件还有一个MDK版本,但MDK不适合STC单片机,MDK主要适用于ARM内核单片机开发使用),所以我们就需要下载并安装keil C51。 一、 下载Kei
[单片机]
51单片机学习笔记0 -- 编程软件安装(Keil)
上一篇讲仿真软件只是针对于有没实体开发板而言的模拟电路仿真,而贬称软件确是必不可少的,也就是Keil,相信不少编程爱好者都接触过Keil软件,Keil有51编译和ARM编译的版本,也有两者兼顾的版本,本篇大致说说Keil的安装和改编译限制 Keil编程软件安装 1.Keil安装 2.Keil解除编译限制 3.注意事项 1.Keil安装 打开Keil安装包,next 勾选复选框,next 选择安装路径,next 写个名字跟邮箱,可以随便敲一个,next 等待安装 finish 2.Keil解除编译限制 对于Keil和protues一样,都需要序列号激活,不然就会各种功能受限,像Keil编译个流水灯实验
[单片机]