外部中断源扩展电路和外部中断源中断优先级的c语言软件编程,单片机外部中断源的扩展...

20150323113254509.jpg

案例分析:

中断与查询相结合的方法是把系统中多个外部中断源按它们的重要程度进行排序,把其中最高级别的中断源接到MCS-51的一个外部中断源输入端(例如接到 脚),其余的中断源用线“或”的方法连接到另一个外部中断输入端( ),并同时接到一个I/O口,如图3中所示接到P1口。中断请求由硬件电路产生,而中断源的识别由程序查询来处理,查询顺序由中断源的优先级决定。图3为五个外部中断源的连接电路,其中设备1~4经OC门与 连接,并连接到P1.0~P1.3,均采用电平触发方式。设备0为最高级中断源,单独作为外部中断0的输入信号。这种办法扩展比较简单,但是当外部中断扩展的数量较多时,查询的时间比较长,导致程序的执行效率较低。

程序代码:

ORG 1000H

LJMP INTR

INTR: PUSH PSW ; 保护现场

PUSH A

JNB P1.0, IR1 ; P1.0引脚为0,转至设备1中断服务程序

JNB P1.1, IR2 ; P1.1引脚为0,转至设备2中断服务程序

JNB P1.2, IR3 ; P1.2引脚为0,转至设备3中断服务程序

JNB P1.3, IR4 ; P1.3引脚为0,转至设备4中断服务程序

INTR1: POP A ; 恢复现场

POP PSW

RETI ; 中断返回

IR1: …… ; 设备1中断服务程序入口

AJMP INTR1 ; 跳转到INTR1所指示的指令

IR2: …… ; 设备2中断服务程序入口

AJMP INTR1 ; 跳转到INTR1

IR3: …… ; 设备3中断服务程序入口

AJMP INTR1 ; 跳转到INTR1

IR4: …… ; 设备4中断服务程序入口

AJMP INTR1 ; 跳转到INTR1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值