stm32矩形按键(4*4)7针脚oled屏密码锁(入门级)

这篇具有很好参考价值的文章主要介绍了stm32矩形按键(4*4)7针脚oled屏密码锁(入门级)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文采用7针脚0.96的OLED屏作为输出显示,以矩形按键作为输入,做一个简易的密码锁。

不同于其他文章,本文所介绍的密码锁,就单纯使用OLED屏与矩形按键,但由于本人也是初学者,还有一些功能没有实现,目前本工程仅实按键输入、OLED屏输出以及一个密码判断。

源码链接:https://pan.baidu.com/s/1E82SN-HPMLp5h7-E-d7T1Q?pwd=vk7n 
提取码:vk7n

具有4x4个按键和1个数码管显示的一位简易密码锁,STM32入级教程(基于标准库函数),stm32,嵌入式硬件,单片机

目录

一、硬件接线

1、矩形按键

2、OLED显示屏

二、思路讲解

三、代码介绍

1、文件总体介绍

2、代码介绍

四、现象展示


一、硬件接线

1、矩形按键

本文采用的是4*4的矩形按键,关于矩形按键详细大家可以看我先前发布的这篇文章:STM32矩形(矩阵)按键(键盘)输入控制LED灯 ——4*4矩阵按键源码解析-CSDN博客

在这里矩形按键接在GPIOA中,具体接线也跟上篇文章相同。

具有4x4个按键和1个数码管显示的一位简易密码锁,STM32入级教程(基于标准库函数),stm32,嵌入式硬件,单片机

2、OLED显示屏

OLED屏作为本实验显示输出,详细使用的内容可参考上一篇文章:STM32+7针脚0.96OLED屏显示数字汉字符号英文(入门级)-CSDN博客

本文OLED屏接线也与上一篇文章相同,如下具有4x4个按键和1个数码管显示的一位简易密码锁,STM32入级教程(基于标准库函数),stm32,嵌入式硬件,单片机

二、思路讲解

本文实现的功能是在矩形按键上输0~9十位数,然后进行一个确认密码,若密码错误,提示后3s重新回到输入密码那块。

矩形按键S1~S9分别对应输入1~9,S10输入0,S11在输入密码时,可以进行删除单个密码,但密码输入完后按下S12进行确定密码。

一开始我的想法是每输入一个密码数字,就将其输出到显示屏上,确认密码时,只要将显示屏输出的数跟正确密码进行对比即可,但在单独删除密码单位数时出现了问题,而且OLED屏官方提供的代码中也没有读取显示内容的功能。

后面我采用数组的方法来存储输入密码,然后修改官方提供的OLED屏中的OLED_clear()清屏函数块,将其该成对某行进行清屏,然后每次输入完密码后执行清屏再重新遍历数组进行显示,删除功能的话就是将最后一位置0后再将数组现有的长度减1,这样就完成了输入功能。

但是由于本人也是C的初学者,所以在设定密码时,本来是打算用字符串的,但keil中好像没有string这个定义,后面就用了数组代替。确定密码时则是使用遍历对两个数组对应的元素进行对比。

三、代码介绍

1、文件总体介绍

文件中key.c为矩形按键的驱动函数文件,矩形按键的引脚定义及扫描识别等均在这个文件中;OLED.c为显示屏的驱动文件,同样的里面是引脚的定义跟驱动函数,这个官方有提供,我这是在官方的基础上增多一个OLED_delete()某行清屏函数。user.c为自定义的一些子函数段文件,里面主要是连续显示汉字、按键输入值等函数。

同样的这里将所有的声明函数放在了main.h文件中。

具有4x4个按键和1个数码管显示的一位简易密码锁,STM32入级教程(基于标准库函数),stm32,嵌入式硬件,单片机

2、代码介绍

在user.c中可以看到有以下内容,这个设定密码是采用数组的方式,如果大家有兴趣,可以完善这个实验,可以由输入来修改密码。

由于官方提供的汉字输出只能时每次调用输入一个,所以这个我定义了一个函数,可以一次性输入多个汉字。

具有4x4个按键和1个数码管显示的一位简易密码锁,STM32入级教程(基于标准库函数),stm32,嵌入式硬件,单片机

在主函数中,这里是将按键输入放在了while循环中,然后给一个变量pdz(默认为1),但密码输入正确后将变量pdz赋值为0,结束这个循环。故这个实验也有没密码正确后可以退出到返回界面的功能。

具有4x4个按键和1个数码管显示的一位简易密码锁,STM32入级教程(基于标准库函数),stm32,嵌入式硬件,单片机

其余的代码大家有兴趣可以在文章开头处百度网盘链接下载源码进行查看,源码内大部分的内容我都有进行注释。

