AT89C52外部中断程序
扫描二维码
随时随地手机看文章
#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; //设置外部中断1为低电平触发
IT1=1; //设置外部中断1为下降沿触发
while(1)
{
dt=0x01;
for(i=0;i<8;i++)
{
P2=dt;
delay(DELAY);
dt<<=1;
}
}
}
void exter1() interrupt 2
{
P2=0xff;
}
无中断发生,则单灯循环点亮,产生中断,则全部点亮。