- 7
- 0
- 约4.16千字
- 约 6页
- 2021-01-22 发布于湖南
- 举报
.
数字电路综合实验报告
简易智能密码锁
一、实验课题及任务要求
设计并实现一个数字密码锁, 密码锁有四位数字密码和一个确认开锁按键, 密码输入正
确,密码锁打开,密码输入错误进行警示。
基本要求:
1、密码设置:通过键盘进行 4 位数字密码设定输入 ,在数码管上显示所输入数字。
通过密码设置确定键( BTN 键)进行锁定。
2、开锁: 在闭锁状态下, 可以输入密码开锁, 且每输入一位密码, 在数码管上显示 “- ”,
提示已输入密码的位数。输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若
密码错误系统仍然处于闭锁状态,并用蜂鸣器或 led 闪烁报警。
3、在开锁状态下, 可以通过密码复位键 (BTN 键)来清除密码, 恢复初始密码 “0000 ”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:
1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上 ,同时
将先前输入的所有数字向左移动一位。
2、密码锁的密码位数( 4~6 位)可调。
3、自拟其它功能。
二、系统设计
2.1 系统总体框图
2.2 逻辑流程图
精选 word 范本!
.
2.3MDS 图
2.4 分块说明
程序主要分为 6 个模块:键盘模块,数码管模块,点阵模块,报警模块,防抖模块,控
制模块。以下进行详细介绍。
1. 键盘模块
本模块主要完成是 4 ×4 键盘扫描,然后获取其键值,并对其进行编码,从而进行按键
的识别,并将相应的按键值进行显示。
键盘扫描的实现过程如下:对于 4 ×4 键盘,通常连接为 4 行、 4 列,因此要识别按键,
只需要知道是哪一行和哪一列即可, 为了完成这一识别过程, 我们的思想是, 首先固定输出
高电平,在读入输出的行值时,通常高电平会被低电平拉低,当当前位置为高电平“ 1”时,
没有按键按下, 否则, 如果读入的 4 行有一位为低电平, 那么对应的该行肯定有一个按键按
精选 word 范本!
.
下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出 4 列为高电平,然后
在输出 4 行为低电平, 再读入列值, 如果其中有哪一位为低电平, 那么肯定对应的那一列有
按键按下。由此可确定按键位置。
X 7 8 9
消抖 键盘译码 按键储存
X 4 5 6
X 1 2 3
X X 0 x
键盘扫描
(X 为无效按键)
2.数码管模块
本实验采用六位七段共阴极数码管,通过选通 6 个位选管脚,向相应的 IO 口送低电平
来点亮其中任何一位数码管, 因为现在采用四位密码锁, 所以只是用了其中四个, 最高位两
位数
原创力文档

文档评论(0)