#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; }
无中断发生,则单灯循环点亮,产生中断,则全部点亮。