描 述:按键控制
***************************************************/ #include<reg52.h> //包含一个51标准内核的头文件
sbit K1=P3^5; //定义IO口 sbit K2=P3^4; //定义IO口 sbit K3=P3^3; //定义IO口 sbit K4=P3^2; //定义IO口 sbit L1=P1^0; sbit L2=P1^1; sbit L3=P1^2; sbit L4=P1^3;
sbit DU=P2^6; sbit WE=P2^7;
void delay10ms(void) //延时程序 { unsigned char i,j; for(i=20;i>0;i--) for(j=248;j>0;j--);
}
void main(void) //主函数 { K1=1 ; K2=1 ; K3=1 ; K4=1 ; L1=1; L2=1; L3=1; L4=1; DU=1; WE=1; P0=0xff; //赋初值 while(1) {
if(K1==0) //如果按键1按下 { delay10ms(); if(K1==0) L1=0; //灯亮 DU=0; P0=0xf9;
DU=1;
delay();
WE=0;
P0=OX??
WE=1;
p0=0XFF;消隐
delay();
} else //没按下 { L1=1; //灯灭 } if(K2==0) //如果按键2按下 { delay10ms(); if(K2==0) L2=0; //灯亮 DU=0; P0=0xa4; //数码管显示数字
DU=1;
WE=0;
P0=OX??
WE=1;
p0=0XFF;消隐
delay();
} else //没按下 { L2=1; //灯灭 } if(K3==0) //如果按键3按下 { delay10ms(); if(K3==0) L3=0; //灯亮 DU=0; P0=0xb0;
DU=1;
WE=0;
P0=0x??;
WE=1;
p0=0xff;
} else //没按下 { L3=1; //灯灭 } if(K4==0) //如果按键4按下 { delay10ms(); if(K4==0) L4=0; //灯亮 DU=0; WE=0; P0=0x99; } else //没按下 { L4=1; //灯灭 } }
[此贴子已经被作者于2012-11-26 11:26:20编辑过]
|