代码:
#include "reg51.h"
unsigned char led[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
void delay(unsigned int time){
while(time--);
}
void init(){
EA = 1; // 开启总中断
EX0 = 1; // 允许外部中断0中断
IT0 = 1; // 设置外部中断0为跳沿触发
}
// 中断后执行的操作
void init0() interrupt 0{
unsigned char n;
EX0 = 0; // 防止重复触发外部中断0
for (n = 0; n < 8; n++){
P1 = ~led[n];
delay(10000);
}
EX0 = 1; // 恢复
}
void main(){
init();
while(1){ P1 = 0;}
}