51小白,对于中断系统的不理解。
时间:10-02
整理:3721RD
点击:
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define d1 P0
#define d2 P2
uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uint temp,a,i,f;
sbit s1=P2^2;
sbit s2=P2^3;
sbit s3=P2^4;
sbit s4=P3^2;
void delay(uint z);
void main()
{ EA=1;
EX0=1;
IT0=0;
a=0;
s4=0;
if(f==7)
s4=1;
while(1)
{
s1=0;
s2=0;
s3=0;
if(a==16)
a=0;
temp=table[a];
d1=temp;
delay(1000);
a++;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void exter() interrupt 0
{ i=0;
temp=0xfe;
d2=temp;
delay(1000);
for(i=7;i>0;i--)
{
temp=_crol_(temp,1);
d2=temp;
delay(1000);
f++;
}
}
这是本人编的一个程序,其目的是为了数码管亮,进入中断。我实在不明白。中断如果选择IT0=0 电平出发方式 是不是必须有个低电平才能出发中断!我这上面外部中短0在P3^2口,所以我给他付了个低电平既 为0 那就是进入中断 可是这样 调不出中断系统 一直在中断里面!我现在对中断茫然了,他就是遇见中断去响应中断 ,执行完就返回程序,中断函数执行到 i=0就完了 可是 为什么呢 求大神解释!
#include<intrins.h>
#define uint unsigned int
#define d1 P0
#define d2 P2
uint code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uint temp,a,i,f;
sbit s1=P2^2;
sbit s2=P2^3;
sbit s3=P2^4;
sbit s4=P3^2;
void delay(uint z);
void main()
{ EA=1;
EX0=1;
IT0=0;
a=0;
s4=0;
if(f==7)
s4=1;
while(1)
{
s1=0;
s2=0;
s3=0;
if(a==16)
a=0;
temp=table[a];
d1=temp;
delay(1000);
a++;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void exter() interrupt 0
{ i=0;
temp=0xfe;
d2=temp;
delay(1000);
for(i=7;i>0;i--)
{
temp=_crol_(temp,1);
d2=temp;
delay(1000);
f++;
}
}
这是本人编的一个程序,其目的是为了数码管亮,进入中断。我实在不明白。中断如果选择IT0=0 电平出发方式 是不是必须有个低电平才能出发中断!我这上面外部中短0在P3^2口,所以我给他付了个低电平既 为0 那就是进入中断 可是这样 调不出中断系统 一直在中断里面!我现在对中断茫然了,他就是遇见中断去响应中断 ,执行完就返回程序,中断函数执行到 i=0就完了 可是 为什么呢 求大神解释!