基于STM32的矩阵电子密码锁protues仿真设计

描述

本设计

基于STM32的矩阵电子密码锁protues仿真设计

资料包含:源码+仿真+原理图+PCB+讲解视频(具体看下文资料清单)

原理图:Altium Designer

仿真:protues 8.9

程序编译器:keil 5

编程语言:C语言

设计编号:C0034

主要功能:

1. 液晶屏幕实时显示矩阵键盘输入的密码。

2. 4x4矩阵键盘可输入6位密码并支持循环覆盖。

3. 有有密码输入正确或错误的提示;输入正确电机转动,LCD1602显示YES,输入错误显示NO。

4. 带重新输入功能。

仿真图(提供源文件):

STM32

STM32

STM32

STM32

原理图(提供源文件):

STM32

PCB(提供源文件):

STM32

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

STM32

以下为部分程序,完整程序可在下载链接获取:

 

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();         //保存数据
    }
  }
}

 

  审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分