3040|4

55

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于C51外部电平中断的简单问题 [复制链接]

#include
main()
{   EA=1;
EX0=1;
IT0=0;
while(1)
P1=0xff;
}
void exter0() interrupt 0
{
P1=0;
}
就这个简单的外部中断,INT0我直接用开关接地了。为什么显示LED是闪亮的,而不是常亮的呢?

我是这样觉得的,如果不对,麻烦帮我改正一下,希望不要光讲看书,我看了书了,可是还是不怎么明白,希望能指点一下。

因为外部中断一直都在,所以应该一直执行中断,应该不会进入到主函数,可灯是闪亮的,说明程序执行了P1=0xff.

希望能指点一下我哪里错了。谢谢

最新回复

Great_Bug讲的就是我所想的,一楼讲的我知道。我原先以为中断执行完后又继续执行中断。二楼讲的我明白了。谢谢  详情 回复 发表于 2009-12-14 22:48
点赞 关注

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
应该来说是不停的执行P1=0xff,因为是在一个while(1)的死循环里面,当有中断来时会执行中断服务程序,也就是P1=0,执行完成后执行继续回到P1=0xff位置执行。然后再继续执行P1=0,这样反复的进行,所以你看到是闪亮不是常亮。
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
51有个特性.....在中断返回后,至少要执行一条指令,才会再响应另一个中断....
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
不过这频率应该是很高的,你该看不到闪才对.....该是亮度下降的状况.......
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

5
 
Great_Bug讲的就是我所想的,一楼讲的我知道。我原先以为中断执行完后又继续执行中断。二楼讲的我明白了。谢谢
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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