我的推荐
我的文章

1 引言
  在运行的过程中,所谓中断是指当CPU正在处理某件事情的时候,外部发生的某一事件(如一个电平的变化,一个脉冲沿的发生或定时器计数溢出等)请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件以后,再回到原来被中止的地方继续原来的工作,这样的一个过程称之为中断。以8051为例,中断系统含有5个中断源,分别是外部中断0请求(INT0),外部中断1请求(INT1),定时/计数器0溢出中断请求(T0),定时/计数器1溢出中断请求(T1)以及串行口中断请求(Tx/Rx)。既然系统含有5个中断源,就有可能出现数个中断源同时提出中断请求的情况,这样,设计人员必须事先根据它们的轻重缓急来为每个中断源确定CPU对其的响应顺序。然而,对于中断优先级寄存器IP来说,只可能设定两级优先,即控制位为1时对应的中断源为高级中断,反之,控制位为0时对应的为低级中断。这样就出现一个问题:如果一个中断正在执行,如何才能让它响应同级甚至是低级中断请求呢?
  2 中断多优先级的扩展
  根据8051的结构特点,其中断系统中含有两个不可寻址的“优先级生效”触发器。一个用于指出
  CPU是否正在执行高优先级的中断服务程序,这个触发器为1时,系统将屏蔽所有的中断请求;另一个则指出CPU是否正在执行低优先级中断服务程序,该触发器为1时,将阻止除高优先级以外的一切中断请求。由此可见,若要响应同级甚至是低级中断请求,必须使得该“优先级生效”触发器清零。但该触发器又是不可寻址的,所以无法用软件直接清零。遍历系统所提供的111条指令,只有RETI可以达到此目的。该指令可在CPU执行该指令时,一方面清除中断响应时所置位的“优先级生效”触发器,另一方面可从当前栈顶弹出断点地址送入程序计数PC,从而返回主程序。
  3 软件扩展方法
  3.1 高级中断源响应低级中断源的软件设计
  现以当前IE=84H(开放外部中断1及总控制位),IP=04H设定INT1为高优先级 正在执行外部中断1服务子程序为例来进行说明。如欲响应串行口中断,也就是要实现高级中断源响应低级中断源,设计时可加入如下代码而无须改变IP寄存器的内容:
  PUSH IE ;IE内容入栈保护
  MOV IE , #10010000B ;开放串行口中断
  CALL PP ;继续执行原中断子程序,但可
  随时响应串行口中断请求
  ...
  POP IE ;恢复原IE内容
  RETI
  PP: RETI
  3.2 同级中断源之间的响应
  上述代码体现了高级中断源(INT1)响应低级中断源(串行口)的软件实现方法。但是, 8051系统共含有5个中断源,因此必须解决同优先级中断之间的嵌套问题,具体源程序如下:
  ORG 0000H
  LJMP MAIN
  ORG 0003H
  LJMP X0 ;INT0入口地址
  ORG 000BH
  LJMP T0 ;T0入口地址
  ORG 0013H
  LJMP X1 ;INT1入口地址
  ORG 001BH
  LJMP T1 ;T1入口地址
  ORG 0023H
  LJMP SS ;串行口入口地址
  MAIN: MOV IE ,#9FH ;开放所有中断
  MOV IP,#03H ;设定INT0、T0为高优先级
  SJMP $
  X0: PUSH DPL
  PUSH DPH
  MOV DPTR,#X0RL
  PUSH DPL
  PUSH DPH
  RETI ;(PC)=X0RL,清"高优先级生效"
  触发器,此时可响应其它中断请求
  X0RL:· ;INT0子程序的真实入口地址
  ·
  ·
  ·
  POP DPH
  POP DPL
  RETI
  T0: PUSH DPL
  PUSH DPH
  MOV DPTR,#T0RL
  PUSH DPL
  PUSH DPH
  RETI ;(PC)=T0RL,清"高优先级生效"
  触发器,此时可响应其它中断请求
  T0RL: · ;T0子程序的真实入口地址
  ·
  ·
  ·
  POP DPH
  POP DPL
  RETI
  X1: PUSH DPL
  PUSH DPH
  MOV DPTR,#X1RL
  PUSH DPL
  PUSH DPH
  RETI ;(PC)=X1RL,清“高优先级生效”
  触发器,此时可响应其它中断请求
  X1RL: · ;INT1子程序的真实入口地址
  ·
  ·
  ·
  POP DPH
  POP DPL
  RETI
  T1: PUSH DPL
  PUSH DPH
  MOV DPTR,#T1RL
  PUSH DPL
  PUSH DPH
  RETI ;(PC)=T1RL,清"高优先级生效"
  触发器,此时可响应其它中断请求
  T1RL: · ;T1子程序的真实入口地址
  ·
  ·
  ·
  POP DPH
  POP DPL
  RETI
  SS: PUSH DPL
  PUSH DPH
  MOV DPTR,#SSRL
  PUSH DPL
  PUSH DPH
  RETI ;(PC)=SSRL,清"高优先级生效"
  触发器,此时可响应其它中断请求
  SSRL: · ;串行口子程序的真实入口地址
  ·
  ·
  ·
  POP DPH
  POP DPL
  RETI
  上述程序利用IP寄存器给出了两级优先级,其中INT0、T0为高优先级,INT1、T1串行口为低优先级。为使某中断能响应同级甚至低级中断,只要在中断服务子程序中用RETI指令清除相应的不可寻址的“优先级生效”触发器即可。程序一开始的两条PUSH指
  令的作用是对原始数据进行入栈保护(如此时DPTR中的数据不需保留,则这两条压栈指令也可不要,相应的弹栈指令也可不要),然后将其真实子程序入口地址入栈,并经RETI出栈后弹给PC指针,以便在执行完RETI后正确执行真实子程序。当该中断服务子程序执行完毕后,RETI将返回主程序断点处以继续执行原来程序。
  4 结束语
  本文所阐述的多优先级扩展方法是纯软件方法,该方法只需在程序中加入为数不多的相应代码,便可进行各种中断嵌套(如同优先级响应或高优先级响应低优先级等)。此方法的代价是要花费更多的中断响应时间,但相对于添加硬件扩展的方法而言,这点代价还是值得的。

