本设计
基于STM32的矩阵电子密码锁protues仿真设计
资料包含:源码+仿真+原理图+PCB+讲解视频(具体看下文资料清单)
原理图:Altium Designer
仿真:protues 8.9
程序编译器:keil 5
编程语言:C语言
设计编号:C0034
主要功能:
1. 液晶屏幕实时显示矩阵键盘输入的密码。
2. 4x4矩阵键盘可输入6位密码并支持循环覆盖。
3. 有有密码输入正确或错误的提示;输入正确电机转动,LCD1602显示YES,输入错误显示NO。
4. 带重新输入功能。
仿真图(提供源文件):




原理图(提供源文件):

PCB(提供源文件):

程序(提供源文件源码):

以下为部分程序,完整程序可在下载链接获取:
void main()
{
init_eeprom(); //开始初始化保存的数据
Init_LCD1602(); //初始化LCD1602
EA = 0;
Data_Init();
Timer0_Init();
//初始化完成,开中断
EA = 1;
// Get_Maopi();
LCD1602_write_com(0x80); //指针设置
LCD1602_write_word(" Welcome To Use "); //
LCD1602_write_com(0x80+0x40); //指针设置
LCD1602_write_word("Electronic Scale");
// Delay_ms(2000);
Get_Maopi();
LCD1602_write_com(0x80); //指针设置
LCD1602_write_word("WE:0.000 PR:00.0");
LCD1602_write_com(0x80+0x40); //指针设置
LCD1602_write_word("MONEY: 0.00 ");
Display_Price();
// Get_Maopi(); //称毛皮重量
while(1)
{
//每0.5秒称重一次
if (FlagTest==1)
{
Get_Weight();
FlagTest = 0;
}
keycode = Getkeyboard();
//有效键值0-15
if (keycode<16)
{
KeyPress(keycode);
Buzzer=0;
Delay_ms(100);
Buzzer=1;
while(keycode<16)
{
if(keycode==12||keycode==13)
{
Buzzer=0;
Delay_ms(10);
Buzzer=1;
KeyPress(keycode);
Get_Weight();
flag_key=1;
}
keycode = Getkeyboard();
}
write_eeprom(); //保存数据
}
}
}
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !