#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit flag=P3^2;//外部中断信号产生脚
sbit key=P3^0;//控制flag产生下降沿
sbit led=P2^0;
void delay(int a){
int x,y;
for(x=0;x<=a;x++)
for(y=110;y>=0.;y--);
}
/* void le(void)
{ int a ;
while(1){
P1=0x01;
for(a=0;a<8;a++){
P1=_cror_(P1,1);
delay(20);}} //led循环
} */
//外部中断0初始化
void intlInit(void)
{
IT0=1; // 外部中断0下降沿触发
IE=0; //清除标志位
EX0=1; // 开外部中断
EA=1; //开总中断
}
//主函数
void main(){
void intlInit(void);
if(key==0)
{ delay(1);
if(key==0)//P3^0脚
{
flag=1; //P3^2脚
flag=0;//外部产生下降沿
}
} else flag=1;
}
// 外部中断0中服务程序
void int1(void) interrupt 0
{
led=~led;
P1=0x00;
delay(20);
}
|