基于51单片机的电子密码锁设计

求大神帮忙设计~拜托啦~~... 求大神帮忙设计~拜托啦~~ 展开
 我来答
匿名用户
推荐于2018-05-17
展开全部
#include<reg51.h>
#define uint unsigned int
char leab[]={0x7f,0x7f,0x7f,0x7f,0x7f,0x7f};
delay(uint z)
{
 uint x;
 for(;z<0;z--)
 for(x=0;x<10;x++);//1ms
}
 disp()
 {
 char x,y;
 for(x=5;x>=0;x--)
 {for(y=0;y<10;y++)
 {P0=0;
  P2=x;
  P0=leab[x];
  delay(10);
  P0=0;}
 }
 }
 char sao(char g)
 { char d;
  switch(g)
 {
   case 1:d=1; break;
   case 2:d=2; break;
   case 4:d=3; break;
   case 8:d=4; break;
   default:d=0; break;
   }
   return d;
 }
char key()

  char H=0,L=0,d,d1,d2;
  while(1)
 { d=0;
   P1=0xf0;
   if(P1!=0xf0)
   {
     delay(10);
     if(P1!=0xf0)
  {
    H=(~(P1^0x0f))>>4;
    P1=0xff;
    P1=0x0f;
    L=~(P1^0xf0);   
     d2=sao(L);
    d1=sao(H);
    d=(d1-1)*4+d2;
    P2=d;
    }}
   if(d!=0) break;
    disp();
     }
     return d;
 }
main() 
{
char leab1[]={0x00,0x00,0x00,0x00,0x00,0x00};
char leab2[]={0x09,0x08,0x00,0x06,0x01,0x01};
char a,b,d,e=0; 
int f;
while(1)
{
P3=0xff;
for(a=0;a<6;a++)
{
 leab[a]=0x7f;
 leab1[a]=0x00;
}
for(b=0;b<100;b++)
{
disp(); 
}
//for(c=0;c<6;c++)
//{
// leab[c]=0x00;
//}
while(1)
{
for(d=0;d<6;d++)
{
  e=key();
if((e>=1)&(e<=10))
  {
  leab[d] =0x71;
  disp();
  leab1[d]=e-1;
  }
else 
  {d=d-1; disp();}
  if(e==15) break;
  }
  if(e==15) break;
  while(e!=16)
  { disp(); 
   e=key();
   if(e==16)break;
   if(e==15) break;
  }
if(e==15) break;
 if((leab1[0]==leab2[0])&(leab1[0]==leab2[0])&
 (leab1[0]==leab2[0])&(leab1[0]==leab2[0])&
 (leab1[0]==leab2[0])&(leab1[0]==leab2[0]))
{
 for(f=0;f<800;f++)
{P3=0x02;
delay(100);
disp();
}
}
 else 
 {for(f=0;f<800;f++)
 {P3=0x01;
  delay(100);
  disp();
  }}
   break;
}
  
  }}
百度网友b003138
2015-03-27 · TA获得超过1253个赞
知道小有建树答主
回答量:403
采纳率:0%
帮助的人:245万
展开全部

希望对你有用

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山大科技馆
2021-01-05 · 贡献了超过120个回答
知道答主
回答量:120
采纳率:100%
帮助的人:6.4万
展开全部

第一节课

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
班疏君09A
2015-03-24 · 贡献了超过1556个回答
知道答主
回答量:1556
采纳率:0%
帮助的人:261万
展开全部
恩,这个我会的,,有的
追问
帮我设计一下~·
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式