AT89S51多外部中断源系统设计

时间:2018-03-12

  为用户提供两个外部中断请求输入端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的中断服务子程序如下:

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

上一篇:AT89S51中断服务子程序的设计
下一篇:焊接机器人编程的2种方法

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料