33. 4×4键盘及8位数码管显示构成的电子密码锁
时间:11-18
来源:互联网
点击:
interrupt1using0
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
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)//soundalarmsignal
{
P1_7=~P1_7;
}
aa++;
if(aa==800)//lightalarmsignal
{
aa=0;
P1_0=~P1_0;
}
second3++;
if(second3==6400)
{
second3=0;
errorflag=0;
rightflag=0;
alarmflag=0;
bb=0;
aa=0;
}
}
elseif((errorflag==0)&&(rightflag==1))
{
P1_0=0;
cc++;
if(cc<1000)
{
okflag=1;
}
elseif(cc<2000)
{
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;
}
}
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
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)//soundalarmsignal
{
P1_7=~P1_7;
}
aa++;
if(aa==800)//lightalarmsignal
{
aa=0;
P1_0=~P1_0;
}
second3++;
if(second3==6400)
{
second3=0;
errorflag=0;
rightflag=0;
alarmflag=0;
bb=0;
aa=0;
}
}
elseif((errorflag==0)&&(rightflag==1))
{
P1_0=0;
cc++;
if(cc<1000)
{
okflag=1;
}
elseif(cc<2000)
{
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;
}
}
4×4键盘数码管显示电子密码 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)