51单片机能设置几个优先级别?同一级别的中断源同时发出中断请求,CPU先响应哪一个?怎么确定?
51单片机能设置2个优先级。当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。
系统中有多个中断源,当有多个中断源同时发出中断请求时,要求计算机能确定哪个中断更紧迫,以便首先响应。为此,计算机给每个中断源规定了优先级别,称为优先权。
这样,当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。
计算机按中断源优先权高低逐次响应的过程称优先权排队,这个过程可通过硬件电路来实现,亦可通过软件查询来实现。
扩展资料:
中断源,但按其性质和处理方法,大致可分为五类:
1、机器故障中断。
2、程序性中断。现行程序本身的异常事件引起的,可分为:程序性错误,例如指令或操作数的地址边界错,非法操作码和除数为零等;产生特殊的运算结果,例如定点溢出;程序出现某些预先确定要跟踪的事件,跟踪操作主要用于程序调试。有些机器把程序性中断称为“异常”,不称为中断。
3、输入-输出设备中断。
4、外中断。来自控制台中断开关、计时器、时钟或其他设备,这类中断的处理较简单,实时性强。
5、调用管理程序。用户程序利用专用指令“调用管理程序”发中断请求,是用户程序和操作系统之间的联系桥梁。
参考资料来源:百度百科-51单片机
参考资料来源:百度百科-中断 (单片机中断系统)
MCS-51单片机能设置两个优先级别,为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。
同一级别的中断源同时发出中断请求,即在此过程中所有的中断源都属于同一级,所有中断请求触发器排成一行,其优先次序是离CPU越近优先级越高,即CPU最先响应的是离CPU最近的那一个中断源。
当响应某一中断请求时,CPU执行该中断源的中断服务程序,在此过程中,中断服务程序不允许被其他中断源所打断,即使优先级比它高的中断源也不例外,只有当该中断服务程序执行完毕之后,才能响应其他中断。
扩展资料:
在实际系统中,常常遇到多个中断源同时请求中断的情况,这时CPU必须确定首先为哪一个中断源服务,以及服务的次序。解决的方法是中断优先排队,即根据中断源请求的轻重缓急,排好中断处理的优先次序即优先级,又称优先权,先响应优先级最高的中断请求。
另外,当CPU正在处理某一中断时,要能响应另一个优先级更高的中断请求,而屏蔽掉同级或较低级的中断请求,形成中断嵌套。中断嵌套的出现,扩大了系统中断功能,进一步加强了系统处理紧急事件的能力。
参考资料来源:百度百科-中断优先级
参考资料来源:百度百科-中断 (单片机中断系统)
同一级别的中断源同时发出中断请求,则按自然优先级先后来响应,自然优先级由高到低分别是:外部0,定时器0,外部1,定时器1,串行口。