四、现象展示

stm32矩形按键7针脚oled屏密码锁

 

文章中的实验还有许多待完善的功能,如输入密码显示为***等,大家有兴趣也可做优化。

本人也是stm32的初学者,对于本实验的思路,如果大家有更好的建议也希望大家多多指点。

若文章中有错误的地方也请大家多多指正!!!文章来源地址https://www.toymoban.com/news/detail-775645.html

到了这里,关于stm32矩形按键(4*4)7针脚oled屏密码锁(入门级)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c51单片机16个按键密码锁源代码(富proteus电路图)

     注意了:这个代码你是没法直接运行的,但是如果你看得懂,随便改一改不超过1分钟就可以用

    2024年02月13日
    浏览(40)
  • STM32-SPI驱动7针脚OLED,显示中文,字符串,数字,图片。

    STM32-SPI驱动7针脚OLED,显示中文,数字,图片。 本文为STM32f103rct6利用SPI驱动7针脚oled模块显示中文,数字和图片。 1,如图,为本次驱动的oled模块 2,引脚定义: GND--电源地; VCC--电源正极(3.3v~5v); D0--时钟线; D1--数据线; RES--复位线; DC--数据/命令控制线; CS--片选线,低电

    2024年02月05日
    浏览(47)
  • STM32+7针脚0.96OLED屏显示数字汉字符号英文(入门级)

    本文即做单纯的简单使用介绍说明,基于stm32t103函数库,采用GPIO口模拟的通信协议方式。 在OLED屏上显示字符以及汉字。 源码获取:链接:https://pan.baidu.com/s/1D6lk-fRq64gJILgeDBd2rQ?pwd=qng5  提取码:qng5 目录 一、OLED屏介绍 二、硬件接线说明 三、软件代码介绍 1、驱动代码 2、OL

    2024年04月14日
    浏览(45)
  • 面试算法109:开密码锁

    一个密码锁由4个环形转轮组成,每个转轮由0~9这10个数字组成。每次可以上下拨动一个转轮,如可以将一个转轮从0拨到1,也可以从0拨到9。密码锁有若干死锁状态,一旦4个转轮被拨到某个死锁状态,这个锁就不可能打开。密码锁的状态可以用一个长度为4的字符串表示,字

    2024年02月02日
    浏览(23)
  • 密码锁设计-verilog及仿真

    实验目的: (1)掌握自顶向下(Top-Down)的结构化设计方法; (2)运用Verilog语言完成数字系统设计,锻炼对具有一定复杂度和规模的问题的分析与求解能力。 实验内容: 实现3位数字的密码锁,每位数字取值1、2、3。 功能说明: A. 按S1复位进入初始状态,数码管显示00000000。

    2024年02月06日
    浏览(34)
  • 解锁iPad屏幕密码锁方法

    iPad忘记了屏幕密码锁,不能打开iPad了,需要对iPad进行解锁才能够打开iPad 方法一: 使用iTunes,把iPad连接到电脑上,选择恢复功能进行解锁即可,iPhone和iPad操作是一样的。  方法二: 使用第三方解锁软件,自助式解决iPad忘记屏幕密码锁的问题,奥凯丰 苹果解锁大师  方法

    2024年02月16日
    浏览(34)
  • 基于FPGA的数字密码锁

    testbench 到此结束,如有问题请留言评论

    2024年02月04日
    浏览(51)
  • 五、用矩阵键盘实现密码锁

    独立键盘与单片机进行连接时,每一个按键都需要单片机的一个I/O口,若某单片机系统较多按键,如果用独立按键便会占用较多的I/O口资源。为了尽可能节省I/O口线,引入矩阵键盘。 矩阵按键原理 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式

    2024年02月02日
    浏览(36)
  • 51单片机-电子密码锁

    实物演示效果: https://www.bilibili.com/video/BV1xh4y1K7uV/?vd_source=6ff7cd03af95cd504b60511ef9373a1d 电子密码锁的主要功能 1.按键设置6位密码,输入密码若密码正确,则锁打开。显示open! 2.密码可以自己修改(6位密码),必须是锁打开时才能改密。为防止误操作,修改密码得输入两次。

    2024年01月17日
    浏览(44)
  • 51单片机简易电子密码锁

    由于作业需求,在昨天天晚上写了一个通过lcd1602,i2c,eeprom,按键,实现的可以设置密码的简易电子锁,    首先点击k15(回车键)进入  进入后可以点击0-9按键输入6位密码,错误则显示error,5s后重新显示密码输入页面,密码正确则进入。    进入后可以点击Esc键设置密码,进入设

    2024年02月02日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包