自己做的基于单片机的密码锁设计(c语言设计)
/*--------------------------------------*/ //修改密码void set_mima()
{
P1=0x07;
if(P1!=0x07)
delay(1);
if(P1!=0x07)
{
P1=0x77;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=1;break;
case 1:q2=1;break;
case 2:q3=1;break;
case 3:q4=1;break;
case 4:q5=1;break;
case 5:q6=1;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=2;break;
case 1:q2=2;break;
case 2:q3=2;break;
case 3:q4=2;break;
case 4:q5=2;break;
case 5:q6=2;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=3;break;
case 1:q2=3;break;
case 2:q3=3;break;
case 3:q4=3;break;
case 4:q5=3;break;
case 5:q6=3;break;
}
sex++;
}
}
P1=0x6f;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=4;break;
case 1:q2=4;break;
case 2:q3=4;break;
case 3:q4=4;break;
case 4:q5=4;break;
case 5:q6=4;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=5;break;
case 1:q2=5;break;
case 2:q3=5;break;
case 3:q4=5;break;
case 4:q5=5;break;
case 5:q6=5;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=6;break;
case 1:q2=6;break;
case 2:q3=6;break;
case 3:q4=6;break;
case 4:q5=6;break;
case 5:q6=6;break;
}
sex++;
}
}
P1=0x5f;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=7;break;
case 1:q2=7;break;
case 2:q3=7;break;
case 3:q4=7;break;
case 4:q5=7;break;
case 5:q6=7;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=8;break;
case 1:q2=8;break;
case 2:q3=8;break;
case 3:q4=8;break;
case 4:q5=8;break;
case 5:q6=8;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=9;break;
case 1:q2=9;break;
case 2:q3=9;break;
case 3:q4=9;break;
case 4:q5=9;break;
case 5:q6=9;break;
}
sex++;
}
}
P1=0x3f;
if(h2==0)//0键扫描
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:q1=0;break;
case 1:q2=0;break;
case 2:q3=0;break;
case 3:q4=0;break;
case 4:q5=0;break;
case 5:q6=0;break;
}
sex++;
}
}
if(h3==0) //#键扫描
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x01);
writen_com(0x0f);
writen_com(0x06);
writen_com(0x80);
for(unm=0;unm14;unm++)
{
writen_dat(table3[unm]);
delay(5);
}
writen_com(0x80+0x40);
for(unm=0;unm5;unm++)
{
writen_dat(table1[unm]);
delay(5);
}
sex=0;
while(!flge1)
affirm_code();
}
}
}
}
void init();
void cheak_identity2()
{
if(k1==M1)
{
if(k2==M2)
{
if(k3==M3)
{
if(k4==M4)
{
if(k5==M5)
{
if(k6==M6)
{
sex=0;
init();
while(!flge1)
set_mima();
}
writen_com(0x01);
writen_com(0x0c);
writen_com(0x06);
writen_com(0x80);
for(unm=0;unm14;unm++)
{
writen_dat(table4[unm]);
delay(5);
}
delay1(6);
main();
}
writen_com(0x01);
writen_com(0x0c);
writen_com(0x06);
writen_com(0x80);
for(unm=0;unm14;unm++)
{
writen_dat(table4[unm]);
delay(5);
}
delay1(6);
main();
}
writen_com(0x01);
writen_com(0x0c);
writen_com(0x06);
writen_com(0x80);
for(unm=0;unm14;unm++)
{
writen_dat(table4[unm]);
delay(5);
}
delay1(6);
main();
}
writen_com(0x01);
writen_com(0x0c);
writen_com(0x06);
writen_com(0x80);
for(unm=0;unm14;unm++)
{
writen_dat(table4[unm]);
delay(5);
}
delay1(6);
main();
}
}
writen_com(0x01);
writen_com(0x0c);
writen_com(0x06);
writen_com(0x80);
for(unm=0;unm14;unm++)
{
writen_dat(table4[unm]);
delay(5);
}
delay1(6);
main();
}
void cheak_identity()
{
P1=0x07;
if(P1!=0x07)
delay(1);
if(P1!=0x07)
{
P1=0x77;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=1;break;
case 1:k2=1;break;
case 2:k3=1;break;
case 3:k4=1;break;
case 4:k5=1;break;
case 5:k6=1;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=2;break;
case 1:k2=2;break;
case 2:k3=2;break;
case 3:k4=2;break;
case 4:k5=2;break;
case 5:k6=2;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=3;break;
case 1:k2=3;break;
case 2:k3=3;break;
case 3:k4=3;break;
case 4:k5=3;break;
case 5:k6=3;break;
}
sex++;
}
}
/*-------------------------------*/P1=0x6f;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=4;break;
case 1:k2=4;break;
case 2:k3=4;break;
case 3:k4=4;break;
case 4:k5=4;break;
case 5:k6=4;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=5;break;
case 1:k2=5;break;
case 2:k3=5;break;
case 3:k4=5;break;
case 4:k5=5;break;
case 5:k6=5;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=6;break;
case 1:k2=6;break;
case 2:k3=6;break;
case 3:k4=6;break;
case 4:k5=6;break;
case 5:k6=6;break;
}
sex++;
}
}
/*--------------------------------*/
P1=0x5f;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=7;break;
case 1:k2=7;break;
case 2:k3=7;break;
case 3:k4=7;break;
case 4:k5=7;break;
case 5:k6=7;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=8;break;
case 1:k2=8;break;
case 2:k3=8;break;
case 3:k4=8;break;
case 4:k5=8;break;
case 5:k6=8;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=9;break;
case 1:k2=9;break;
case 2:k3=9;break;
case 3:k4=9;break;
case 4:k5=9;break;
case 5:k6=9;break;
}
sex++;
}
}
/*-----------------------------------*/ P1=0x3f;
if(h2==0)//0键扫描
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=0;break;
case 1:k2=0;break;
case 2:k3=0;break;
case 3:k4=0;break;
case 4:k5=0;break;
case 5:k6=0;break;
}
sex++;
}
}
if(h3==0) //#键扫描
{
delay(1);
if(h3==0)
{
while(!h3);
while(!flge1)
cheak_identity2();
}
}
}
}
/*---------------------------------------*/ //键盘扫描
void keyscan()
{
P1=0x07;
if(P1!=0x07)
delay(1);
if(P1!=0x07)
{
P1=0x77;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=1;break;
case 1:k2=1;break;
case 2:k3=1;break;
case 3:k4=1;break;
case 4:k5=1;break;
case 5:k6=1;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=2;break;
case 1:k2=2;break;
case 2:k3=2;break;
case 3:k4=2;break;
case 4:k5=2;break;
case 5:k6=2;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=3;break;
case 1:k2=3;break;
case 2:k3=3;break;
case 3:k4=3;break;
case 4:k5=3;break;
case 5:k6=3;break;
}
sex++;
}
}
/*-------------------------------*/P1=0x6f;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=4;break;
case 1:k2=4;break;
case 2:k3=4;break;
case 3:k4=4;break;
case 4:k5=4;break;
case 5:k6=4;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=5;break;
case 1:k2=5;break;
case 2:k3=5;break;
case 3:k4=5;break;
case 4:k5=5;break;
case 5:k6=5;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=6;break;
case 1:k2=6;break;
case 2:k3=6;break;
case 3:k4=6;break;
case 4:k5=6;break;
case 5:k6=6;break;
}
sex++;
}
}
/*--------------------------------*/
P1=0x5f;
if(h1==0)
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=7;break;
case 1:k2=7;break;
case 2:k3=7;break;
case 3:k4=7;break;
case 4:k5=7;break;
case 5:k6=7;break;
}
sex++;
}
}
if(h2==0)
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=8;break;
case 1:k2=8;break;
case 2:k3=8;break;
case 3:k4=8;break;
case 4:k5=8;break;
case 5:k6=8;break;
}
sex++;
}
}
if(h3==0)
{
delay(1);
if(h3==0)
{
while(!h3);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=9;break;
case 1:k2=9;break;
case 2:k3=9;break;
case 3:k4=9;break;
case 4:k5=9;break;
case 5:k6=9;break;
}
sex++;
}
}
/*-----------------------------------*/
P1=0x3f;
if(h1==0)//*键扫描
{
delay(1);
if(h1==0)
{
while(!h1);
writen_com(0x0f);
writen_com(0x06);
writen_com(0x80);
for(unm=0;unm16;unm++)
{
writen_dat(table6[unm]);
delay(5);
}
while(!flge1)
cheak_identity();
}
}
if(h2==0)//0键扫描
{
delay(1);
if(h2==0)
{
while(!h2);
writen_com(0x80+0x45+sex);
writen_dat('*');
switch(sex)
{
case 0:k1=0;break;
case 1:k2=0;break;
case 2:k3=0;break;
case 3:k4=0;break;
case 4:k5=0;break;
case 5:k6=0;break;
}
sex++;
}
}
if(h3==0) //#键扫描
{
delay(1);
if(h3==0)
{
while(!h3);
flge=1;
}
}
}
}
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)