网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

MCS-51中断系统中的复位问题

    INTEL公司的MCS-51系列单片机因其强大的功能和低廉的价格,在我国各个领域得到广泛的应用,特别是中断系统更加强了它处理突发事件的能力和响应速度。

    MCS-51系列单片机提供了多个中断源(8051提供5个,8052提供了6个中断源),每个中断源可编程两种级别的中断,高级中断请求和低级中断请求,因此可实现两级中断服务嵌套。即使同一级别的中断源,在同时请求中断时,CPU响应也有先后顺序的区别。因此MCS-51在实时系统,仪器仪表中使用十分广泛,中断系统的设计则是软件设计中的一个关键点,处理不好往往使软件达不到设计效果。

    下面是笔者在应用过程中曾遇到过的一个问题。
    我们设计的一台电力测量仪含有键盘和秒时钟,键盘中断采用INT0,秒时钟用T0,INT0设置为高优先级别中断,T0为低级别,秒中断服务占有约750ms。要求CPU对键盘具有很高的响应速度,而且一旦接收有效的键盘命令,使程序重新从等待处进入的测量状态,不再回到被键盘打断的地方。软件流程如图1所示。

                                                                                最初的键盘服务程序末尾如下:    
 
         ic72 嵌入系统                ic72 嵌入系统

    在调试过程中,常常响应键盘中断后,不能正常进入秒中断,只在WAIT处等待循环,此时EA=1,TR0=1,TF0=1,可见EA=1,TR0=1,TF0=1不是中断T0响应的充要条件。

    经多方查询有关资料发现,MCS-51系列单片机的中断系统有两个不可寻址的优先状态触发器,它们的置位状态,一个指示CPU正在执行的高优先级中断服务程序,另一个指出正在执行低优先级中断服务,这两个触发器的置位状态分别屏蔽所有中断申请和同一优先级的其它中断请求。

    秒中断服务需要750ms,当按下键盘时有75%的机率正在执行秒中断服务程序,指示执行低优先级中断服务的触发器已置位。响应键盘中断后,指示执行高优先级中断服务的触发器置位,而整个过程中只执行了一次RETI指令,指示CPU正在执行T0中断的触发器没有复位,即使TR0=1,TF=1,EA=1,CPU仍认为程序已执行秒中断服务,因而不能再次进入秒中断服务,为此,笔者将原程序改为

ic72 嵌入系统

    汇编装入系统后,一切正常。笔者进一步验证其它中断也有类似现象。

 

热门搜索:BTA12-800TWRG 2838322 PS480806 2838733 UL24RA-15 TLM626NS CC2544RHBR 02M1001JF 01C5001JF SS7415-15 LED12-C2 PS-615-HG 01M2251SFC3 PDUMV20 TLP808NETG TLM615SA TLM812SA PS240810 6SPDX 6NX-6 SBB1602-1 PDU2430 01T1001JF 602-15 BSV52R
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质