用软件方式灵活设置AT89系列单片机的多中断优先级并实现多级中断嵌套的一种方法(3)
作者:佚名; 更新时间:2014-12-05

  SETBPX1
  SETBES
  SETBEX1
  ICCRH:RETI
  T1SP:CLR ES
  LCALLICCRF
  CLR PT1
  ……;定时/计数器T1中断服务程序
  SETBPT1
  SETBES
  ICCRF:RETI
  SRTSP:LCALL ICCRV
  CLR PS
  ……;串行口中断服务程序
  SETBPS
  ICCRV:RETI
  在利用上述中断优先级设置程序模式设置成的五级中断系统中,可实现五级中断嵌套,若有两个或两个以上的中断源同时产生中断请求,则按照原中断系统提供的同级中断检测顺序,即INT0、T0、INT1、T1、SRT的顺序进行处理。
  4 中断响应的实时性分析
  由于外中断INT0被响应后无需进行当前中断优先级的重置就可以直接执行相应的中断服务,所以,外部中断源INT0提出中断请求后,在3-8个机器周期内便可执行真正的中断服务程序[2]。若中断服务程序的字节数多于8个字节,则需要在0003H单元存放一条跳转指令转去执行真正的中断服务程序,而所有跳转指令的指令周期均为两个机器周期,因此,外部中断源INT0提出中断请求后在5~10个机器周期内便可转去执行符号地址为INT0SP的中断服务程序段。
  定时/计数器T0中断源提出中断请求后,同样也在5~10个机器周期内转到符号地址为T0SP处,但此后还需进行低级中断屏蔽、模拟中断返回、当前中断(T0中断)优先级重置等工作,共需时间为6个机器周期,因此定时计数器T0提出中断请求后可在11~16个机器周期内转去执行真正的中断服务程序。
  同理可知,外部中断INT1、定时计数器T1、串行口提出中断请求后,分别在10~15个机器周期、9~14个机器周期和8~13机器周期内便可转去执行真正的中断服务程序。
  
  5 结束语
  以上将AT89C51单片机的五个中断源用软件方式设置成五个中断优先级并实现多级中断嵌套的方法,具有简便易行且不增加任何硬件成本等优点。若将程序模式稍加改变即可实现中断优先级的三级或四级的灵活设置。这种多中断优先级设置方法也适合于具有中断屏蔽和优先级设置功能的其它系列微处理机。
  
  参考文献
  [1] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2001.197-205.
  [2] 李传鸿.单片机原理及应用基础教程[M].哈尔滨:东北林业大学出版社,2007.89-90.
核心期刊快速发表
Copyright@2000-2030 论文期刊网 Corporation All Rights Reserved.
《中华人民共和国信息产业部》备案号:ICP备07016076号;《公安部》备案号:33010402003207
本网站专业、正规提供职称论文发表和写作指导服务,并收录了海量免费论文和数百个经国家新闻出版总署审批过的具有国内统一CN刊号与国际标准ISSN刊号的合作期刊,供诸位正确选择和阅读参考,免费论文版权归原作者所有,谨防侵权。联系邮箱:256081@163.com