wind916 2024-08-26 19:05 采纳率: 33.3%
浏览 4

51单片机中断系统硬件结构

img


我想问的是最右边的那个硬件查询电路内部的硬件结构框图,没框图描述也可以,里面是集成了排队器和向量地址形成部件的吗?不同机不一样给个例子也行。另外,这个中断系统的工作过程是什么?到了ip分为0和1两种优先级后,然后呢?最右边有两个硬件查询电路,一个是高优先级,一个是低优先级,假设有两个中断源同时发出请求,一个放在了低优先级,另一个是高优先级,那每一个中断请求都是硬件查询电路的唯一一个输入,都会排队成功,那会产生两个向量地址吗?个硬件查询电路它干什么了,怎么干的,要详细。中断响应某个外部设备之后,是怎么实现只能,只能嵌套一次的。这些问题都归于那个硬件查询电路的硬件结构是什么和它是怎么工作的。请告诉我谢谢。

  • 写回答

2条回答 默认 最新

  • 吃不了席 2024-08-26 19:06
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    51单片机中断系统硬件结构主要由以下几个部分组成:

    1. 中断源:包括外部中断(INT0、INT1)、定时器中断(T0、T1)和串口中断(RX、TX)。每个中断源都有一个对应的中断标志位,如TF0、TF1、RI、TI等。

    2. 中断允许控制寄存器IE:用于控制各个中断源是否允许中断。例如,EA为全局中断允许位,EX0、EX1分别为外部中断0和1的中断允许位。

    3. 中断优先级控制寄存器IP:用于设置各个中断源的优先级。例如,PX0、PX1分别为外部中断0和1的优先级设置位。

    4. 硬件查询电路:负责根据中断优先级和中断允许情况,确定当前最高优先级的中断源,并生成相应的向量地址。硬件查询电路内部通常包含排队器和向量地址形成部件。

    中断系统的工作过程如下:

    1. 当某个中断源产生中断请求时,其对应的中断标志位会被置1。

    2. 如果该中断源允许中断(IE中的对应位为1),则硬件查询电路会将其纳入考虑范围。

    3. 硬件查询电路根据各中断源的优先级和中断允许情况,确定当前最高优先级的中断源。

    4. 硬件查询电路生成该中断源对应的向量地址,并将其送入程序计数器,从而实现程序跳转到相应的中断服务程序入口。

    关于您提到的两个硬件查询电路,它们分别负责高优先级和低优先级的中断源。当有多个中断源同时发出请求时,高优先级硬件查询电路会优先处理高优先级的中断源,而低优先级硬件查询电路会处理剩余的低优先级中断源。在这种情况下,如果高优先级中断源的请求先被响应,那么在执行完高优先级中断服务程序后,才会处理低优先级中断源的请求。因此,不会产生两个向量地址。

    中断嵌套是指在某个中断服务程序执行过程中,再次响应另一个更高优先级的中断请求。为了避免中断嵌套过深导致的问题,51单片机通常只允许一级中断嵌套。这可以通过在中断服务程序中关闭全局中断允许位(EA=0)来实现。这样,在执行当前中断服务程序的过程中,即使有更高优先级的中断请求产生,也不会立即响应,而是等待当前中断服务程序执行完毕后再进行处理。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月26日