MSP430单片机的中断系统(1)

发布者:星尘之泪最新更新时间:2021-06-16 来源: eefocus关键字:MSP430  单片机  中断系统 手机看文章 扫描二维码
随时随地手机看文章

简介:
主要内容有:
·中断分类
·非可屏蔽中断
·中断处理
·外部中断
·程序中如何使用中断


1中断的分类


1.1 什么是中断



在我们学习中断的知识之前,我们要做的第一件事就是,知道中断是什么东西,他是来做什么的,也就是什么是中断。


中断是暂停CPU正在运行的程序,转去执行相应的中断服务程序,完毕后返回被中断的程序继续运行的现象和技术。


正如这幅CPU执行流程图,在无中断时,是顺序执行,而在有中断时,会在发生中断时,转去执行中断服务程序,当执行完中断服务程序的时候再返回现场继续执行原程序。


1.2中断优先级



我们现在看到的这张图是MSP430单片机的中断优先级顺序图。


中断优先级由引起中断的模块的排列顺序来确定,越靠近CPU/NMIRS,中断优先级越高。


1.3 中断分类(中断源)


中断首先需要有中断源发出中断请求,并征得系统允许(屏蔽、优先权)后才会发生。转去执行中断服务程序前需保护中断现场,执行完中断服务程序后应恢复中断现场。



MSP430单片机的中断分为三类,分别为:系统复位、不可屏蔽中断和可屏蔽中断。


1.4中断控制位



MSP430总中断的控制位是状态寄存器内的GIE位(该位在SR寄存器内),该位在复位状态下,所有的可屏蔽中断都不会发生响应。可屏蔽中断又分为单中断源和多中断源的。单中断源的一般响应了中断服务程序中断标志位就自动清零,而多中断源的则要求查询某个寄存器后中断标志位才会清零。


由于大多数人接触的第一款单片机通常是51,51单片机CPU在响应低优先级的中断程序过程中若有更高优先级的中断发生,单片机就会去执行高优先级,这个过程已经产生了中断嵌套。


而430单片机则不同,如果在响应低优先级中断服务程序的时候,即使来了更高优先级的中断服务请求,430也会置之不理,直至低优先级中断服务程序执行完毕,才会去响应高优先级中断。这是因为430在响应中断程序的时候,总中断GIE是复位状态的,如果要产生类似51的中断嵌套,只能在中断函数内再次置位GIE位。


2 非可屏蔽中断


2.1 非可屏蔽中断源


非可屏蔽中断指的是,不能被SR寄存器中的全局中断使能位GIE禁用,具备独立的中断使能。


MSP430的非可屏蔽中断源主要有三个:


※外部管脚NMI的触发;


※Flash非法访问;


※振荡器错误。


2.2 外部管脚NMI的触发


第一种中断源为外部关键NMI的触发,也就是上电后,RST/NMI引脚被配置为复位模式。RST/NMI引脚功能选择位在看门狗定时器控制寄存器WDTCTL中。如果RST/NMI引脚被设置为复位功能,当RST/NMI引脚为低电平时CPU被停止。当输入变成高电平后,CPU从0FFFEh开始执行程序。如果RST/NMI引脚被设置为NMI功能,并且NMIE被置位,RST/NMI引脚上的上升沿、下降沿将触发中断,RST/NMI引脚标志位NMIFG也被置位。


2.3其他非可屏蔽中断


flash非法访问,也就是flash访问错误。当flash访问出错时,ACCVIFG位被置位。当ACCVIE位被置位时,Flash访问出产生一个NMI事件。


振荡器错误,也就是发生晶振失效。当OFIE位被置位时,晶振失效产生一个NMI事件。


2.4 非可屏蔽中断源框图



