用软件方式灵活设置AT89系列单片机的多中断优先级并实现多级中断嵌套的一种方法

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:lokimi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了一种用软方式法灵活设置AT89系列单片机多中断优先级并实现多级中断嵌套的方法,分析了系统的时实性。
  关键词:单片机;中断优先级;中断嵌套;设置;时实性
  中图分类号:TP368文献标识码:A文章编号:1009-3044(2008)11-20359-02
  
  1 引言
  
  ATMEL公司的AT89系列单片机是目前最常用的性优价廉的单片机系列之一,但其中断系统资源却很有限,特别是系统提供的中断优先级更是如此。例如AT89系列标准型单片机一般只有两个中断优先级,从而使其应用受到了限制。因此扩展中断优先级、实现多级中断嵌套便成了人们设计和开发单片机影院系统时常需考虑的问题之一。目前,人们大都是通过增加专门硬件并配合相应编程来解决这一问题的,显然这种方式不利于降低系统成本,使用起来也不够灵活。笔者以AT89系列标准型单片机AT89C51为对象,利用纯软件方式,通过在各中断服务程序的起始部分加入设置指令,在中断返回之前加入对应的恢复指令,成功地实现了中断优先级的多级软件设置。最多可将五个中断源分别设置在五个中断优先级上。五个中断源的优先级由高到低依次为:外部中断INT0、定时器/计数器T0中断、外部中断INT1、定时器/计数器T1中断和串行口中断。这样也就自然实现了多级中断嵌套。
  
  2 中断优先级扩展的原理及方法
  
  2.1 中断控制字的初始化
  首先,在主程序中将AT89C51单片机的中断优先级控制寄存器IP的各个位设置为“1”,即将单片机的五个中断源都置成系统中原有的高中断优先级,这是为某个中断请求被响应后重新设置该中断的优先级所做的准备;然后,将中断允许控制寄存器IE的各个位也都设置为“1”,即将各中断请求设置为允许状态,并使CPU处于开中断状态,以确保符合条件的中断请求能够得到响应。
  2.2中断控制字的重置和恢复
  在某中断请求被响应后,当前中断的优先级重置和低级中断屏蔽,以及中断返回前的当前中断优先级恢复和低级中断开放是实现多中断优先级灵活设置的关键。中断控制字的重置和恢复方法如下:
  (1)按照AT89C51单片机同中断优先级上的中断源内部查询顺序,外部中断INT0具有同中断优先级上最高的中断优先权,所以该中断被响应后不需要进行当前中断优先级重置,中断返回前也不需要进行当前中断优先级恢复。
  (2)定时/计数器T0中断在同中断优先级上具有次高级中断优先权,所以在该中断被响应后,一方面要保证在执行T0中断服务程序过程中不能再被更低级的中断请求再次中断,即不能被外部中断INT1、定时/计数器T1中断及串行口中断等中断请求再次中断,因此,在T0中断服务程序前必须加入屏蔽低级中断请的设置指令,另一方面又要保证在执行T0中断服务程序过程中可以被更高级的中断请求再次中断,即可以被外部中断INT0再次中断,因此在T0中断服务程序前还必须用一条中断优先级重置指令,将其自身(这里指T0中断)的中断优先级设置成原中断系统中的低中断优先级,具体方法见多中断优先级设置程序模式。另外,还要在进入中断服务前,模拟一次中断返回,以便将相应的不可寻址的中断优先级状态触发器复位,为给响应该中断优先级上的高级中断请求扫清道路[1]。从多中断优先级设置程序模式中可以看到,在T0中断服务程序和中断返回指令之间还有四条与上述设置指令功能恰好相反的指令,其目的是恢复T0中断原来所处的中断优先级和中断屏蔽状态。
  (3)外部中断INT1中断、定时/计数器T1中断及串行口中断的中断服务程序前后也按方法(2)做类似处理,具体方法见多中断优先级设置程序模式。
  
  3 多中断优先级设置程序模式
  
  AT89C51单片机五个中断优先级的软件设置程序模式如下:
  MAIN:……
  MOV IP,#FFH ;将所有中断源置成高中断优先级
  MOV IE,#FFH ;中断开放
  ……
  INT0SP:…… ;外部中断INT0中断服务程序
  RETI
  T0SP:CLR EX1;屏蔽外部中断INT1
  CLR ET1;屏蔽定时/计数器T1中断
  CLR ES ;屏蔽串行口中断
  LCALL ICCRT;模拟中断返回
  CLR PT0;置T0中断为低中级优先级
  …… ;定时/计数器T1中断服务程序
  SETBPT0;恢复T0中断为高中断优先级
  SETBES ;允许低级中断
  SETB ET1 ;允许定时/计数器T1中断
  SETB EX1 ;允许串行口中断
  ICCRT:RETI
  INT1SP:CLRET1
  CLRES
  LCALLICCRH
  CLR PX1
  ……;外部中断INT1中断服务程序
  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.
