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

来源:本站
导读:目前正在解读《MSP430单片机的中断系统(1)》的相关信息,《MSP430单片机的中断系统(1)》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《MSP430单片机的中断系统(1)》的详细说明。
简介:
主要内容有:
·中断分类
·非可屏蔽中断
·中断处理
·外部中断
·程序中如何使用中断

1中断的分类

1.1 什么是中断

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

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

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

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

1.2中断优先级

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

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

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

1.3 中断分类(中断源)

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

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

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

1.4中断控制位

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

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单片机的中断系统(1)

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

3.5非可屏蔽中断处理过程

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

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

提醒:《MSP430单片机的中断系统(1)》最后刷新时间 2024-03-14 00:52:46,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《MSP430单片机的中断系统(1)》该内容的真实性请自行鉴别。