采用单片机系统、四路按键、四个LED灯、一个数码管,学习按键检测的基本原理,实现四路按键的检测,当检测到某一按键按下,点亮对应LED等,并在数码管显示对应的按键号。 跪求啊 最好在这个程序上修改
/*************************************************** 描 述:按键控制 ***************************************************/ #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; WE=1; P0=0xf9; } else //没按下 { L1=1; //灯灭 } if(K2==0) //如果按键2按下 { delay10ms(); if(K2==0) L2=0; //灯亮 DU=0; WE=1; P0=0xa4; } else //没按下 { L2=1; //灯灭 } if(K3==0) //如果按键3按下 { delay10ms(); if(K3==0) L3=0; //灯亮 DU=0; WE=1; P0=0xb0; } else //没按下 { L3=1; //灯灭 } if(K4==0) //如果按键4按下 { delay10ms(); if(K4==0) L4=0; //灯亮 DU=0; WE=1; P0=0x99; } else //没按下 { L4=1; //灯灭 } } }
描 述:按键控制
***************************************************/
#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; //灯灭
}
}
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |