|
#include "reg52.h"
typedef unsigned int u16; //對數(shù)據(jù)類型進行聲明定義
typedef unsigned char u8;
sbit k1=P3^1; //定義P31口是k1
sbit k2=P3^0; //定義P30口是k2
sbit led=P2^0; //定義P20口是led
sbit led1=P2^1; //定義P21口是led1
sbit led2=P2^2; //定義P22口是led2
void delay(u16 i)
{
while(i--);
}
int key,linshizhi;
void keypros()
{
if(k1==0) //檢測按鍵K1是否按下
{
delay(1000); //消除抖動 一般大約10ms
if(k1==0)
{
key=1;
}
}
if(k2==0) //檢測按鍵K2是否按下
{
delay(1000); //消除抖動 一般大約10ms
if(k2==0)
{
key=2;
}
}
if(k1==0&&k2==0) //檢測按鍵K1,K2是否按下
{
delay(1000); //消除抖動 一般大約10ms
if(k1==0&&k2==0)
{
key=3;
}
}
}
void xianshi()
{
linshizhi=key;
if(linshizhi==1){led=~led;}
if(linshizhi==2){led1=~led1;}
if(linshizhi==3){led2=~led2;}
key=0;
}
void main()
{
while(1)
{
keypros(); //按鍵處理函數(shù)
xianshi();
}
}
實際實現(xiàn)不了
|
|