嵌入式中的“中断”什么原理,如何使用

嵌入式中的“中断”什么原理,如何使用,第1张

1中断基本概念

什么是中断?先打个比方。当一个经理正处理文件时,电话铃响了(中断请求),不得不在文件上做一个记号(返回地址),暂停工作,去接电话(中断),并指示“按第二方案办”(调中断服务程序),然后,再静下心来(恢复中断前状态),接着处理文件……。计算机科学家观察了类似实例,“外师物化,内得心源”,借用了这些思想、处理方式和名称,研制了一系列中断服务程序及其调度系统。

中断是cpu处理外部突发事件的一个重要技术。它能使cpu在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行cpu原来的工作。引起中断的原因或者说发出中断请求的来源叫做中断源。根据中断源的不同,可以把中断分为硬件中断和软件中断两大类,而硬件中断又可以分为外部中断和内部中断

两类。

外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备

的中断请求。

内部中断是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算

溢出、单步中断等)所引起的中断。内部中断是不可屏蔽的中断。

软件中断其实并不是真正的中断,它们只是可被调用执行的一般程序。例如:rom

bios中的各种外部设备管理中断服务程序(键盘管理中断、显示器管理中断、打印机管理

中断等,)以及dos的系统功能调用(int

21h)等都是软件中断。

cpu为了处理并发的中断请求,规定了中断的优先权,中断优先权由高到低的顺序是:

(1)除法错、溢出中断、软件中断

(2)不可屏蔽中断

(3)可屏蔽中断

(4)单步中断。

中断意思是打断,即允许单片机的正常工作被一些特殊的任务所打断,从而保证单片机能够专心工作又不错过重要事务。中断系统包括中断源和中断控制系统,单片机每执行完一条指令,就会检测中断源,当有中断发生且中断未被屏蔽,就会转向中断程序入口地址,执行中断程序,执行完中断程序,又返回主程序。

中断就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序的流程如下。 中断处理过程基本上由3部分组成,第一部分为准备部分,其基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序;第二部分为处理部分,即真正执行具体的为某个中断源服务的中断服务程序;第三部分为结尾部分,首先要关中断,以防止在恢复现场过程中被新的中断请求打断,接着恢复现场,然后开放中断,以便返回原来的程序后可响应其他的中断请求。中断服务程序的最后一条指令一定是中断返回指令。

一个完整的中断过程包括:

中断请求:是指中断源(引起中断的事件或设备)向CPU

 发出的请求中断的要求。

中断判优:当有多个中断源发出请求时,需要通过适当的办法决定先处理哪个中断请求;

中断响应:指CPU中止现行程序转至中断服务程序的过程;

中断处理:就是指CPU执行中断服务程序;

中断返回:   执行完中断服务程序后,返回到被中断的程序

 

中断的作用:

(1)CPU与I/O设备并行工作

(2)硬件故障处理

(3)实现人机联系:在计算机工作过程中,如果用户要干预机器,如查看计算的中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的计算机里这些功能几乎是无法实现的。

(4)实现多道程序和分时 *** 作

(5)实现实时处理

(6)实现应用程序和 *** 作系统的联系

(7)多处理机系统各处理机间的联系

中断服务程序:处理器处理“急件”,可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理“急件”的程序被称为——中断服务程序。

当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,申请CPU中断的请求源称为中断源,单片机的中断系统一般允许多个中断源,当多个中断源同时向CPU请求中断时,就存在一个中断优先权的问题。通常根据中断源的优先级别,优先处理最紧急事件的中断请求源,即最先响应级别最高的中断请求。

一、主体不同

1、调用中断服务程序:可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的。

2、调用子程序:是指调用子程序的指令,包括调用指令(转子指令)和返回指令(返主指令)。

二、特点不同

1、调用中断服务程序:当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作。

2、调用子程序:子程序调用指令用于实现程序与程序之间的转移,与转移指令不同(转移指令用于实现同一程序内的转移)。子程序调用指令还可以进行嵌套调用,即可调用别的子程序,还可以实现递归调用。

三、方式不同

1、调用中断服务程序:保护被中断进程现场。为了在中断处理结束后能够使进程准确地返回到中断点,系统必须保存当前处理机程序状态字PSW和程序计数器PC等的值。

2、调用子程序:把常用的程序段编写成独立的子程序或过程,在需要时随时调用,调用子程序需要用到调用指令。

参考资料来源:百度百科-子程序调用指令

参考资料来源:百度百科-中断服务程序

以上就是关于嵌入式中的“中断”什么原理,如何使用全部的内容,包括:嵌入式中的“中断”什么原理,如何使用、51单片机中断原理、什么是中断简述中断处理过程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9738395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存