51单片机怎么通过IE,IP两个寄存器的来设置几个中断的优先级?
51单片机能设置2个优先级。当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。
系统中有多个中断源,当有多个中断源同时发出中断请求时,要求计算机能确定哪个中断更紧迫,以便首先响应。为此,计算机给每个中断源规定了优先级别,称为优先权。
这样,当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。
计算机按中断源优先权高低逐次响应的过程称优先权排队,这个过程可通过硬件电路来实现,亦可通过软件查询来实现。
扩展资料:
中断源,但按其性质和处理方法,大致可分为五类:
1、机器故障中断。
2、程序性中断。现行程序本身的异常事件引起的,可分为:程序性错误,例如指令或操作数的地址边界错,非法操作码和除数为零等;产生特殊的运算结果,例如定点溢出;程序出现某些预先确定要跟踪的事件,跟踪操作主要用于程序调试。有些机器把程序性中断称为“异常”,不称为中断。
3、输入-输出设备中断。
4、外中断。来自控制台中断开关、计时器、时钟或其他设备,这类中断的处理较简单,实时性强。
5、调用管理程序。用户程序利用专用指令“调用管理程序”发中断请求,是用户程序和操作系统之间的联系桥梁。
参考资料来源:百度百科-51单片机
参考资料来源:百度百科-中断 (单片机中断系统)
MCS-51单片机有两个中断优先级。
在51单片机中,有2个可编程定时/计数器·5个中断源,2个优先级,21个专用寄存器。另有8位CPU的4kbytes程序存储器(ROM) ,128bytes的数据存储器(RAM),32条I/O口线·111条指令,大部分为单字节指令。
优先级设定方法:
1、IP的状态由软件设定,某位设定为“1”,则相应的中断源为高优先级中断;某位设定为“0”,则相应的中断源为低优先级中断。
2、同一优先级中的中断申请不止一个时,则有中断优先权排队问题。
3、同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成,其排列从高到低为外部中断0;定时/计数器0;外部中断1;定时/计数器1;串行口。
4、每个中断源的中断优先级都是由中断优先级寄存器(IP)中的相应位的状态来规定的。
扩展资料:
51系列是基本型,包括8051、8751、8031、8951.这四个机种区别,仅在于片内程序储存器。8051为4KBROM,8751为4KBEPROM,8031片内无程序储存器,8951为4KBEEPROM。
其他性能结构一样,有片内128B RAM,2个16位定时器/计数器,5个中断源。其中,8031性价比较高,又易于开发,目前应用面广泛。
MCS-51采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。
参考资料来源:百度百科-MCS-51单片机
中断允许控制寄存器 IE:
首先要给对应的中断事件开中断,如 EX0 = 1,即表示允许外部中断0 申请中断;
然后还要开总中断(即 EA = 1);
中断优先级寄存器 IP:
所有中断源默认优先级为0级(加电或者复位后),但是仍然有优先次序,如图示;
当将对应的中断事件置1,即提升为最高优先级,如 PX0=1;
同样的,如果有几个中断源被设置为最高优先级,那么就是按同级的优先次序等待中断响应;
还不明白的可追问;
包含五个中断源,两级中断优先级,优先级可编程设置,通过IP进行设置:

PX0(IP.0),外部中断0优先级设定位;
PT0(IP.1),定时/计数器T0优先级设定位;
PX1(IP.2),外部中断0优先级设定位;
PT1(IP.3),定时/计数器T1优先级设定位;
PS (IP.4),串行口优先级设定位;
PT2 (IP.5) ,定时/计数器T2优先级设定位。

从这张图里我们可以看出:
EA是中断控制位,EA=1开放中断,EA=0屏蔽所用中断(编程时人为设定)
那EA是在哪里进行设置的呢?它就是在IE(中断允许寄存器)里进行设定的

第七位就是EA,剩下的还有第四位的ES,第三位的ET1,第二位的EX1,第一位的ET0和第零位的EX0,是不是在上图中都能看到他们的影子?没错,要不IE能称为中断允许寄存器嘛?是不是他先是设定总允许中断,然后再设定其它的中断是不是允许的,接下来我们再来看其它中断允许位
ES:串行口中断开放控制位,ES=1,响应串行口中断,ES=0,禁止串行口中断
ET1:T1溢出中断开放控制位,ET1=1,响应T1溢出产生的中断;ET1=0,禁止T1溢出产生的中断
EX1:外部中断1开放控制位,EX1=1,响应外部中断,EX1=0,禁止外部中断
ET0:功能同ET1,对应T0
EX0:功能同EX1,对应外部中断0
这样,中断是否开启就由你说了算了,你要用什么直接就可以控制对应的中断和总中断EA就可以了。
现在我们开启了中断,cpu就会检测对应的中断是否到来,那如何检测的呢?接下来我们就要用到另外几个有用的位了

TCON的第七位TF1,第五位TF0,第三位IE1,第一位IE0

