#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define DELAY 1000
void delay(uint z) //1ms
{
uint x,y;
for(x=z;x>0;x--)
for(y=111;y>0;y--);
}
void main()
{
uchar i,dt;
EA=1; //開總中斷
EX1=1; //開外部中斷1
// IT1=0; //設(shè)置外部中斷1為低電平觸發(fā)
IT1=1; //設(shè)置外部中斷1為下降沿觸發(fā)
while(1)
{
dt=0x01;
for(i=0;i<8;i++)
{
P2=dt;
delay(DELAY);
dt<<=1;
}
}
}
void exter1() interrupt 2
{
P2=0xff;
}
無中斷發(fā)生,則單燈循環(huán)點(diǎn)亮,產(chǎn)生中斷,則全部點(diǎn)亮。