1、中断:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。
2、中断服务程序:处理器处理"急件",可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理"急件"的程序被称为--中断服务程序。
3、中断是处理器一种工作状态的描述。我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。
1、中断的处理过程为:关中断(在此中断处理完成前,不处理其它中断)、保护现场、执行中断服务程序、恢复现场、开中断。
2、通常中断源有以下几种:
(1)外部设备请求中断。
(2)故障强迫中断。
(3)实时时钟请求中断。
(4)数据通道中断。
(5)程序自愿中断。
3、中断系统的功能中断系统应具有的功能可归结为中断处理和中断控制。
(1)中断处理。中断处理包括发现中断请求、响应中断请求、中断处理和中断返回。
(2)中断控制。中断控制主要是实现中断优先级的排队和中断嵌套。
4、防止方法
(1)声卡:一些早期的ISA型声卡,系统很有可能不认,就需要用户手动设置(一般为5)
(2)内置调制解调器和鼠标:一般鼠标用COM1,内置调制解调器使用COM2的中断(一般为3),这时要注意此时COM2上不应有其它设备
(3)网卡和鼠标:此问题一般发生在鼠标在COM1口,使用中断为3,这时要注意通常网卡的默认中断为3,两者极有可能发成冲突。
(4)打印机和EPP扫描仪:在安装扫描仪驱动程序时应将打印机打开,因为两个设备中串联,所以为了防止以后扫描仪驱动程序设置有误,一定要将打印机打开再安装扫描仪驱动程序。
(5) *** 作系统和BIOS:如果计算机使用了"即插即用" *** 作系统(例如win98),应将BIOS中PNP OS Installed设置为Yes这样可让 *** 作系统重新设置中断。
(6)PS/2鼠标和BIOS:在使用PS/2鼠标时应将BIOS中PS/2 Mouse Function Control打开或设置为Auto,只有这样BIOS才能将IRQ12分配给PS/2鼠标用。
纯手打,望采纳
我直接从原理上说吧
以12M晶振为例:
①每一个机器周期(1微秒)我们分为6部分,S1~S6。每一个机器周期,按顺序检测中断源(是否有中断),在S6时将(待响应的中断)排好顺序,在下一个S1时先响应高级中断。(可以看出,检测中断与程序运行是同步的,且检测中断所需时间很短——不足1个机器周期)
②运行主程序时,当突然来了一个中断,则PC(程序计数器)指向的地址存入堆栈(即在主程序做个标记,执行完中断后回来),PC指向中断子程序,此时单片机执行中断子程序。总结来说,PC是指挥棒,只有一根指挥棒,所以执行中断时,主程序是不运行的。
③中断运行时间长短看你写的中断子程序的长短咯。
④有兴趣的话建议你学学汇编,汇编编程,就是指挥着PC一步一步走,你可以清楚的看见你的程序一步一步怎么运行,你想啊,你挥动着指挥棒,那程序不是想怎么走就怎么走?
51单片机中断执行过程, 如外部中断。
当 CPU 检测到 有 中断触发 信号后,
首先 执行完成 当前执行的指令,将下一条指令 的 地址 压入堆栈,
CPU 进入中断 入口 地址,开始 执行 中断服务程序,
(当然在中断服务程序中不能破坏正常运行 程序的各种 寄存器的 状态 和 数据,)
中断服务 程序执行 完成, 最后 执行 一条 RETI 的中断返回指令,
堆栈 d出 原先保存的 地址,完成中断服务程序,返回中断前的 下一条指令地址
继续执行 正常程序。
中断是为了使时间更精确。使用中断一般要先设置使用哪个定时/计数器的模式几,之后再设置定时器的使能为,再打开总中断使能位,启动定时器。外部中断比定时器的优先级高,如果有更重要的事等着去处理则交给外部中断,当检测到有外部中断时,会去执行外部中断服务,执行完后回到之前未执行的地方接着继续执行;串口用到定时器,因为在串口的模式1和模式3中需要用定时器的溢出率来设置波特率。我说得不怎么详细,这个几句话说不清。这个你可以先把概念搞懂,之后用列子去理解概念会比较好,不懂的就多问问。
这是我在网上看到的一点资料
因为中断时需要保护"中断现场",以便处理完中断可以返回来继续向下执行,而不影响源程序原来状态,所以需要保护原程序用到的各种寄存器不被中断程序破坏。
中断程序执行时为了简单安全,把所有寄存器通通压栈保存PUSHA
中断只是暂时的离开主程序去处理紧急事务,中断过程CPU是自动保护状态寄存器的。
以上就是关于什么是中断什么是中断服务程序什么是中断源全部的内容,包括:什么是中断什么是中断服务程序什么是中断源、单片机外部中断程序从启动到结束的运行顺序。、51单片机中断执行过程坐等!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)