|
然后我感覺那個(gè)k2,和K1都沒有用,
你看一下我改的程序
#include "reg51.h"
sbit led1=P2^4;
sbit led2=P2^5;
sbit led3=P2^6;
sbit led4=P2^7;
sbit k3=P3^2;
sbit k4=P3^3;
unsigned char presskeynum=0;
void delay(unsigned int i)
{
unsigned int j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
void key()
{
if(presskeynum==1) //開關(guān)按下1次
{
delay(30);
led1=0; //P2^4燈亮
delay(30);
led2=0; //亮
}
if(presskeynum==2) //按下2次 按下兩次怎么判斷啊
{
delay(10);
led3=0; // P2^6燈亮
delay(10);
led4=0;
led1=~led1;
led2=~led2;
}
}
void Int0INit() //外部中斷必須要的三個(gè)條件
{
IT0=1; //外部中斷觸發(fā)方式選擇0:低電平觸發(fā);1:下降沿觸發(fā)
EX0=1;
EA=1; //總
}
void main()
{
led1=1;
led2=1;
led3=1;
led4=1; //全是暗的
Int0INit();
while(1);
}
void Int0() interrupt 0
{
delay(100); //消抖
if(k3==0)
{
presskeynum++;
if(presskeynum==3)
presskeynum=0;
else key();
}
}
功能跟你的想象的可能有點(diǎn)不一樣 |
|