8051 微控制器中的中断2024 年 8 月 29 日 | 4 分钟阅读 这是一个子程序调用,由微控制器在具有较高优先级的其他程序请求获取系统总线时给出,此时当前运行的程序中会发生中断。 中断提供了一种推迟或延迟当前进程、执行子程序任务,然后重新启动标准程序的方法。 8051 微控制器中的中断类型让我们看看 8051 微控制器的五个中断源
定时器和串行中断由微控制器内部产生,而外部中断由额外的接口设备或外部连接到微控制器的开关产生。 这些外部中断可以是电平触发或边沿触发。 发生中断时,微控制器会执行中断服务程序。 因此,存储器位置对应于中断启用它。 考虑与存储器位置对应的中断,如下面的中断向量表所示。 ![]() 8051 微控制器的中断结构“RESET”后,所有中断都被禁用,因此,所有中断都由软件启用。 在所有五个中断中,如果任何一个或所有中断都被激活,这将设置相应的 interrupt 标志,如图所示,该图对应于 8051 微控制器的中断结构:- ![]() 所有中断都可以通过一些特殊功能寄存器设置或清除,这些寄存器也称为中断启用 (IE),这完全取决于优先级,优先级是通过使用中断优先级寄存器执行的。 中断使能 (IE) 寄存器IE 寄存器用于启用和禁用中断。 这是一个位寻址寄存器,其中 EA 值必须设置为 1 才能启用中断。 此寄存器中的各个位启用特定的中断,如定时器、串行和外部输入。 考虑在下面的 IE 寄存器中,位对应于 1 激活中断,0 禁用中断。 ![]() 中断优先级寄存器 (IP)使用 IP 寄存器,可以通过清除或设置中断优先级 (IP) 寄存器中的各个位来更改中断的优先级,如图所示。 它允许低优先级中断可以中断高优先级中断,但它禁止使用另一个低优先级中断进行中断。 如果中断的优先级没有编程,那么微控制器将以预定义的方式执行指令,其顺序为 INT0、TF0、INT1、TF1 和 SI。 ![]() 8051 中的中断编程
如上所述,微控制器 8051 由两个外部硬件中断组成:INT0 和 INT1。 这些中断在引脚 3.2 和引脚 3.3 处启用。 它可以是电平触发或边沿触发。 在电平触发中,引脚 3.2 处的低电平信号启用中断,而在引脚 3.2 处的高到低转换启用边沿触发中断。 让我们看看 8051 微控制器的可编程功能是 考虑边沿触发外部硬件中断编程是:- 让我们看看使用串行中断通过串行端口以 9600 波特率发送“E”的程序 下一个主题嵌入式 C 编程 |
我们请求您订阅我们的新闻通讯以获取最新更新。