资料编号:127 下面是相关功能视频演示:
127-基于stm32单片机的按键智能电子密码锁(源码+仿真+原理图+PCB+参考论文)
功能介绍:
采用stm32单片机作为主控,矩阵键盘来进行密码输入,LCD1602显示当前状态,初始密码为147258,可以在程序里进行更换,密码输入正确会亮红灯蜂鸣器提醒代表开锁成功,如果密码输入错误会红灯闪烁并且蜂鸣器报警。绿灯是运行闪烁灯
下面是原理图展示:采用AD绘制
下面是PCB展示:采用AD绘制
下面是部分程序展示:
while(1)
{
Key_Value = Key_Scan();
if(Key_Value < 10)
{
disp_num[i] = Key_Value;
i++;
if(i > 5)
i = 0;
Key_Value = 27;
}
if(Key_Value == 16)
{
for(i = 0; i < 6; i++)
{
if(disp_num[i] != password[i])
{
flag = 1; //输入错误
break;
}
else
{
flag = 0;
}
}
if(flag == 1) //输入错误
{
LCD_write_string(6, 1, Disp_NO);
LED_Blink (3, 200);
BEEP_Blink(3, 200);
LCD_write_string(6, 1, Disp_NONE);
}
else //输入正确
{
LCD_write_string(6, 1, Disp_YES);
LED_Blink (1, 500);
BEEP_Blink(1, 500);
LCD_write_string(6, 1, Disp_NONE);
}
memset(disp_num, 27, 6);
Key_Value = 27;
i = 0;
}
if(Key_Value == 13)
{
memset(disp_num, 27, 6);
Key_Value = 27;
i = 0;
}
for(uint8_t j = 0; j < 6; j++)
{
if(disp_num[j] > 9)
disp_num_tmp[j] = 0;
else
disp_num_tmp[j] = disp_num[j];
}
sprintf(toDisplay, DISP_FORMAT, disp_num_tmp[0], disp_num_tmp[1], disp_num_tmp[2], disp_num_tmp[3], disp_num_tmp[4], disp_num_tmp[5]);
HAL_Delay(20);
}
}
下面是该资料的分享下载链接: