#include <reg51.h>
void Delay(unsigned int i)
{
unsigned int j;
for(;i>0;i--)
for(j=0;j<125;j++)
{;}
}
void main()
{
unsigned char design[9]={0xFF,0xFE,
0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};
unsigned char a;
for(;;)
{
for (a=0;a<9;a++)
{
Delay(500);
P1=design[a];
}
EA=1;
EX0=1;
EX1=1;
IT0=1;
IT1=1;
IP=0;
}
}
void int0_int(void) interrupt 0
{
for(;;)
{
P1=0x0f;
Delay(500);
P1=0xf0;
Delay(500);
}
}
void int1_int(void) interrupt 2
{
for(;;)
{
P1=0xff;
Delay(500);
P1=0;
Delay(500);
}
}
这个程序中IP是如何设定中断优先级的?
这个程序中为什么要用两个(EX0=1;EX1=1;)允许外部中断?外部中断触发控制位(IT0、IT1)也为什么要设连个?
小弟是菜鸟,请大虾帮帮小弟。
EA=1;//开放总中断
EX0=1;//允许外部中断0中断
EX1=1;//允许外部中断1中断
IT0=1;//设置外部中断0为边沿中断方式
IT1=1;//设置外部中断1为边沿中断方式
小弟还有一事不理解,“1”应该是高电平的,我看前面的资料,一般是在低电平情况向是允许操作的。为什么这里都是在高电平情况下允许操作呢?
编译器里规定是高电平有效,这个是默认的,没有为什么
EA=1;//开放总中断
EX0=1;//允许外部中断0中断
EX1=1;//允许外部中断1中断
IT0=1;//设置外部中断0为边沿中断方式
IT1=1;//设置外部中断1为边沿中断方式
小弟还有一事不理解,“1”应该是高电平的,我看前面的资料,一般是在低电平情况向是允许操作的。为什么这里都是在高电平情况下允许操作呢?
就是高电平的时候时候允许工作啊,什么资料说低电平工作啊