单片机用于电子密码锁设计

[10-10 20:38:44]   来源:http://www.88dzw.com  电子制作   阅读:8313

文章摘要:TL0=(65536-500)%256;TR0=1;ET0=1;EA=1;while(1){if(cmpflag==0){if(P3_6==0) //function key{for(i=10;i>0;i--)for(j=248;j>0;j--);if(P3_6==0){if(hibitflag==0){funcount++;if(funcount==pslen+2){ funcount=0;cmpflag=1;}P1=dispcode[funcount];}else{second3=0;}while(P3_6==0);}}if(P3_7==0) //digit key{for(i

单片机用于电子密码锁设计,标签:电子小制作,http://www.88dzw.com
TL0=(65536-500)%256;
TR0=1;
ET0=1;
EA=1;
 
while(1)
{
if(cmpflag==0)
{
if(P3_6==0) //function key
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_6==0)
{
if(hibitflag==0)
{
funcount++;
if(funcount==pslen+2)
{
 funcount=0;
cmpflag=1;
}
P1=dispcode[funcount];
}
else
{
second3=0;
}
while(P3_6==0);
}
}
 
if(P3_7==0) //digit key
{
for(i=10;i>0;i--)
for(j=248;j>0;j--);
if(P3_7==0)
{
 if(hibitflag==0)
{
digitcount++;
if(digitcount==10)
{
digitcount=0;
}
 P2=dispcode[digitcount];
if(funcount==1)
{
pslen=digitcount;
templen=pslen;
}
else if(funcount>1)
{
psbuf[funcount-2]=digitcount;
}
}
else
{
second3=0;
}
while(P3_7==0);
}
}
}
else
{
cmpflag=0;
for(i=0;i<pslen;i++)
{
if(ps[i]!=psbuf[i])
{
hibitflag=1;
 i=pslen;
errorflag=1;
rightflag=0;
cmpflag=0;
second3=0;
goto a;
}
}
cc=0;
errorflag=0;
 rightflag=1;
hibitflag=0;
a: cmpflag=0;
}
}
}
 
void t0(void) interrupt 1 using 0
{
TH0=(65536-500)/256;
TL0=(65536-500)%256;
 
if((errorflag==1) && (rightflag==0))
{
bb++;
if(bb==800)
{
 bb=0;
alarmflag=~alarmflag;
}
if(alarmflag==1)
{
P0_0=~P0_0;
}
 
aa++;
if(aa==800)
{
aa=0;
P0_1=~P0_1;
}
second3++;
if(second3==6400)
{
second3=0;
hibitflag=0;
errorflag=0;
rightflag=0;
cmpflag=0;
P0_1=1;
alarmflag=0;
bb=0;
aa=0;
}
}
 
if((errorflag==0) && (rightflag==1))
{
 P0_1=0;
cc++;
if(cc<1000)
{
okflag=1;
}
else if(cc<2000)
{
okflag=0;
}
else
{
errorflag=0;
rightflag=0;
hibitflag=0;
cmpflag=0;
P0_1=1;
cc=0;
oka=0;
okb=0;
okflag=0;
P0_0=1;
}
if(okflag==1)
{
oka++;
if(oka==2)
{
oka=0;
P0_0=~P0_0;
}
}
else
{
okb++;
if(okb==3)
{
okb=0;
P0_0=~P0_0;
}
}
}
}

上一页  [1] [2] 


Tag:电子制作电子小制作维修教程知识 - 电子制作

《单片机用于电子密码锁设计》相关文章