×
单片机 > 单片机程序设计 > 详情

51单片机3个外部中断源中断响应编程举例

发布时间:2020-08-25 发布时间:
|

某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,便要求CPU进行处理,它们的优先处理次序由高到低依次为3、2、1,中断处理程序的入口地址分别为1000H,1100H,1200H。试编写主程序及中断服务程序(转至相应的中断处理程序的入口即可)。

答:若仅在/INT0引脚接3个外部中断源


                     ORG       0000H

                     LJMP      MAIN

                     ORG       0003H 

                     LJMP      INT_EX0


                     ORG       0030H


MAIN:    CLR        IT0                ; 采用低电平有效中断


                     SETB      EX0               ;允许外部中断0


                     SETB      EA                


                     ; 插入用户程序

WAIT:     MOV      PCON,#01H   ;单片机进入休眠方式等待中断

                     NOP


                     LJMP      WAIT


;以下为外部中断0服务子程序


INT_EX0:JNB     P1.0,NEXT1          ;判断是不是1号中断


              LJMP      INT_IR1               ;跳转到1号中断处理程序 内容来自单片机之家www.dpj100.com

NEXT1:  JNB        P1.1,NEXT2          ;判断是不是2号中断 内容来自单片机之家www.dpj100.com

              LJMP      INT_IR2               ;跳转到2号中断处理程序


NEXT2:  LJMP      INT_IR3               ;跳转到3号中断处理程序

 


              ORG       1000H


INT_IR1:             


              ;插入相应中断处理程序


  

              RETI                                  ;中断返回


              ORG       1100H 

INT_IR2:             

              ;插入相应中断处理程序

 


              RETI                                  ;中断返回


              ORG       1200H


INT_IR3:             

              ;插入相应中断处理程序

 

              RETI                                  ;中断返回 




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机电子密码锁仿真 可修改密码