IC设计年会IC产业的希望  (2008/10/31 12:12)
摘要: 2008年10月28日上午,2008年北京微电子国际研讨会暨中国半导体行业协会集成电路设计分会年会的高峰论坛在北京国际会议中心隆重举行。这次IC设计会议在IC不景气的现在进行,多少给IC设计企业带来了一些信心,给IC设计,IC解密,IC制造等产业多少带来了些安慰。 中国半导体行业协会集成电路设计分会理事长王芹生、北京大学教授王阳元院士、SEMI总裁兼CEO STANLEY...
摘要: ISO27001是举世公认的信息安全业界标准,是唯一一个规定了信息安全管理体系(ISMS)要求的可审核国际标准,它由国际标准化组织和国际电子技术委员会发布于2005年10月,是目前唯一有保障的信息安全管理标准。该标准为企业提供了一个建立、实施、运行、监控、审查、维护和改进信息安全的体系架构,确保企业选择充分合适的安全控制措施保护其信息资产。 近日,中芯国际(NYSE: SMI)是一...
电子行业下半年增长放缓  (2008/09/17 15:22)
摘要:   2008年上半年,电子元器件上市公司营业收入同比增长15.6%,净利润同比增长9.8%,毛利率略微提升0.5个百分点。如果加上电子设备和仪器|仪表行业,收入同比增长了17.5%,净利润同比增长38.2%,毛利水平保持稳定。尽管电子企业整体中期盈利增长较07年有所好转,但贡献主要来自于电子设备、IC卡等少数细分行业。对于半导体、pcb、连接器、电子元件、芯片解密和磁性材料等基础元器件行业,...
摘要:     德国芯片厂商英飞凌(Infineon)股价再度上涨,因有报道称其即将出售余下的DRAM供应商奇梦达(Qimonda)股份,而美光是最有可能的买家。奇梦达的股价也一度大涨。 《德国金融时报》援引未透露身份的消息来源暗示,美商美光(Micron)、日本尔必达(Elpida)等芯片业巨擘均在此3组有意出价者的行列中,可能在几周之内洽谈上述售股事宜。但英飞凌...
摘要: 本文出自:PCB抄板资料站 维用电子马来西亚是一家电子制造与装配服务供应商,隶属维信有限公司旗下,是MFLEX的最大股东。近期, "统包式"工厂将支持公司的高混合/低产量装配生产业务维讯柔性电路板设计有限公司(MFLEX)(纳斯达克代码:MFLX)宣布缔结多项合约,在马来西亚Johor Darul Takzim笨珍租赁一家117,000平方英尺工厂,并以约100万美元...
摘要: 本文出自:PCB抄板资料站 PCB设计工程师根据电装技术由引脚插装技术向表面封装技术(裸芯片直接安装技术和精细间距技术)-多芯片模块(MCM)技术或多芯片封装技术发展,使多层印制电路板电路图形检测更加困难。为此,国内外都在开发和使用高精度、高稳定的检测设备。目前检测设备有两种即非接触式和接触式。 1、非接触式检测技术 检测技术是印制电路板物理与化学性能数据提供的重手段。随着印制图...
摘要: 志超科技透过私募取得统盟电子22%股权,在双方结盟后,可运用产能将达全球薄膜晶体管液晶显示器(TFT- LCD)用印刷电路板设计(PCB板设计)产能45%,高居全球之冠。 统盟近几年从主机板(MB)用PCB,转型到TFT-LCD用PCB,一度转亏为盈,但去年及今年首季又转盈为亏;志超则是兴柜TFT-LCD用PCB板设计厂,出货量与健鼎名列前茅,近几年获利耀眼,并计划股票上市中。 统盟...
摘要: 芯片解密人员都知道倒装芯片的芯片规模封装(CSP, chip scale package)通常是以矩阵条的形式处理的,而高性能零件是在载体或“船”中处理的。传统的CSP条状形式每条含有8~10个单元,CSP芯片尺寸范围从2.5~11 mm2。高性能芯片尺寸范围从11~26mm2,封装的变化从23~50mm2。 芯片处理(Die handling) 倒装芯片安装...
摘要: 首先,我们来看一对电源层/地线层这种简单的情况:它可看作为一个电容。可以认为电源层和地线层是电容的两个极板。要想得到较大的电容值,就需将两个极板靠得更近(距离D),并增大介电常数(ε▼r▼)。电容越大则阻抗越低,这是我们所希望的,因为这样可以抑制噪声。不管其它层怎样安排,主电源层和地线层应相邻,并处于叠层的中部。如果电源层和地线层间距较大,就会造成很大的电流环并带来很大的噪声...
无显示 无显示
博主信息
龙人PCB设计|电路板设计|芯片解密|PCB板设计|IC解密技术强信誉好值得信赖
加为好友
打个招呼
定制此作者文章
我的商铺
  • 访问量:95
  • 文章数:10
  • 评论数:8
  • 创建日期:2008-07-17 15:28:08
RSS订阅
个人资料
最新博文
最新评论
最近访客
我的文章分类
好友列表
最近更新博客
友情链接
New Document
编辑推荐