新闻中心

EEPW首页>嵌入式系统>设计应用> 密码锁设计(4×4键盘及8位数码管)

密码锁设计(4×4键盘及8位数码管)

作者: 时间:2013-04-02 来源:网络 收藏

keyoverflag=0;//?????????

}

}

P3=0xff;

P3_7=0;

temp=P3;

temp=temp 0x0f;

if (temp!=0x0f)

{

for(i=10;i>0;i--)

for(j=248;j>0;j--);

temp=P3;

temp=temp 0x0f;

if (temp!=0x0f)

{

temp=P3;

temp=temp 0x0f;

switch(temp)

{

case 0x0e:

key=0;

break;

case 0x0d:

key=13;

break;

case 0x0b:

key=14;

break;

case 0x07:

key=15;

break;

}

temp=P3;

P1_1=~P1_1;

if((key>=0) (key10))

{

if(keycount6)

{

getps[keycount]=key;

dispbuf[keycount+2]=19;

}

keycount++;

if(keycount==6)

{

keycount=6;

}

else if(keycount>6)

{

keycount=6;

keyoverflag=1;//key overflow

}

}

else if(key==12)//delete key

{

if(keycount>0)

{

keycount--;

getps[keycount]=0;

dispbuf[keycount+2]=16;

}

else

{

keyoverflag=1;

}

}

else if(key==15)//enter key

{

if(keycount!=pslen)

{

errorflag=1;

rightflag=0;

second3=0;

}

else

{

for(i=0;ikeycount;i++)

{

if(getps[i]!=ps[i])

{

i=keycount;

errorflag=1;

rightflag=0;

second3=0;

goto a2;

}

}

errorflag=0;

rightflag=1;

a2: i=keycount;

}

}

temp=temp 0x0f;

while(temp!=0x0f)

{

temp=P3;

temp=temp 0x0f;

}

keyoverflag=0;//?????????

}

}

}

}

void t0(void) interrupt 1 using 0

{

TH0=(65536-500)/256;

TL0=(65536-500)%6;

flashcount++;

if(flashcount==8)

{

flashcount=0;

P0=dispcode[dispbuf[dispcount]];

P2=dispbit[dispcount];

dispcount++;

if(dispcount==8)

{

dispcount=0;

}

}

if((errorflag==1) (rightflag==0))

{

bb++;

if(bb==800)

{

bb=0;

alarmflag=~alarmflag;

}

if(alarmflag==1)//sound alarm signal

{

P1_7=~P1_7;

}

aa++;

if(aa==800)//light alarm signal

{

aa=0;

P1_0=~P1_0;

}

second3++;

if(second3==6400)

{

second3=0;

errorflag=0;

rightflag=0;

alarmflag=0;

bb=0;

aa=0;

}

}

else if((errorflag==0) (rightflag==1))

{

P1_0=0;

cc++;

if(cc1000)

{

okflag=1;

}

else if(cc2000)

{

okflag=0;

}

else

{

errorflag=0;

rightflag=0;

P1_7=1;

cc=0;

oka=0;

okb=0;

okflag=0;

P1_0=1;

}

if(okflag==1)

{

oka++;

if(oka==2)

{

oka=0;

P1_7=~P1_7;

}

}

else

{

okb++;

if(okb==3)

{

okb=0;

P1_7=~P1_7;

}

}

}

if(keyoverflag==1)

{

P1_7=~P1_7;

}

}


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