proteus中仿真外部中断信号持续低电平时,程序仍然在继续执行,只是速度变慢了,是怎么回事
程序:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar num;
uchar code table[]={
0x3f , 0x06 , 0x5b , 0x4f , 0x66 , 0x6d,
0x7d , 0x07 , 0x7f , 0x6f , 0x77 , 0x7c,
0x39 , 0x5e , 0x79 , 0x71 , 0x00};
sbit dula=P2^6;
sbit wela=P2^7;
void delay();
void main()
{
EA=1;
EX0=1;
wela=1;
P0=0x00;
wela=0;
while(1)
{
for(num=0;num<16;++num)
{
P1=0xff;
dula=1;
P0=table[num];
dula=0;
delay();
}
}
}
void delay()
{
uint x,y;
for(x=150;x>1;x--)
for(y=450;y>1;y--);
}
void exter0() interrupt 0
{
P1=0x00;
}
仿真主要部件:其中csda是连接的外部中断0.。。
主程序运行正常,但是中断后,主程序数字还在慢慢的跳,速度很慢
我那个去。。。。
自己弄出来了。。。。
在外部中断中加一个无线循环就行了
while(1);
但是为什么呢。。。。
中断程序运行完之后,是进行了什么
持续的中断信号起了什么作用,对有限的中断程序有什么用。。。
难道是在主程序了中断程序之间不停的跳转??
我去。。。
我太有才了
又自己搞明白了。。。
还是不行啊。。。。。改了之后又跳不出中断了。。。