标题: STM32 4x4矩阵键盘简易密码锁制作源码与资料 [打印本页]

作者: KACHEN    时间: 2018-4-10 11:14
标题: STM32 4x4矩阵键盘简易密码锁制作源码与资料
1.功能实现:
a)         每次按键有按键提示音;
b)         要求密码为6位,从矩阵键盘直接输入,不需要数码管显示输入信息;密码输入正确后,提供声光指示;连续3次输入错误,提供声光报警;   
C)     密码能够被修改。
2.矩阵键盘扫描说明:


单片机源程序如下:
  1. /**
  2.   **********************************************
  3.   * File Name          : main.c
  4.   * Description        : Main program body
  5.   * Function           : stm32f103 Test
  6.   * Created on         : 2018年
  7.   * Author             : KACHEN
  8.   * Team               : ETA(hnjdzy)
  9.   **********************************************
  10. **/
  11. #include "public.h"

  12. int count,m;

  13. int main(void)
  14. {
  15.   
  16.     char  Password[6] = {'1', '2', '3', '4', '5', '6'};  //初始密码设置
  17.     led_init();
  18.     bell_init();
  19.     keyboard_init();
  20.   
  21.     while(1)
  22.     {
  23.                   
  24.         read_keyvalue();
  25.         if(deposit[0]  == '#')//密码修改
  26.         {   
  27.                                             PEout(0)=1;      //led提示
  28.                                             delay_ms(300);
  29.                                             PEout(0)=0;
  30.                                             delay_ms(300);
  31.                                                         read_keyvalue();//读取按键值
  32.                                                         for(m=0;m<6;m++)
  33.                                         {
  34.                                                   PEout(m)=1;     //led提示
  35.                                             delay_ms(100);
  36.                                             PEout(m)=0;
  37.                                             delay_ms(100);
  38.                                                   Password[m]=deposit[m] ; //保存六位密码
  39.                                                
  40.                                         }
  41.         }
  42.    else
  43.      {
  44.                //判断输入的六位密码是否和初始密码相同
  45.        if((deposit[0] == Password[0]) & (deposit[1] == Password[1]) & (deposit[2] == Password[2])  
  46.            & (deposit[3] == Password[3]) & (deposit[4] == Password[4]) & ( deposit[5] == Password[5]))
  47.             {
  48.                 bell_display(200);                                                          //密码正确提示
  49.                 GPIO_SetBits(GPIOE, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_6 | GPIO_Pin_7);
  50.                 delay_ms(200);

  51.                 bell_display(200);
  52.                 GPIO_ResetBits(GPIOE, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_6 | GPIO_Pin_7);
  53.                 delay_ms(200);
  54.             }



  55.             else if(count++ == 2)  //密码错误报警
  56.             {

  57.                 count = 0;

  58.                 bell_display(1000);
  59.                 GPIO_SetBits(GPIOE, GPIO_Pin_All);
  60.                 delay_ms(1000);

  61.                 bell_display(1000);
  62.                 GPIO_ResetBits(GPIOE, GPIO_Pin_All);
  63.                 delay_ms(1000);

  64.             }
  65. ……………………

  66. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
Test 3.rar (353.84 KB, 下载次数: 351)



作者: penghuile    时间: 2019-3-8 17:54
你好  请问一下有矩阵和32连接的图吗

作者: penghuile    时间: 2019-3-8 18:57
我下载了你的程序  能不能分享一下键盘与32的连接图啊
作者: bures    时间: 2019-3-15 22:43
请问一下有矩阵和32连接的图吗
作者: dacen    时间: 2019-4-30 14:28
下载学习学习
作者: d026530    时间: 2019-5-5 17:33
下载学习学习
作者: No1    时间: 2019-12-14 15:38
正想找这个呢 谢谢
作者: 565661340    时间: 2019-12-25 19:16
作者,如果这个有连线图就好了
作者: 2432403753    时间: 2019-12-27 18:02
很有参考价值,多谢

作者: 饿了喝露水    时间: 2021-3-13 21:27
谢谢,很有参考价值




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1