接下来我们将实操普中51单片机中第一个相对完整的工程建立:密码锁。
本章用到的代码以及相关原理大多来自于笔者的上一篇文章,如果不熟悉的可以移步至上一篇文章查看相应信息。
首先再次熟悉一下独立按键的电路图:
我们开始要做的依然是创建实现键盘扫描的文件:MatrixKey.c和MatrixKey.h:
在主函数文件中我们就可以直接调用这个繁琐的函数以简化主函数的过程。
我们要实现的主要功能是判断输入的密码是否正确以及对于已输入密码的更改,这些过程均在液晶显示屏上呈现,所以我们依然要用到LCD1602函数库(B站江协)以及Delay函数(按键消抖)。
我们可以事先定义一个变量KeyNum用于接收MatrixKey函数中的返回值,同时我们要注意的是,当先前输入了一个错误密码,并且屏幕上显示了“ERROR”后,我们再次输入正确密码后,屏幕上会显示“OKROR”,并不会只显示“OK”。这是因为信息发生了覆盖,没有发生替换。所以我要在该分支if语句内开头加入初始化屏幕的操作,并且重新配置相关内容,这在下面的代码中均有体现:
下面是实验结果:
密码锁
本章是普中51单片机基础学习中的第一个相对完整的项目,代码相对较长,希望能够帮助到大家!