‘壹’ 什么是单片机的中断
不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。
计算机的中断系统能够加强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 的系统上以中断驱动模式使用。
以上内容参考网络-中断
‘贰’ msc 51单片机中断号对应的中断是什么
1、外部中断0(INT0),对应中断号是0,
中断入口地址0003H
定时/计数器0(T1),对应中断号1
,中断入口地址000BH
外部中断1(INT1),中断号2
入口地址0013H
定时/计数器1(T1)中断号3
入口地址001BH
串行口中(RI/TI)中断号4
入口地址0023H
这五个是AT89S51的,52还多了下面这个
定时/计数器2(T2)中断号5,入口地址002BH
2、函数名()interrupt
0
{}
//对应外部中断0;
函数名()interrupt
1
{}
//对应定时器/计数器0中断;
函数名()interrupt
2
{}
//对应外部中断1;
函数名()interrupt
3
{}
//对应定时器/计数器1中断;
函数名()interrupt
4
{}
//对应串口中断;
一共5种中断,优先级自上向下;
at89c52中断类型相同。
‘叁’ 写出8051单片机5个中断源的自然优先级顺序及相应中断号
自然优先级顺序,由高到低:
INT0 T0 INT1 T1 S。
中断号:
0 1 2 3 4。
有5个中断源,两个外中断,两个定时器中断,一个串口中断,外中断标志是IF0,IF1;定时器中断标志是TF0,TF1;串口中断标志是RI,TI外中断和定时器中断硬件置位,硬件清零,软件不用管,串口中断必须使用软件清零(向TI和RI写0)
(3)单片机中断号扩展阅读:
中断系统中,CPU一般根据各中断请求的轻重缓急分别处理,即给每个中断源确定一个中断优先级别,系统自动对它们进行排队判优,保证首先处理优先级别高的中断请求,待级别高的中断请求处理完毕后,再响应级别较低的中断请求。
对多个中断源进行识别和优先级排队的日的就是要确定出最高级别的中断源,并形成该中断源的中断服务程序入口地址,以便CPU将控制转移到该中断服务程序去。
‘肆’ 单片机C语言编程的中断号是指代什么意义
中断服务函数,如果中断1触发了,会自动跳到该函数处理。这个是c51的用法,不同单片机以及编译器,中断函数的定义也不同
‘伍’ 51单片机有几个中断源,分别是什么
外部中断0(INT0),对应中断号是0,
中断入口地址0003H
定时/计数器0(T1),对应中断号1
,中断入口地址000BH
外部中断1(INT1),中断号2
入口地址0013H
定时/计数器1(T1)中断号3
入口地址001BH
串行口中(RI/TI)中断号4
入口地址0023H
这五个是AT89S51的,52还多了下面这个
定时/计数器2(T2)中断号5,入口地址002BH
整个优先级自上向下
不知你明白了没有
‘陆’ 单片机C语言编程的中断号是指代什么意义啊如:void timer1() interrupt 3 中的3
中断服务函数,如果中断1触发了,会自动跳到该函数处理。这个是C51的用法,不同单片机以及编译器,中断函数的定义也不同