新手求助 中断之后 为什么主程序还会运行

2019-07-16 05:43发布

本帖最后由 骑士城堡 于 2012-5-18 20:44 编辑

本人刚学单片机 用的是89C52
流水灯程序如下:
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit c=P3^5;
uchar a,b;
void delay();
void main()
{
EA=1;
EX0=1;
a=0xfe;
while(1)
{  
  P0=a;
  delay();
  a=_crol_(a,1);
  c=1;
  delay();
}

}
void delay()
{ uint x,y;
for(x=80;x>0;x--)
  for(y=200;y>0;y--);
}
void exter0() interrupt 0
{
c=0;
}
P3.5接的是蜂鸣器 当我把P3.2接地时 蜂鸣器响  但流水灯仍在走  只不过走的比较慢 2s左右移一位
接地线去掉后 正常运行
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
123478288
1楼-- · 2019-07-16 10:52
说明清楚一点,谢谢
“P3.2接地时 蜂鸣器  但流水灯仍”
骑士城堡
2楼-- · 2019-07-16 11:42
123478288 发表于 2012-5-18 19:42
说明清楚一点,谢谢
“P3.2接地时 蜂鸣器  但流水灯仍”

已修改
跳跳糖儿
3楼-- · 2019-07-16 12:18
你想达到什么样的现象呢?
跳跳糖儿
4楼-- · 2019-07-16 12:23
 精彩回答 2  元偷偷看……
骑士城堡
5楼-- · 2019-07-16 13:38
跳跳糖儿 发表于 2012-5-18 21:10
中断到了只是到了中断的地方执行中断相应的程序,回来后主程序照样在while(1)里跑啊 ...

中断是低电平触发    那一直接低电平  中断不会结束吧
骑士城堡
6楼-- · 2019-07-16 16:02
跳跳糖儿 发表于 2012-5-18 21:09
你想达到什么样的现象呢?

效果是接地后  流水灯不流动  蜂鸣器响 拔掉后 蜂鸣器不响 流水灯继续
我想知道为什么现在接地后 流水灯还流动 但是比之前要慢  而蜂鸣器一直响  拔掉之后就正常了

一周热门 更多>