#include
#include
#define uint unsigned int
#define uchar unsigned char
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;
sbit LED5=P0^4;
sbit LED6=P0^5;
sbit LED7=P0^6;
sbit LED8=P0^7;
void Delay(uint ms)
{
uint i,j;
for(i=0;i
}
void main()
{
EX0=1;//开中断0
IT0=1;//下降沿触发
EX1=1;//开中断1
IT1=1;//下降沿触发
EA=1;//开总中断
LED1=1;
LED2=1;
LED3=1;
LED4=1;
LED5=1;
LED6=1;
LED7=1;
LED8=1;//LED初始状态为全灭
}
void INT0() interrupt 0
{
uint i;
for(i=0;i<4;i++)
{
LED8=0;
Delay(500);
LED8=1;
}
}
void INT1() interrupt 1
{
uint i;
for(i=0;i<4;i++)
{
LED1=0;
LED2=0;
Delay(500);
LED1=1;
LED2=1;
LED3=0;
LED4=0;
Delay(500);
LED3=1;
LED4=1;
LED5=0;
LED6=0;
Delay(500);
LED5=1;
LED6=1;
LED7=0;
LED8=0;
Delay(500);
LED7=0;
LED8=0;
}
}
备注:1、led对应引脚可以修改,程序中默认单片机引脚低电平点亮led,如果是高电平点亮
led,反过来设置引脚电平就可以了;
2、延时时间可以按自己需要修改;
3、#include
52,一定不能错,否则会出错。
你可以再主函数里面写一个条件语句,在这个条件语句里写LED8亮8灭闪烁4次。然后在外部中断中写入达成这个条件的表达式