⑴ 什么是中断处理程序编写中断处理程序时要注意哪些问题
发生中断时CPU在中断允许的情况下,强制跳转至中断处理程序对该中断进行响应。
中断处理程序需要注意:
若是改写系统中断,尽量保存系统中断的原地址;
如果是自定义中断,需要注意是否允许多重中断,即能否被另一个中断(包括同一个中断号的相同中断)打断,若不希望被打断,应当在中断处理程序开始时关闭中断允许位IF(用CLI指令),并且在程序结束时开启中断位(用STI指令)。
另外,中断处理程序本身也是一个过程,也有可能出错,所以尽量不要在中断处理程序中产生错误,以免程序不可控。
⑵ C语言中是怎么实现中断的能提供点资料或举几个例子更好……
中断大概是这样的。。。如果有点错误不要怪我。。。我以前作过鼠标中断的东西。。现在有些想不起来了。。。所以。。。呵呵呵。。。
当程序运行到中断条件的时候,会向CPU发信号改变优先级(原先运行的东西会放进哪个特定的地方的,作保存),以发出中断的那段程序作为最高优先,执行完成后再由执行另外的。。。建议你去看看汇编。。。哈哈哈。。。我没学过的。。。
C中实现中断是用了一个函数:geninterrupt(...)
这个“...”是个16进制的数字,是中断号,像鼠标中断号就是0x33
还要用到类似汇编里寄存器模样的变量:如_AX,_BX,_CX,_DX...不同的值功能不同。。。哎呀,我都忘完了。。。建议去查下geninterrupt()的用法就OK了。。。
⑶ 单片机汇编语言程序中中断程序怎么用,在程序中如何识别出哪里是中断服务程序,哪里是主程序
一般在程序开头有中断子程序的入口处,在主程序里可以看到这些子程序的。标号名可以随便取,但入口地址是固定的。
ORG 00H
AJMP MAIN
ORG 03H ;外部中断0 入口地址
AJMP EX0INT ;跳转至外部中断0子程序
ORG 0BH
AJMP T0INT ;定时中断0
ORG 13H
AJMP EX1INT ;外部中断1
ORG 1BH
AJMP T1INT ;定时中断1
ORG 23H
AJMP URT ;串口中断
MAIN:
...
EX0INT: 外部中断0子程序
...
T0INT: 定时器0 中断子程序
...
⑷ 单片机编程时中断程序如何使用
中断程序不是使用的,是当单片机的中断源有中断请求时,以允许中断的情况下,就是自动转到中断程序去执行了。所以,编程时,需要在中断完成什么任务,都要写到中断程序中就行了,会自己去执行的。而不需要你去使用的。
⑸ 单片机的查询和中断两种方式怎么从程序里面看出来
这不是怎么从程序里面看出来的,而是你想怎么写程序的,你是想看别人的程序吗?
简单和方法:中断方式必须开中断,程序中必须有:ea=1,et1=1,这样的语句,然后州禅让必须有定时器t1的中断服务子程序。
而查询方式则不能写那两行册局的,也没袭颤有中断服务子程序的,而是在程序是要查询t1的定时到否,
这么写,while(tf1==0);
tf1=0;
th1=x/256;
//x是定时的时间常数
tl1=x%256;
........其它程序
⑹ 中断技术具体应用在计算机系统那一方面
中断是指CPU对系统发生的某个事件作出的一种反应:CPU暂停正在执行的程序,保留现场后自动转去执行相应的处理程序,处理完该事件后再返回断点继续执行被"打断"的程序
在我们所用的电脑中,所有的硬件都需要执行中断请求的动作,简单说它的作用就是用来停止其相关硬件的工作状态。我们可以举一个日常生活中的例子来说明,假如你正在给朋友写信,电话铃响了,这时你放下手中的笔去接电话,通话完毕再继续写信。这个例子就表现了中断及其处理的过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情——接电话,当把急需处理的事情处理完毕之后,再回过头来继续原来的事情。在这个例子中,电话铃声就可以称为“中断请求”,而你暂停写信去接电话就叫作“中断响应”,那么接电话的过程就是“中断处理”。由此我们可以看出,在计算机执行程序的过程中,胡陆厅由于出现某个特殊情况(或称为“事件”),使得系统暂时中止现行程序,而转去执行处理这一特殊事件的程序,处理完毕之后再回到原来程序的中断点继续向下执行,而这个过程就被称为中断。
中断的作用
我们可以再举一个例子来说明中断的作用。假设有一个朋友来拜访你,但是由于不知何时到达,你只能在门口等待,于是什么事情也干不了;但如果在门口装一个门铃,你就不必在门口等待而可以在家里去做其他的工作,朋友来了按门铃通知你,这时你才中断手中的工作去开门,这就避免了不必要的等待。而计算机也一样,例如打印文稿的操作。因为cpu传送数据的速度高,而打印机速度较慢,如果不采用中断技术,cpu将经常处于等待状态,这会使得电脑的工作效率极低。而采用了中断方式后,cpu就可以在打印的同时进行裤隐其他的工作,而只在打印机缓冲区内的当前内容打印完毕,而发出中断请求之后才予以响应,这时才暂时中断当前的工作转去执行停止打印的操作,之后再返回执行原来的程序。这样就大大地提高了计算机系统的效率。
irq中断
计算机中的中断有好几种,根据中断信号产生的来源可以分为:硬件中断和软件中断。硬件中断多由外围设备和计算机系统控制器发出,软件中断一般由软件命令产生。在硬件中断中又有“可屏蔽中断”和“不可屏蔽中断”之分。顾名思义,可屏蔽中断可以由计算机根据系统的需要来决定是否进行接收处理或是延后处理(即屏蔽),而悉庆不可屏蔽中断便是直接激活相应的中断处理程序,它不能也不会被延误。而irq中断就是可屏蔽的硬件中断,它的全称为interrupt request 即“中断请求”。
在电脑的系统中,是由一个中断控制器8259或是8259a的芯片(现在此芯片大都集成到其他的芯片内)来对系统中每个硬件的中断进行控制。目前共有16组irq,去掉其中用来作桥接的一组irq,实际上只有15组irq可供硬件调用。而这些irq都有自己建议的配置。
分配irq中断
我们日常所用的操作系统对于irq的设置也不尽相同,所以在安装新硬件的时候,系统往往并不能自动检测正确的irq来分配给所需调用的硬件,这就会造成此硬件设备或是原来的旧硬件出现不能正常工作的现象。其实这是系统自动将该硬件的irq分配给了其他与此irq相同的硬件上,从而发生冲突使硬件不能正常工作。一般如果遇到这种情况,只要将新旧两个硬件的irq配置手动调开就可以解决了。
对于一些常用的硬件一般都有其默认的irq数值。比如声卡常常使用irq5或7。虽然这些配件使用其他的irq值大多数也能工作,但假如碰到特别“挑剔”的软件或游戏等程序,例如只能识别irq值为5或7的声卡,那么如果将它设成irq9就白费心机了。
⑺ 什么是中断简述中断处理过程
中断就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序的流程如下。 中断处理过程基本上由3部分组成,第一部分为准备部分,其基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序;第二部分为处理部分,即真正执行具体的为某个中断源服务的中断服务程序;第三部分为结尾部分,首先要关中断,以防止在恢复现场过程中被新的中断请求打断,接着恢复现场,然后开放中断,以便返回原来的程序后可响应其他的中断请求。中断服务程序的最后一条指令一定是中断返回指令。
一个完整的中断过程包括:
中断请求:是指中断源(引起中断的事件或设备)向CPU
发出的请求中断的要求。
中断判优:当有多个中断源发出请求时,需要通过适当的办法决定先处理哪个中断请求;
中断响应:指CPU中止现行程序转至中断服务程序的过程;
中断处理:就是指CPU执行中断服务程序;
中断返回: 执行完中断服务程序后,返回到被中断的程序
中断的作用:
(1)CPU与I/O设备并行工作
(2)硬件故障处理
(3)实现人机联系:在计算机工作过程中,如果用户要干预机器,如查看计算的中间结果,了解机器的工作状态,给机器下达临时性的命令等。在没有中断系统的计算机里这些功能几乎是无法实现的。
(4)实现多道程序和分时操作
(5)实现实时处理
(6)实现应用程序和操作系统的联系
(7)多处理机系统各处理机间的联系
⑻ 在计算机系统中,请解释什么是中断,请用流程图画出一次中断处理流程
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况迟笑的程序,处理完毕后又返回原被暂停的程序继续运行。
中断流程图如下:
(8)中断在程序中怎么体现扩展阅读
众所周知,处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的办法,显然降低内核效率。
既然硬件的响应这么慢,那么内核就应该在此期间处理其他事务,等到硬件真正完成了请求的操作之后,再回过头来对它进行处缓州理。想要实现这种功能,轮询(polling)可能会是一种解决办法。可以让内核定期对设备的状态进行查询,然后做出相应的处理。
不过这种方法很可码哪含能会让那个内核做不少无用功,因为无论硬件设备是正在忙碌着完成任务还是已经大功告成,轮询总会周期性的重复执行。更好的办法是由我们来提供一种机制,让硬件在需要的时候再向内核发出信号(变内核主动为硬件主动),这就是中断机制。
中断使得硬件得以与处理器进行通信。举个例子,在你敲打键盘的时候,键盘控制器(控制键盘的硬件设备)会发送一个中断,通知操作系统有键按下。中断本质是一种特殊的电信号,由硬件设备发向处理器。
处理器接受到中断后,会马上向操作系统反映此信号的到来,然后就由os负责处理这些新到来的数据。硬件设备生成中断的时候并不考虑与处理器的时钟同步——换句话说就是中断随时可以产生。因此,内核随时可能因为新到来的中断而被打断。
不同的设备对应的中断不同,而每个中断都通过一个惟一的数字标识。因此,来自键盘的中断就有别于来自硬盘的中断,从而使得操作系统能够对中断进行区分,并知道哪个硬件设备产生了哪个中断。这样,操作系统才能给不同的中断提供不同的中断处理程序。
在它执行程序的时候,如果有另外的事件发生(比如用户又打开了一个程序)那么这时候就需要由计算机系统的中断机制来处理了。
中断机制包括硬件的中断装置和操作系统的中断处理服务程序。
让硬件在需要的时候再向内核发出信号。
参考资料来源:网络-中断机制
参考资料来源:网络-中断
⑼ 1、什么是中断什么是中断服务程序什么是中断源
1、中断:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。
2、中断服务程序:处理器处理"急件",可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理"急件"的程序被称为--中断服务程序。
3、中断是处理器一种工作状态的描述。我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。