SCON的第一位TI,第零位RI。
RI(SCON.0),串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串行帧,由硬件置位RI。注意,RI必须由软件清除。
TI(SCON.1),串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应中断时,不能自动清除TI,TI必须由软件清除。
TF1:T1当定时时间到或是当计数个数到的时候,会触发TF1位,然后CPU检测TF1位,执行对应的中断,响应中断后,硬件清零。
TF0:对应于TF1
IE1:外部中断请求标志,外部中断执行,请求中断,对应IE1=1,CPU响应中断,硬件对IE1清零。
IE0:对应IE1
但是对于外部中断,却有两种中断触发方式,一种是低电平触发,一种是下降沿触发。我们对于不同情况要进行不同的控制,那什么对这两种方式进行先择呢?我们看TCON的第二位和第零位是没有用的,就是他们两个,第二位IT1对应外部中断1,第零位IT0对应外部中断0,给他们高电平就为下降沿触发,给他们低电平就为低电平触发。
这样对于中断的了解就比较清楚了吧!接下来的内容里我们会通过学习其它内容,对这里有更深入的了解。
附:中断优先权图

51单片机怎么通过IE,IP两个寄存器的来设置几个中断的优先级?
中断允许控制寄存器 IE:首先要给对应的中断事件开中断,如 EX0 = 1,即表示允许外部中断0 申请中断;然后还要开总中断(即 EA = 1);中断优先级寄存器 IP:所有中断源默认优先级为0级(加电或者复位后),但是仍然有优先次序,如图示;当将对应的中断事件置1,即提升为最高优先级,如 PX0=1;同...
8051单片机外部中断0、1,定时器中断0、1的中断响应过程
在8051中,开中断和关中断的功能不是通过单独的指令实现,而是通过特殊功能寄存器IE来控制。IE包含一个总开关EA,以及五个独立的开关:ES、ET1、EX1、ET0、EX0。这些开关设置为1时开启中断,设置为0时关闭中断。单片机复位后,IE的默认设置为0,意味着CPU默认处于中断关闭状态。对于串口中断,CPU在响应...
51单片机有哪几个特殊功能寄存器
1、8051单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用的直接寻址方式来访问。这些特殊功能寄存器颁在以下各个功能部件中。2、CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器组成)。3、中断系统:IP、I...
MCS-51单片机有多少个特殊功能寄存器,它们是如何分布的
寄存器B、程序状态字PSW、堆栈指针SP、数据指针DPTR(由DPL和DPH两个寄存器组成);(2)中断控制寄存器:IP和IE;(3)定时器\/计数器控制寄存器:TMOD、TCOM、TL0、TH0、TL1、TH1;(4)并行I\/O端口:P0、P1、P2、P3;(5)串行通信接口:SCON、SBUF、PCON。
【单片机】中断
IP寄存器则用于设置中断的优先级。各优先级通过设置P+对应字母的位为高电平实现,如PS为串口优先级,PX0、PX1为外中断优先级,PT0、PT1为定时器中断优先级。若两个中断优先级相同,则遵循特定的优先级次序。此外,TCON寄存器的低四位用于设置外部中断的触发方式,ITx位控制电平触发或下降沿触发,而IEx...
单片机里面的寄存器的字节地址是用来干什么的?怎么用?
在单片机指令中寻址任何一个字节都需要字节地址,寻址任何一个位都需要位地址。所谓的IP、IE不过是我们给这个寄存器取了另外一个名字而已。如:MOV IP,#00H 和 MOV B8H,#00H 这两条语句是一样的效果。另外,从这些寄存器的使用上来说,IP、IE等特殊功能寄存器既可以字节寻址也可以位寻址,是同样...
单片机有哪几个特殊功能寄存器?
1. CPU模块:包括ACC累加器、B寄存器、PSW程序状态字、SP堆栈指针以及DPTR数据指针(由DPL低字节和DPH高字节两个8位寄存器组成)。2. 中断控制模块:包括IP中断优先级寄存器和IE中断允许寄存器。3. 定时器\/计数器模块:包括TMOD定时器模式寄存器、TCOM定时器\/计数器控制寄存器,以及TL0、TH0、TL1、TH1四...
51单片机有哪几个特殊功能寄存器
1. CPU相关寄存器包括累加器(ACC)、寄存器B、程序状态字(PSW)、堆栈指针(SP)以及数据指针(DPTR),后者由低字节DPTR_L和高字节DPTR_H组成。2. 中断控制寄存器包括中断允许寄存器(IE)和中断优先级寄存器(IP)。3. 定时器\/计数器相关寄存器包括模式控制寄存器(TMOD)、定时器\/计数器命令寄存器(...
80C51单片机中断优先级控制寄存器IP
但其实没什么用,单片机在复位时,IP是被清零的,所有中断优先级是按照硬件优先级来执行的,所以这句有和没有是一样的。至于为什么要用两个(EX0=1;EX1=1;)允许外部中断,他两个外部中断源都用到了,所以都要开了。而IT0、IT1是设置外部中断触发方式的,所以也要设置了 ...
求用C语言编程:单片机P1.0和P1.1分别接两个指示灯
D1; while(IE0);\/\/键释放后才结束函数 } }\/\/外部中断1(P3.3)接key2,这个程序没加延时消抖动,自个体会效果。 void int1()interrupt 2{ D2=!D2; while(IE1);}\/\/主函数 void main(void){ EA=EX0=EX1=1;\/\/开中断,没定义IT0和IT1,所以默认为电平触发中断方式 while(1);} ...