这是一个MSP430内部的一个非可屏蔽的框图,大家可以看一下,这里一共有三个中断源,一个是这里,它是MSP430的一个引脚,它可以作为复位引脚,也可作为一个非可屏蔽的中断输入引脚,在这个引脚上产生一个非可屏蔽中断的信号时,它就可以向系统发送一个非可屏蔽中断的请求。还有一个中断源来自于这里,这是对MSP430内部的Flash进行操作地方时候,是需要一些特定的步骤和特定的密码,如果这个时候出错的话,也会导致非可屏蔽中断。还有就是振荡器,如果在使用振荡器的时候,由于某些原因,振荡器停振了,那么这个时候也会导致系统产生一个非可屏蔽中断,以方便用户及时的处理这种情况。


3.5非可屏蔽中断处理过程



非可屏蔽中断是一种多源中断,其实它有一个中断向量,但是这个中断向量对应多个中断标志,用户需要进入这个中断向量之后,先判断是哪种原因导致的这个中断,我们前面提过,有三种情况可以导致非可屏蔽中断,所以用户在进入这个非可屏蔽中断之后,首先就是需要判断这三个标志,确定是哪一种情况,根据相应的情况,由用户手动清除这个中断标志,清除中断标志以后,然后再进行一些相应的处理,处理完了之后,就可以退出这个非可屏蔽中断了。

关键字:MSP430  单片机  中断系统 引用地址:MSP430单片机的中断系统(1)

上一篇:MSP430户外运动环境监测仪
下一篇:使用MSP430F133单片机改造老式测量仪表

推荐阅读最新更新时间:2024-11-11 10:42

