采用單片機系統、四路按鍵、四個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.raoushi.com/bbs/) | Powered by Discuz! X3.1 |