用两个独立式按键模拟2个外部中断源

实验内容:用两个独立式按键模拟2个外部中断源(1)当INT0和INT1同时中断时,进入高优先级的中断;(2)在处理低级中断时,高级中断打断低级中断;(3)在处理高级中断时,低级中断不能打断高级中断。

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7608255
  • 除此之外, 这篇博客: 蓝桥杯单片机之独立按键+外部中断中的 中断优先级(中断嵌套) 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 当CPU正在处理一个中断源请求的时候(执行相应的中断服务程序),发生了另外一个优先级比它还高的中断源请求。如果CPU能够暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中断服务程序,这样的过程称为中断嵌套。

    按键模块

    中断优先级次序如下,其中 中断序号0的优先级最高

    void Int0_Routine(void) 	interrupt 0;
    void Timer0_Rountine(void) 	interrupt 1;
    void Int1_Routine(void) 	interrupt 2;
    void Timer1_Rountine(void) 	interrupt 3;
    void UART1_Routine(void) 	interrupt 4;
    void ADC_Routine(void) 		interrupt 5;
    void LVD_Routine(void) 		interrupt 6;
    void PCA_Routine(void) 		interrupt 7;
    void UART2_Routine(void) 	interrupt 8;
    void SPI_Routine(void) 		interrupt 9;
    void Int2_Routine(void) 	interrupt 10;
    void Int3_Routine(void) 	interrupt 11;
    void Timer2_Routine(void) 	interrupt 12;
    void Int4_Routine(void) 	interrupt 16;