找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12091|回复: 9
收起左侧

STM32 4x4矩阵键盘简易密码锁制作源码与资料

  [复制链接]
ID:250938 发表于 2018-4-10 11:14 | 显示全部楼层 |阅读模式
1.功能实现:
a)         每次按键有按键提示音;
b)         要求密码为6位,从矩阵键盘直接输入,不需要数码管显示输入信息;密码输入正确后,提供声光指示;连续3次输入错误,提供声光报警;   
C)     密码能够被修改。
2.矩阵键盘扫描说明:
按键扫描3.png 按键扫描2.png 按键扫描1.png

单片机源程序如下:
  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, 下载次数: 348)

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:264742 发表于 2019-3-8 17:54 | 显示全部楼层
你好  请问一下有矩阵和32连接的图吗
回复

使用道具 举报

ID:264742 发表于 2019-3-8 18:57 | 显示全部楼层
我下载了你的程序  能不能分享一下键盘与32的连接图啊
回复

使用道具 举报

ID:491761 发表于 2019-3-15 22:43 | 显示全部楼层
请问一下有矩阵和32连接的图吗
回复

使用道具 举报

ID:525114 发表于 2019-4-30 14:28 | 显示全部楼层
下载学习学习
回复

使用道具 举报

ID:6633 发表于 2019-5-5 17:33 | 显示全部楼层
下载学习学习
回复

使用道具 举报

ID:407413 发表于 2019-12-14 15:38 | 显示全部楼层
正想找这个呢 谢谢
回复

使用道具 举报

ID:662414 发表于 2019-12-25 19:16 | 显示全部楼层
作者,如果这个有连线图就好了
回复

使用道具 举报

ID:675589 发表于 2019-12-27 18:02 | 显示全部楼层
很有参考价值,多谢
回复

使用道具 举报

ID:425288 发表于 2021-3-13 21:27 | 显示全部楼层
谢谢,很有参考价值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表