8067|23

12

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

关于中断的两个问题.. 求助~~ [复制链接]

刚学单片机没多久.. 有些问题想请教下..

1. 程序里设置了一个外部中断,一个计时器中断, 假如程序正在运行外部中断时, 刚好也出发了计时器中断, 那么计时器中断是否要等到外部中断内的代码都执行完后再执行?
2.当程序里设置了多个中断时, 每次进入某个中断时,关闭总中断(结束时候在打开)是否合理? 这样处理会不会引起丢失其他可能发生的中断? 怎样处理比较合理?

请大家帮帮忙.. 先谢谢了~
此帖出自51单片机论坛

最新回复

我也是刚学51不久,做东西少,T0 T1管脚 接受外接一个脉冲,便可 计时/计数一次吧?  详情 回复 发表于 2011-7-18 09:32
点赞 关注
 

回复
举报

1万

帖子

141

TA的资源

版主

沙发
 
A1、首先要看中断优先级,高优先级的可以打断低优先级的,反之则不能,默认情况下,外中断的优先级高于定时器中断,但可以通过中断优先级设定寄存器来改变。
A2、相应中断后关闭总中断允许是否可行要看你的系统功能,这时新的中断将不会被执行,但有时却可以利用此法,多数情况下则不应该如此设计。
此帖出自51单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 
问题1:建议仔细阅读51中关于中断优先级的设计
问题2:这个是中断冲突处理的问题。其产生的原因是程序设计不合理导致的。合理的软件结构可以尽量避免中断冲突。
此帖出自51单片机论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

4
 
先感谢上面两位的回答。。

因为现在做的小项目里要用到 定时器中断和外部中断,其中定时器中断当然是定时发生,而外部中断是不定期发生的。 理论上来讲,很可能会出现相冲突的情况。所以想了解一下相冲突的时候如何处理才好。。
还有就是在没有用软件控制优先级的情况下,在执行某个中断时,如果又发生了其他中断,那么后面这个中断会丢失? 还是会延迟执行?
此帖出自51单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

5
 
首先把SPI读写独立起来,用缓冲区替换。其次要做互锁。
此帖出自51单片机论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

6
 
。。。
对我这个初学者来说..都是没怎么听过的概念....就不麻烦你给我解释了...
不过如果有相关上面内容的参考资料的话,能不能给介绍下...
此帖出自51单片机论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(高级)

7
 
要看两个中断的作用。保证最关键的先执行。
此帖出自51单片机论坛
 
 
 

回复

187

帖子

0

TA的资源

一粒金砂(中级)

8
 
顶一楼的
此帖出自51单片机论坛
 
个人签名油画|http://www.chndafen.com
 
 

回复

1万

帖子

16

TA的资源

版主

9
 
刚学单片机没多久.. 有些问题想请教下..

1. 程序里设置了一个外部中断,一个计时器中断, 假如程序正在运行外部中断时, 刚好也出发了计时器中断, 那么计时器中断是否要等到外部中断内的代码都执行完后再执行?
答:这要看你设的计时器中断同外部中断谁的优先级高,若定高就先执行定,当然外部中断被压栈保存。然后再出栈执行。
2.当程序里设置了多个中断时, 每次进入某个中断时,关闭总中断(结束时候在打开)是否合理? 这样处理会不会引起丢失其他可能发生的中断? 怎样处理比较合理?

答:这样处理不好,你点灯不让别人点灯,太霸道了,做人也不能这样做地。

3.理论上来讲,很可能会出现相冲突的情况。所以想了解一下相冲突的时候如何处理才好。。

答:把优先级搞明白,同级是不能抢同级地,把一些不重要的按排到下一级,就是后执行
此帖出自51单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

10
 
这就是为什么 外部中断的优先级(51而言,不特别设置优先级的情况下而言)
外部中断的优先级永远高于同号的定时器中断。

不定期碰上定期,相冲突的可能性很大。
但是,一起中断就一起中断,你怕什么呢?
外部中断的一般比较紧急。CPU只是跑出去执行完它,再回来,没什么可担心的。

这就看你的程序怎么安排流程了。
单独讨论这个问题没有意义,我想知道你面对的问题具体是什么
此帖出自51单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

11
 

回复 9楼 ddllxxrr 的帖子

2.当程序里设置了多个中断时, 每次进入某个中断时,关闭总中断(结束时候在打开)是否合理? 这样处理会不会引起丢失其他可能发生的中断? 怎样处理比较合理?

答:这样处理不好,你点灯不让别人点灯,太霸道了,做人也不能这样做地。

这样是可以的,而且很多人也这么用,只要控制好中断处理时间即可。这样做的好处是可以避免中断无响应,坏处是可能无法及时响应高级中断

3.理论上来讲,很可能会出现相冲突的情况。所以想了解一下相冲突的时候如何处理才好。。

答:把优先级搞明白,同级是不能抢同级地,把一些不重要的按排到下一级,就是后执行

并不是后执行,而是无法剥夺。
此帖出自51单片机论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

12
 
其实是前几天弄了个盖革管 试着做个简单的 辐射探测仪。。
通过盖革管的原理 使每次接受到一次辐射时 产生一次外部中断,计时器中断时用来计时,最后根据一些公式计算并显示辐射值。。
在我看来 外部中断和计时器中断同样重要。。 不知道如何处理中断冲突才好。。
此帖出自51单片机论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

13
 
关于 优先级。。 (在不用软件通过设置 IP 来改变优先级的情况下) 默认的优先级仅仅是说多个中断同时产生时 会优先执行优先级高的中断吧。。 而只要有个中断在执行, 其他所有中断都不能打断它,不管默认优先级是不是比这个正在执行的中断高。。
不知道这个理解对不对。。
此帖出自51单片机论坛
 
 
 

回复

1025

帖子

1

TA的资源

纯净的硅(高级)

14
 
看看你的机器是否允许中断嵌套,如果允许的话再看能嵌套几级,这个就看你硬件堆栈的深度了

其次关于执行顺序就看你机器的中断优先级

很easy的问题,多多看书或者手册就明白了
此帖出自51单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

15
 

原帖由 lingxiabadu 于 2011-6-15 09:15 发表 其实是前几天弄了个盖革管 试着做个简单的 辐射探测仪。。通过盖革管的原理 使每次接受到一次辐射时 产生一次外部中断,计时器中断时用来计时,最后根据一些公式计算并显示辐射值。。在我看来 外部中断和计时器中 ...

这个电路很简单,没必要用外部中断。用两个定时器,一个从外部计数,连接管子,当管子接收到一次辐射即发生一次脉冲,产生计时器计数。用另一个定时器定时中断,取计数器的数,即可直接得出辐射量。

此帖出自51单片机论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

16
 
就是说一个做定时器,一个做计数器吧。。
虽然也知道定时器中断可以当计数器中断用... 不过还真没用到过计数器...  -_-!! (初学者啊...)
如果这么做的话.. 貌似计数器只做计数就可以了..(除非计满了..来个中断.) 也就没有中断冲突了..是不是这样?
在问个东西.. 如何实现.. 发生一次脉冲 计数器就计一次数呢....
此帖出自51单片机论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

17
 
原来有 T0,T1管脚啊..  -_-!!
此帖出自51单片机论坛
 
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

18
 
仔细阅读手册就不会发生你现在的问题
此帖出自51单片机论坛
 
 
 

回复

12

帖子

0

TA的资源

一粒金砂(中级)

19
 
实在感谢。。3Q~
此帖出自51单片机论坛
 
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

20
 
此帖出自51单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表