AT89S51单片机扩充外部中断源系统的设计

控制/MCU

1813人已加入

描述

AT89S51为用户提供两个外部中断请求输入端INT0(的反)和INT1(的反),实际的应用系统中,两个外部中断请求源往往不够用,需对外部中断源进行扩充。下面介绍一种扩充外部中断源的方法。

如下图所示,若系统中有5个外部中断请求源IR0~IR4,它们均为高电平请求有效,这时可按中断请求的轻重缓急进行排队,把其中最高级别的中断请求源IR0直接接到AT89S51的一个外部中断请求源IR0输入端INT0,其余的4个中断请求源IR1~IR4按下图所示的方法通过各自的OC门(集电极开路门)连到AT89S51的另一个外中断源输入端INT1,同时还连到P1口的P1.0~P1.3脚,供AT89S51查询。各外部中断请求源的中断请求由外部设备的硬件电路产生。采用如下图所示的电路,除了IR0的中断优先权级别最高外,其余4个外部中断源的中断优先权取决于查询顺序,这里假设查询顺序为P1.0~P1.3,因此,中断优先权由高到低的顺序依次为IR1,…,IR4。中断优先权的高、低取决于查询顺序。

外部中断

假设上图的4个外部设备中有一个外部设备提出为高电平有效的中断请求信号,则中断请求通过4个集电极开路OC门的输出公共点,即INT1脚的电平就会变低。那么究竟是哪个外部设备提出的中断请求,还要通过程序查询P1.0~P1.3引脚上的逻辑电平来确定。本例假设某一时刻只能有一个外部设备提出中断请求,并设IR1~IR4这4个中断请求源的高电平可由相应的中断服务子程序清0,则处理INT1的中断服务子程序如下:

外部中断

外部中断

查询法扩展外部中断源比较简单,但是扩展的外部中断源个数较多时,查询时间稍长。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分