c8051进入中断的问题!

[复制链接]
3601|6
 楼主| czhlcai 发表于 2007-3-21 16:19 | 显示全部楼层 |阅读模式
大家好,如果有两个中断,优先级一高一低。

1。如果低优先级中断产生(由于有中断延时,还未进入中断)这时,高优先级中断突然来了(也有中断延时),是直接进入高中断,还是先进入低中断再立即进入高中断?

2。如果低优先级中断产生,且刚进入中断,第一句话EA=0未执行或未执行完(因为执行要有2个机器周期)这时突然来了高优先级中断?那么会进入高优先级中断吗?因为我不想用中断嵌套,谢谢
ayb_ice 发表于 2007-3-21 16:54 | 显示全部楼层

随便说说

  1: 直接进入高中断
  2: 不存在未执行完成情况(一旦执行一定会执行完),那么如果还未执行当然是进入高优先级中断,这都是针对标准51而言,有些型号的C8051F必须连续执行EA=0,EA=0才能确保和标准51的EA=0的效果相同(详细情况请看DATASHEET),这是由于流水线问题引起的,后来的解决了这个问题.
  不想用中断全部中断设为同一优先级就可以用了.
 楼主| czhlcai 发表于 2007-3-21 19:29 | 显示全部楼层

谢谢

不是有自然优先级吗?优先级从设到低,怎么会设为同一优先级。
ayb_ice 发表于 2007-3-21 19:33 | 显示全部楼层

随便说说

  是有自然优先级,但感觉你理解有误,还是多看看书吧.
 楼主| czhlcai 发表于 2007-3-22 10:22 | 显示全部楼层

谢谢ayb_ice我理解是有误

书上是这么说的“如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应,次序为:外部中断0->定时计数器中断0->外部中断1->定时计数器中断1->串行中断”
otisyf 发表于 2007-3-22 19:05 | 显示全部楼层

re

这也是单片机片内优先级!从高到低!
平常人 发表于 2007-3-22 19:55 | 显示全部楼层

问题一:先进入低优先级中断! 问题二:不会!

问题一:所谓“中断延时”表示已经过优先级仲裁进入中断响应阶段,所以直接进入先来的低优先级中断处理程序。

问题二:这种情况的高优先级中断比前种情况来得更晚,他早已错过了优先级仲裁阶段。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

136

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部