共有5个中断源:(发生中断后,进入中断服务函数,执行玩中断服务函数后又硬件自动清零标志位)外部中断0,interrupt 0 ,中断标志位IE0;定时器0,interrupt 1,中断标志位TF0;外部中断1,interrupt 2 ,中断标志位IE1;定时器1,interrupt 3,中断标志位TF1;串口中断,interrupt 4,中断标志位RI\TI;
C51的中断号排序规则
1.
中断号即是中断向量从小到大的编号,从0开始;
2.
中断向量0x0000是上电复位,不计入中断向量的编号;
3.
特别注意,有些中断源的默认中断优先级并不是中断向量从小到大的编号,所以默认的中断优先级并不能作为中断号使用。
(1)外部设备请求中断。一般的外部设备(如键盘、打印机和A / D转换器等)在完成自身的操作后,向CPU发出中断请求,要求CPU为他服务。
(2)故障强迫中断。计算机在一些关键部位都设有故障自动检测装置。
(3)实时时钟请求中断。在控制中遇到定时检测和控制,为此常采用一个外部时钟电路(可编程)控制其时间。
(4)数据通道中断。数据通道中断也称直接存储器存取(DMA)操作中断,如磁盘、磁带机或CRT等直接与存储器交换数据所要求的中断;
(5)程序自愿中断。CPU执行了特殊指令(自陷指令)或由硬件电路引起的中断是程序自愿中断,是指当用户调试程序时,程序自愿中断检查中间结果或寻找错误所在而采用的检查手段,如断点中断和单步中断等。
1.中断源及种类
中断源是中断事件向PLC发出中断请求的来源。S7-200 CPU最多可以有34个中断源,每个中断源都分配一个编号用于识别,称为中断事件号。这些中断源大致分为三大类:通信口中断、输/V输出(I/O)中断和时基中断。
(1)通信口中断
PLC的串行通信端口产生的事件,例如接收信息完成、发送信息完成和接收一个字符均可产生中断事件,这些事件均可由用户程序进行控制。通信口的这种操作模式称为自由端口模式。在该模式下,用户可用程序定义传输速搴—每个字符位数、奇偶校验和通信协议。利用接收和发送中断可简化程序对通信的控制。
(2)110中断
1/0中断包括上升沿中断或下降沿中断、高速计数器(HSC)中断和脉冲串输出(PTO)中断。CPU可用输入点10.0 - 10.3的上升沿或下降沿产生中断。上升沿事件和下降沿事件可被这些输入点捕获。这些上升沿或下降沿事件可被用于指示当某个事件发生时必须引起注意的条件。
高速计数器中断允许响应HSC的计数当前值等于设定值、计数方向改变(相应于轴转动的方向改变)和计数器外部复位等事件而产生的中断。高速计数器可实时响应高速事件,而PLC的扫描工作方式不能快速响应这些高速事件。
脉冲串输出中断给出了已完成指定脉冲数输出的指示。脉冲串输出的一个典型应用是步
进电动机。
(3)时基中断
时基中断包括定时中断和定时器T32/T96中断。可用定时中断来执行一个周期性的操作,以1ms位增量单位,周期的时间可取1ms~255ms。对定时中断0,必须把周期时间写入SMB34;对定时中断1,必须把周期时间写入SMB35.每当定时器的定时时间到时,执行相应的定时中断程序,例如可以用定时中断以固定的时间间隔来采集模拟量或执行PID程序。
2.中断优先级
在PLC应用系统中通常有多个中断源。当多个中断源同时向CPU申请中断时,要求CPU能将全部中断源按中断性质和处理的轻重缓急来进行排队,并给予优先权。给中断源指定处理的次序就是给中断源确定中断优先级。
中断按以下固定的优先级顺序执行:通信(最高优先级)、I/O中断和定时中断(最低优先级)。在上述三个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行一个用户中断程序。一旦一个中断程序开始执行,它要一直执行到完成
满足以下条件:
(1)有中断源发出中断请求。
(2)中断总允许控制位EA=l, CPU开放总中断。
(3)申请中断的中断源的中断允许位为1,即该中断没有被屏蔽。
(4)无同级或更高级中断正在服务。
(5)当前指令周期已经结束。
(6)若现行指令为RETI或访问IE或IP指令时,读指令以及紧接着的另一条指令已执行完毕。
满足以上条件,则CPU响应响应中断元的中断请求。
中断是指由于某种事件的发生(硬件或者软件的),计算机暂停执行当前的程序,转而执行另一程序,以处理发生的事件,处理完毕后又返回原程序继续作业的过程。中断是处理器一种工作状态的描述。我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。
中断源
一般来说,外部中断主要有以下几种:
一、I/O设备:如显示器、键盘、打印机等。
二、数据通道:软盘、硬盘、光盘等。
三、实时时钟:如外部的定时电路等。
四、用户故障源:如掉电、奇偶校验错误等。
产生于CPU内部的中断源有几种:
一、由CPU得运行结果产生:如除数为0、结果溢出、单步执行等。
二、执行中断指令INT:INT3
三、非法操作或指令引起异常处理。
通常中断源有以下几种:
(1)外部设备请求中断。一般的外部设备(如键盘、打印机和A / D转换器等)在完成自身的操作后,向CPU发出中断请求,要求CPU为他服务。
(2)故障强迫中断。计算机在一些关键部位都设有故障自动检测装置。如运算溢出、存储器读出出错、外部设备故障、电源掉电以及其他报警信号等,这些装置的报警信号都能使CPU中断,进行相应的中断处理。由计算机硬件异常或故障引起的中断,也称为内部异常中断。
(3)实时时钟请求中断。在控制中遇到定时检测和控制,为此常采用一个外部时钟电路(可编程)控制其时间间隔。需要定时时,CPU发出命令使时钟电路开始工作,一旦到达规定时间,时钟电路发出中断请求,由CPU转去完成检测和控制工作。
(4)数据通道中断。数据通道中断也称直接存储器存取(DMA)操作中断,如磁盘、磁带机或CRT等直接与存储器交换数据所要求的中断。
(5)程序自愿中断。CPU执行了特殊指令(自陷指令)或由硬件电路引起的中断是程序自愿中断,是指当用户调试程序时,程序自愿中断检查中间结果或寻找错误所在而采用的检查手段,如断点中断和单步中断等。
第一种输入中断,中断源是PLC的输入端。第二种定时器中断,中断源是循环时间。第三种是计时器中断,中断源是高速计数器的比较结果。
FX2N系列PLC有3类中断,即外部中断、内中断(即内部定时器中断)和高速计数器外部计数中断。
1、INT0——外部中断0,由P3.2端口引入,低电平或下降沿引起。默认优先级最高
2、INT1——外部中断1,由P3.3端口引入,低电平或下降沿引起。默认优先级第二
3、T0——定时器/计数器0中断,由T0计数器计满回零引起。默认优先级第三
4、T1——定时器/计数器1中断,由T1计数器计满回零引起。默认优先级第四
5、T2——定时器/计数器2中断,由T2计数器计满回零引起。默认优先级第五
ADC模块包括9个能被PIE标志或者通过PIE的中断,每个中断都可以配置接受EOCx信号作为中断源。
1、12位双采样保持电路。
2、同时采样和序列采样方式。
3、全范围电压输入0V到3.3V固定,或者VREFLO到VREFHI可调。
4、系统时钟全频运行,无需分频。
5、16输入通道。
6、16个SOC配置,设置触发,采样窗口,通道。
7、16个独立保存转换结果的结果寄存器。
8、多触发源。
9、9个灵活的PIE中断。
中断就是执行中断服务程序,这是中断系统的核心。不同计算机系统的中断处理过程各具特色,但对多数计算机而言,其中中断服务程序的流程如下。 中断处理过程基本上由3部分组成,第一部分为准备部分,其基本功能是保护现场,对于非向量中断方式则需要确定中断源,最后开放中断,允许更高级的中断请求打断低级的中断服务程序;第二部分为处理部分,即真正执行具体的为某个中断源服务的中断服务程序;第三部分为结尾部分,首先要关中断,以防止在恢复现场过程中被新的中断请求打断,接着恢复现场,然后开放中断,以便返回原来的程序后可响应其他的中断请求。中断服务程序的最后一条指令一定是中断返回指令。
中断向量地址和入口地址的区别: 向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。 中断向量地址和入口地址的联系: 中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。