MSP430的HART从机控制器的设计
引言 现代工业生产活动的正常进行离不开现场设备和与之配套的控制主机,为了充分发挥现场设备的性能,控制主机和现场设备之间必须要有一套高效可靠的通信协议。传统工业控制领域多使用4~20 mA模拟信号来完成现场设备与控制主机之间的通信,但是模拟信号传输数据具有传输方向单一、传输数据量少等诸多不足。为了解决这些问题,在20世纪80年代中期,美国Rosemount公司提出了高速可寻址远程传感器协议(Highway Addressable Remote Transducer,HART)用来增强现场设备与控制主机之间的通信能力。 HART协议是一种用于现场智能设备与控制主机或监测系统之间的通过模拟线路传输数字信号的通信协议,在20世纪90年代初
[单片机]
<font color='red'>MSP430</font>的HART从机控制器的设计
MSP430F5529与常见的矩阵键盘
键盘外观 键盘外观一般是这个样子的,淘宝上常见的有4x4和4x3的,也有不是薄膜而是按键矩阵的键盘,但是原理都大同小异。 键盘原理图 一般来说,键盘有多少行多少列,就有行数+列数这么多的管脚。当按钮按下后,按钮所在行列开关合上,行列之间的管脚就连通了。 单片机实现 4x3键盘 根据键盘的原理图,不难想到我们要用管脚扫描的方式来检测哪个键按下。 将行管脚设为输入,列管脚设为输出(当然也可以反着来),每次只让一个列管脚为高电平,再检测行管脚的电平高低情况,即可检测键盘是哪个键按下了。 初始化管脚 void keyboard_init(){ //设置行管脚为输入 P3DIR &= ~BIT6; //P3.6端口
[单片机]
<font color='red'>MSP430</font>F5529与常见的矩阵键盘
基于51单片机的篮球计分器设计
这是我以前做的51单片机篮球计分器设计, 花了一个星期时间, 附件里面包括源代码;PCB原理图, 和proteus的仿真文件以及课程设计的相关文档, 都是自己原创的,大家多多指教 制作出来的篮球计分器实物图如下: 电路原理图如下: 篮球计分器仿真原理图如下 Altium Designer画的篮球计分器原理图和PCB图如下: 单片机篮球计分器程序源码: #include reg51.h //51单片机头文件 typedef unsigned char uchar; typedef unsigned int uint; sbit K1=P3^2;//比赛倒计时开始/暂停 sbit K2=P3^3;//24s倒计时重新
[单片机]
基于51<font color='red'>单片机</font>的篮球计分器设计
基于STC89C52单片机的超声波测距系统
超声波有以下特点:速度小,传播时间容易检测;频率高,反射性强,绕射性弱;传播距离较远;对光线和电磁场不敏感等。利用超声波的这些优点,结合微电子技术,超声波测距技术应运而生。与激光测距、红外线测距等相比,超声波测距更适于电磁干扰强,烟雾等恶劣环境中。而且,超声波测距技术设计方便、精度较高。超声波测距技术的优势,使它有着广泛的应用,比如:建筑施工工地,液位测量,车辆导航等。传统的超声波测距系统采用的电路结构比较复杂,且当回波信号过于微弱时,测量误差会加大。在系统接收电路中采用的增益控制部分能有效地解决这一难题。 超声波测距的方法很多,有相位检测法,幅值检测法和渡越时间法等。系统采用的是渡越时间法TOF(Time of Flight)。原
[单片机]
基于STC89C52<font color='red'>单片机</font>的超声波测距系统
STM32U575/585微控制器的超低功耗特点
引言 STM32U575/585 微控制器(MCU)基于具有 Arm TrustZone和 FPU 的高性能 Arm 32 位 Cortex‑M33CPU。这些 MCU 采用新型结构制造,得益于其高度灵活性和高级外设集,实现了一流的超低功耗性能STM32U575/585 器件可为应用实现极高的能效。 带有“Q”后缀的 STM32U575/585 器件(例如 STM32U5xxxxQ)支持在运行和低功耗模式下使用内部 SMPS,从而能够设计出非常高效的低功耗应用 通过集成 ART 加速器 8 KB 指令缓存,STM32U575/585 MCU 可在高达 160MHz 的频率下运行,实现 240 DMIPS 性能,同时保持极低
[单片机]
STM32U575/585<font color='red'>微控制器</font>的超低功耗特点
51单片机ADC0809数码管显示光照强度的仿真和源码
51单片机ADC0809 数码管 显示光照强度 源码及仿真文件请自行下载 仿真原理图如下 单片机源码如下: #include reg52.h #include intrins.h #include absacc.h #define uchar unsigned char #define uint unsigned int #define COM0808 XBYTE char code dis_code ={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0xff}; char find_co
[单片机]
51<font color='red'>单片机</font>ADC0809数码管显示光照强度的仿真和源码
怎样处理单片机与锁存器的关系? 为何要用串行口扩展 I/O?
通过P0口扩展输出口时,怎样处理单片机与锁存器之间的关系? 答:当通过P0口扩展单片机的输出口时,可以将锁存器视为一个外部的RAM单元,输出信号为WR。 为什么要用串行口扩展I/O接口? 答:MCS-51串行口的方式0可以用于I/O扩展,其前题是串行口未被占用。 用串行口扩展I/O接口时,既不占用片外的RAM地址,又能节省硬件开销,经济、实用。
[单片机]
一文读懂汽车控制芯片(MCU)分类及性能要求
01 控制类芯片介绍 控制类芯片主要就是指MCU(Microcontroller Unit),即微控制器,又叫单片机,是把CPU的主频与规格做适当缩减,并将存储器、定时器、A/D转换、时钟、I/O端口及串行通讯等多种功能模块和接口集成在单个芯片上,实现终端控制的功能,具有性能高、功耗低、可编程、灵活度高等优点。 车规级MCU示意图 ※资料来源:公开资料、编写单位提供 汽车是MCU的一个非常重要的应用领域,据IC Insights数据,2019年全球MCU应用于汽车电子的占比约为33%。高端车型中每辆车用到的MCU数量接近100个,从行车电脑、液晶仪表,到发动机、底盘,汽车中大大小小的组件都需要MCU进行把控。早期,汽车中应
[嵌入式]
一文读懂汽车控制芯片(<font color='red'>MCU</font>)分类及性能要求
热门资源推荐
热门放大器推荐
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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