?????C???????????K1-K4???????LED
/* ?????K1-K4 ??????? LED
*/
??????????? K1 ??????????? LED?????????????????????????
K2 ???????????? 4 ? LED??K3 ???????????? 4 ? LED??K4 ??????????? LED
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
//???
void DelayMS(uint x)
{
uchar i;
while(x--) for(i=0;i<120;i++);
}
//??????
void main()
{
uchar k,t,Key_State;
P0=0xff;
P1=0xff;
while(1)
{
t=P1;
if(t!=0xff)
{
DelayMS(10);
if(t!=P1) continue;
//??? 4 λ??????????? XXXX1111(X ?????λ? 0????????? 1)
//????? 0000XXXX(X ?????λ? 1????????? 0)
Key_State=~t>>4;
k=0;
//??? 1 ????λ?????????????? k
while(Key_State!=0)
{
k++;
Key_State>>=1;
}
//????????? k ???? 4 ?????
switch(k)
{
case 1: if(P0==0x00) P0=0xff;
P0<<=1;
DelayMS(200);
break;
case 2: P0=0xf0;break;
case 3: P0=0x0f;break;
case 4: P0=0xff;
}
}
}

????admin ?????????2018-05-19