其他文献
摘要:本文介绍一种基于CAN总线的分布式微型自动灭火系统,包括系统组成、功能以及节点模块的设计,并结合实际应用给出了一些抗干扰措施。  关键词:CAN总线;分布式;微型自动灭火系统  中图分类号:TP273文献标识码:A文章编号:1009-3044(2008)09-11728-02    Distributed Control System of Mini-stream Auto-fire-ext
摘要:大数据技术的发展和大数据时代的来临将对极大地推动GIS的发展。该文主要介绍了GIS当前的发展现状及瓶颈,探讨了GIS在大数据时代下的数据采集、数据存储与管理及数据分析和挖掘所面临的问题和初步的解决办法,展望GIS在大数据时代下的发展前景。  關键词:GIS;大数据;空间数据  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)32-7585-03  Abstra
摘要:无论是门户网站还是如今流行的B/S结构的企业MIS,都是靠网页来展现它的内容、与用户进行交流。网页可以简单地描述为“内容+表现”,CSS(Cascading Style Sheet,级联样式表)是最好的网页“表现”技术,它使用一套完整而且灵活的规则,将网页的内容和表现方法彻底分离,利用它能设计出具有复杂布局的精美网页,并且代码简洁、干净、易于调整和维护,为网页设计人员和维护人员节省大量的时间
摘要:工程教育在“回归工程”的CDIO教育理念下,掀起了高校教学模式改革的新浪潮。这就要求教师与时俱进,根据新时代教师角色转型的需求,积极主动地转变教育思想,提升教学能力,扮演好自己的角色。文章从CDIO改革的背景,CDIO对教师的标准要求,教师的角色需求和教师队伍现状及应对之策四个方面进行了探讨。以我校实际情况为例对过渡时期教师队伍的现状进行了详细分析,提出了促进专业教师主动角色转型的措施建议。
摘要:该文以武汉城市职业学院电子信息工程技术专业为例,从战略性新兴产业的角度,重点研究了高职电子信息工程技术专业的建设和改革的情况,分析了专业建设当中存在的困难。  关键词:战略性新兴产业;电子信息;人才培养模式;评价方式;专业建设  中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)34-7942-03  为积极促进高等教育与经济社会发展紧密结合,引导高等学校主动适应
唐卡 2.6m×172m 2019—2020年  《大熊猫百图唐卡长卷》总共绘制了600余只大熊猫,代表了截止2019年12月全球圈养大熊猫的总数量。创作采用世界非物质文化遗产唐卡艺术语言,画面融入阿坝州独特的藏羌风情、自然美景、传统服饰等,与大熊猫完美结合,描绘了一幅阿坝人民向世界讲述大熊猫故事的浩瀚长卷,借此表现“阿坝九大”的精神内涵,提升“净土阿坝熊貓家园”的知名度与美誉度。《大熊猫百图唐卡
一、选购常识  所谓MVA即全称为(Multi-domain Vertieal Alignment),它是较早投入应用的广视角液晶面板,作为一种多象限垂直配向技术,MVA面板是利用突出物使液晶静止时并非传统的直立式,而是偏向某一个角度静止;当施加电压让液晶分子改变成水平以让背光通过则更为快速,这样便可以大幅度缩短显示时间,同时达到了160度以上视角,让视野角度更为宽广。  事实上,MVA面板技术最
摘要:本文根据作者多年的CAD建筑工程制图教学的实践经验,分析了传统的建筑工程制图教学法存在的不足。论述了解决这些关键问题的方法,为CAD教学和建筑类专业的工程技术人员更好地进行工程绘图提供了有益参考。  关键词:建筑工程;CAD教学;实践教学;分层目标教学法  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)24-1349-02  CAD Technology in
摘要:针对Android移动终端人机实时交互的特点,结合中国象棋的特点,牵涉到Android开发和Java程序设计以及算法分析等相关知识。即勾勒了整个程序的结构框架,又详细分析和设计了其中的功能模块,例如棋子绘制,局面状态变量的意义和变化逻辑,人机交互的全过程等。全面讲解了搜索算法,从棋局表示、走法生成、局面估计到搜索树的遍历和Alpha-Beta剪枝算法。  关键词:Android;局面估值;A
在当今这个竞争激烈的时代,每一个职场人士都是怀揣理想上路。而作为商务精英,时刻确保自己的高效工作,就必须有一台方便易用、应用全面的商务利器。笔记本作为移动办公必选产品,商务精英购买时自然就需要更加挑剔。  一、14英寸轻薄本特点  随着互联网的普及,移动办公已不是天方夜谭,也不是望梅止渴,而是切切实实看得到摸得着的一种生活方式。而随着BYOD时代来临,商务精英具有更高的办公效率与行动力。因此不论是