采用單片機系統(tǒng)、四路按鍵、四個LED燈、一個數(shù)碼管,學習按鍵檢測的基本原理,實現(xiàn)四路按鍵的檢測,當檢測到某一按鍵按下,點亮對應LED等,并在數(shù)碼管顯示對應的按鍵號。 跪求啊 最好在這個程序上修改
/*************************************************** 描 述:按鍵控制 ***************************************************/ #include<reg52.h> //包含一個51標準內(nèi)核的頭文件 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) //主函數(shù) { 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標準內(nèi)核的頭文件
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) //主函數(shù)
{
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; //數(shù)碼管顯示數(shù)字
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.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |