单片机电子密码锁 第9页
break;
case 0x41: // 1行3列,数字2
if (count<6)
{
wordbuf[count] = 0x0f; // 对应密码位上显示“F"
pwbuf[count] = 2;
count++;
}
break;
case 0x81: // 1行4列,数字3
if (count<6)
{
wordbuf[count] = 0x0f; // 对应密码位上显示“F"
pwbuf[count] = 3;
count++;
}
break;
case 0x12: // 2行1列,数字4
if (count<6)
{
wordbuf[count] = 0x0f; // 对应密码位上显示“F"
pwbuf[count] = 4;
count++;
}
break;
case 0x22: // 2行2列,数字5
if (count<6)
{
wordbuf[count] = 0x0f; // 对应密码位上显示“F"
pwbuf[count] = 5;
count++;
}
break;
case 0x42: // 2行3列,数字6
if (count<6)
{
wordbuf[count] = 0x0f; // 对应密码位上显示“F"
pwbuf[count] = 6;
count++;
}
break;
case 0x82: // 2行4列,数字7
if (count<6)
{
wordbuf[count] = 0x0f; // 对应密码位上显示“F"
pwbuf[count] = 7;
count++;
}
break;
case 0x14: // 3行1列,数字8
if (count<6)
{
wordbuf[count] = 0x0f; // 对应密码位上显示“F"
pwbuf[count] = 8;
count++;
}
break;
case 0x24: // 3行2列,数字9
if (count<6)
{
wordbuf[count] = 0x0f; // 对应密码位上显示“F"
pwbuf[count] = 9;
count++;
}
break;
case 0x44: // 3行3列,确认键
enterflag = 1; // 确认键按下
if (count==6) // 只有输入6个密码后按确认键才作密码比较
pwflag = pwcmp();
else
pwflag = 0; // 否则直接pmflag赋0
break;
case 0x84: // 3行4列,取消键
count = 0; // 密码计数清零
for (j=0;j<6;j++)
{
wordbuf[j] = 8; // 数码管显示888888
pwbuf[j] = 0x0f; // 用FFFFFF清除已经输入的密码
}
break;
default:break;
}
if (enterflag==1) // 如果按下确认键
{
enterflag = 0; // 标志位置回0
count = 0; // 密码位计数器清零
for (j=0;j<6;j++)
pwbuf[j] = 0x0f; // 用FFFFFF清除已经输入的密码
showflag = 0; // 关闭数码管显示
TR1 = 1; // 计数器1开始计数
t1count = 0; // 定时器1由50ms累积到1s所用的计数器
if (pwflag==1)
green = 0; // 绿灯亮
else
red = 0; // 红灯亮 } } }
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9]
单片机电子密码锁 第9页下载如图片无法显示或论文不完整,请联系qq752018766