① 单片机…中断响应的条件是什么用汇编语句怎么写
当满足中断条件时就会触发中断接着响应中断,最基本的五种中断方式,这个设置
特殊功能寄存器
就行,资料中很多,
② 什么是单片机的中断
不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。
计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。
引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。
CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。
CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
响应处理
大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。
1、 接收中断请求。
2、 查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。
3、 中断优先权选择。
4、 处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。
5、 中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。
6、 执行中断控制程序和相应的中断服务程序。
7、 执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。
冲突
在一些罕见的情况下,两个ISA设备可以共享相同的 IRQ,只要它们不同时使用即可。为了解决这个问题,后来的PCI 总线允许 IRQ 共享。PCI Express没有物理中断线,并使用消息信号中断(MSI) 到操作系统(如果可用)。
在早期的 IBM 兼容个人计算机中,中断曾经是一种常见的硬件错误,当两个设备尝试使用相同的中断请求(或 中断)向可编程中断控制器(PIC)发出中断信号时会收到该错误。
PIC 期望每条线路仅来自一个设备的中断请求,因此沿同一条线路发送中断信号的多个设备通常会导致 中断 冲突,从而导致计算机死机。
例如,如果在系统中添加调制解调器扩展卡并分配给中断4,传统上分配给串行端口1,则可能会导致中断冲突。最初,中断 7 是使用声卡的常见选择,但后来发现 中断 7 会干扰打印机端口(LPT1)时使用了中断5。该串行端口经常禁用可以用于其他设备的中断线。
中断 2/9 是 MPU-401 MIDI 端口的传统中断线,但这与ACPI系统控制中断(SCI 在 Intel 芯片组上硬连线到 中断9)冲突;
这意味着 ISAMPU-401带有硬连线中断2/9 的卡和带有硬编码 中断 2/9 的 MPU-401 设备驱动程序不能在启用 ACPI 的系统上以中断驱动模式使用。
以上内容参考网络-中断
③ 80C51单片机的中断响应条件有那几条
中断响应条件:
一、中断源有中断请求
二、此中断源的中断允许位为1
三、CPU开中断(即EA=1)
(以上条件同时满足时,CPU才有可能响应中断)
④ 当单片机cpu响应中断后
1,响应中断后,根据不同的中断源,单片机会跳转到响应的中断入口地址去执行中断函数。
2,中断入口地址一般是个长跳转指令LJMP XXXX,机器码为 02 xx xx
3,进中断函数后,先断点保护(入栈--用当前工作寄存器R0-R7存储断点和重要数据);
4,执行中断处理事件;
5, 弹出保存的数据和程序断点地址(出栈--自当前工作寄存器R0-R7中,取出重要数据和存储断点);
6,执行中断返回指令RETI 机器码:0x32;
7,程序继续自中断断点处继续执行。
⑤ 单片机中断响应时间怎么计算
中断响应时间:从外部中断请求有效(外部中断请求标志置1)到转向中断入口地址所需要的响应时间。每个机器周期的S5P2时刻,INTx引脚的电平被锁存到内部寄存器中,待下一个周期查询。
最短时间:中断请求有效,查询后在下一个周期便开始执行一条硬件的子程序的调用(时间是两个周期),然后开始执行服务程序的第一条指令。这样从锁存电平的周期到执行中断服务程序,中间相隔3个机器周期。
2.最长时间:如果中断信号发生在前面所说的3种情况时,响应时间就要变长:
(1)响应时间取决于正在执行的同级或高级中断的执行时间;
(2)指当前CPU执行的指令是多周期指令,如乘除法指令(4个周期),最坏情况,还要等3个周期。这样响应周期变为3+3=6个周期
(3)CPU当前执行的指令是RETI或访问IE、IP寄存器时,本指令(1个周期)没有响应,且下一条指令执行完后才能响应,这样附加的等待时间最长不会超过5个周期(1+4)。整个响应为5+3=8个周期。
这样,如果不考虑第1种情况,整个中断响应的时间范围应当是:3~8个机器周期。
⑥ MCS-51单片机响应中断的条件是什么
1、中断优先级
在某一时刻有几个中断源同时发出中断请求时,处理器只响应其中优先权最高的中断源。当处理机正在运行某个中断服务程序期间出现另一个中断源的请求时,如果后者的优先权低于前者,处理机不予理睬,反之,处理机立即响应后者,进入所谓的“嵌套中断”。
中断优先权的排序按其性质、重要性以及处理的方便性决定,由硬件的优先权仲裁逻辑或软件的顺序询问程序来实现。
2、不可屏蔽中断
不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断。非屏蔽中断主要用于断电、电源故障等必须立即处理的情况,处理机响应中断时。
(6)单片机断响应扩展阅读
中断系统功能
1、实现中断响应和中断返回
当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急、更重要的工作,则在执行完当前指令后响应这一中断请求。
2、实现优先权排队
计算机按中断源优先权高低逐次响应的过程称优先权排队,这个过程可通过硬件电路来实现,亦可通过软件查询来实现。
3、实现中断嵌套
当CPU响应某一中断时,若有优先权高的中断源发出中断请求,则CPU能中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高级中断,高级中断处理结束以后,再继续进行被中断的中断服务程序,这个过程称为中断嵌套。
如果发出新的中断请求的中断源的优先权级别与正在处理的中断源同级或更低时,CPU不会响应这个中断请求,直至正在处理的中断服务程序执行完以后才能去处理新的中断请求。
⑦ 51单片机中断响应过程
首先保护地址,而后进入相应的中断入口地址,再根据入口地址里面的跳转指令,进入中断服务程序。 如有帮助请采纳,手机则点击右上角的满意,谢谢!!
⑧ 51单片机中断响应过程举例
CPU响应中断时,首先把当前指令的下一条指令(就是中断返回后将要执行的指令)的地址送入堆栈,然后根据中断标记,将相应的中断入口地址送入PC,PC是程序指针,CPU取指令就根据PC中的值,PC中是什么值,就会到什么地方去取指令,所以程序就会转到中断入口处继续执行。这些工作都是由硬件来完成的,不必我们去考虑。这里还有个问题,大家是否注意到,每个中断向量地址只间隔了8个单元,如0003-000B,在如此少的空间中如何完成中断程序呢?很简单,你在中断处安排一个LJMP指令,不就可以把中断程序跳转到任何地方了吗?
一个完整的主程序看起来应该是这样的:
ORG 0000H
LJMP START
ORG 0003H
LJMP INT0 ;转外中断0
ORG 000BH
RETI ;没有用定时器0中断,在此放一条RETI,万一 “不小心“产生了中断,也不会有太大的后果。 资料来源:吴鉴鹰吧
中断程序完成后,一定要执行一条RETI指令,执行这条指令后,CPU将会把堆栈中保存着的地址取出,送回PC,那么程序就会从主程序的中断处继续往下执行了。注意:CPU所做的保护工作是很有限的,只保护了一个地址,而其它的所有东西都不保护,所以如果你在主程序中用到了如A、PSW等,在中断程序中又要用它们,还要保证回到主程序后这里面的数据还是没执行中断以前的数据,就得自己保护起来。
⑨ 请问8051单片机的中断响应和8086系统的中断响应的异同点
一、结构不同:
51单片机的中断响应,简单。
8086系统的中断响应,复杂。
二、系统不同:
8086系统中,除了8086CPU 之外,还要用中断控制芯片8259。
其复杂程度,是51单片机的几十倍,也不止。
三、作用不同:
51单片机上面集成了中断控制器,所以可以有多个中断源和优先级控制之类的中断服务功能,8086本身只有一个中断,需要外面的芯片8259来提供中断控制和服务。
8086就是一个裸的cpu 内核,51单片机是在一个裸的cpu内核的基础上集成了丰富的外围设备,为了了一个片上系统。
(9)单片机断响应扩展阅读:
8051 单片机内部结构,一个完整的计算机应该由运算器、控制器、存储器(ROM 及RAM)、数据总线和I/O 接口组成。一般微处理器(如8086)就只包括运算器和控制器两部分。
和一般微处理器相比,8051 增加了四个8 位I/O 口、一个串行口、4KB ROM、128BRAM、很多工作寄存器及特殊功能寄存器(SFR),所以单片机具有比微处理器更强大的控制功能,单片机是专为进行控制设计的,而常见的微处理器是用于运算功能的,。
⑩ MCS-51单片机在响应中断过程中,PC如何变化
响应中断时,PC先将断点地址(就是执行完该语句的下一条语句的首字节地址)压入堆栈(先入低字节,再入高字节),然后将对应的中断入口地址装入PC,接下来就是执行中断服务子程序。中断结束后再从堆栈中弹出两字节的断口地址装入PC;返回到前面的断点处。
T0的中断入口地址是0x000B,这就是响应中断后的PC值。
(10)单片机断响应扩展阅读:
中断响应是硬件对中断请求作出响应的过程,包括识别中断源,保留现场,引出中断处理程序等过程。
① CPU在当前指令执行结束时,响应中断,进入中断的响应周期;
② 发出二个中断回答信号INTA完成一个中断响应周期;
③ 进行断点及标志保存
如:将段地址(CS),偏移地址(IP)标志FR以及压入堆栈。
④ 读取中断类型号,找到中断源;
⑤ 装入中断服务程序的入口地址(CS,IP)