VHDL实现:4位电子密码锁设计与分析

版权申诉
0 下载量 165 浏览量 更新于2024-06-25 收藏 153KB DOCX 举报
该文档是大连理工大学本科实验报告,涉及基于VHDL的4位电子密码锁设计。实验目标是设计一个能接受4位8421BCD码的密码锁,具有错误输入提示、三次输入机会、报警功能以及密码重置功能。密码输入通过DE2开发板上的switch实现,显示部分采用7段数码管。系统由输入译码、显示、控制、比较和重置以及LED显示等模块组成。 1. 设计要求: - 密码锁为4位,超过4位时只取前4位有效数字。 - 错误输入时,系统提供三次重试机会,三次都错则触发报警。 - 输入正确后,用户可重新设置密码。 - 每次输入一个数字,会在7段数码管上显示并左移。 - 可通过取消键清除当前输入,重新开始输入密码。 2. 设计分析与系统方案: - 使用DE2开发板的switch作为输入,通过译码模块转换成8421BCD码以驱动7段数码管。 - 通过模4计数器限制输入密码的长度,模3计数器跟踪输入次数。 - 密码比较模块比较输入密码与预设密码,匹配则解锁,不匹配则锁定。 - LED显示模块提供视觉反馈,正确密码显示绿色,错误显示红色。 3. 硬件电路设计: - 显示模块: 采用共阳极型四段数码管,用于显示输入密码和状态。 - 输入译码模块: 利用switch[9]至switch[0]模拟数字键,通过译码器转换成BCD码。 - 控制模块: 实现输入控制,包括输入计数和错误计数。 - 比较和重置模块: 对比输入密码与预设密码,匹配时允许重置密码。 - LED显示模块: 输出高电平控制LEDG(绿灯)或LEDR(红灯),表示密码状态。 4. VHDL编程实现: - 在VHDL中,需要定义各个模块的接口,如输入信号 clkClk_in、Out_q、Psw 和输出信号等。 - 设计和编写密码输入模块、译码模块、计数器模块、比较模块和LED控制模块的VHDL代码。 - 通过综合和仿真工具验证各个模块的功能,确保设计正确无误。 5. 实验步骤与注意事项: - 实验前理解8421BCD码原理和7段数码管显示逻辑。 - 编写并测试VHDL代码,确保每个模块功能独立且正确。 - 集成所有模块,进行系统级仿真,检查整个密码锁系统的完整性和功能。 - 实际硬件验证,调试可能存在的硬件连接或逻辑问题。 6. 总结: 这个实验项目旨在提升学生的数字电路设计能力和VHDL编程技巧,通过实际操作加深对数字逻辑系统设计的理解,为将来更复杂的系统设计打下基础。
2023-02-27 上传
《EDA仿真与实践实习》 学 院: 信息科学与工程学院 课题名称: 硬件描述语言设计 ——基于VHDL的电子密码锁的设计 班 级: 学 生: 学 号: 指导教师: 1 引言 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁 的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全 保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥 匙的密码锁应运而生。 基于EDA技术设计的电子密码锁。以其价格便宜、使用方便、安全性高、成本低、功 耗低、易操作等优点,受到了人们的普遍关注。而以可编程逻辑器件(FBDA)为设计载体 ,以硬件描述语言(VHDL)为主要表达方式,以Quartus 5.1开发软件等为设计工具设计的 电子密码锁,由于其能够实现密码输入、密码校验、密码设置和更改等功能,因此,能 够满足社会对安全防盗的需求。 本设计的各个模块由相应的VHDL程序具体实现,并在Quartus 5.1环境下进行了整体 电路的模拟仿真,最终实现"密码锁控制器设计"的要求。 2 设计内容和要求 2.1 设计内容: 题目:电子密码锁 内容:设计一个4位串行数字锁。 (1)开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开 锁时,方可开锁,并点亮一个指示灯。否则进入"错误"状态,并发出报警信号。 (2)锁内的密码可调,且预置方便,保密性好。 (3)串行数字锁的报警由点亮一个灯,直到按下复位开关,报警才停下。此时,数字锁又 自动等待下一个开锁状态。 要求: (1)通过查阅相关技术资料,详细描述电子密码锁的基本原理。 (2)编写电子密码锁的Verilog HDL或VHDL程序,并仿真编译下载验证。 (3)给出完整的系统顶层模块图与波形仿真图。 3 设计分案 密码锁控制器是硬件与软件的结合。根据设计要求,决定以FBDA芯片和VHDL语言设计此 电子密码锁。用一片FBDA芯片实现,从而大大简化了系统结构,降低了成本,提高了系 统的保密性和可靠性。这种设计不仅简化了系统结构,降低了成本,更提高了系统的可 靠性和保密性。另外,采用可编程逻辑器件开发的数字系统,方便地升级和改进。 3.1 系统总框图 本系统的硬件部分主要由密码锁控制电路、密码锁显示电路、LED显示电路、报警电 路、密码更改与设置电路组成。整体系统框图如下图2.1所示。 密码锁总框图 3.2 密码锁的内部结构及主要功能 3.2.1密码锁的主要功能 密码锁控制器的主要功能有: (1)密码输入:有二个按键来控制(分别代表0和1),每按下一个键,要求在数码管 上显示,并依次左移。 (2)密码校验:如果有按键按下,直到松开该按键;红绿灯指示门的状态,也就是密 码校验结果,如果密码校验正确,绿亮起,否则如果密码校验错误红灯亮,并凤鸣器响 ,表明密码错误。 (3)错误报警:密码输入错误开始报警。 (4)密码修改:输入密码正确后4秒内按按键输入要设置和更改的密码,按按键确认 密码设置与更改,则密码设置成功 4 系统硬件电路 4.1 密码锁的显示模块 段数码管是电子开发过程中常用的输出显示设备。在本设计中使用的是8个四位一体 、共阴极型七段数码管。其单个静态数码管如下图所示。 由于七段数码管公共端连接到GND(共阴极型),当数码管的中的一个段被输入高电 平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相反。四位一体的七 段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八 个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信 号来控制,被选通的数码管显示数据,其余关闭。 4.2 密码锁控制模块 该模块的作用是将输入的密码 (暂时寄存于 ACC中)跟已经存储的密码(REG中的密码信息)进行对比,如果一样,则密码锁开锁。 而在通过密码验证后可以按按键设定密码。在这里值得注意的是有一个密码"0000"为开 始密码,如果改名密码了但是又忘记了密码,重新下载之后的初始密码只要输入的密码 为"0000"则都可通过密码锁。模块lock是整个设计的核心 ,它实现密码锁的逻辑功能。在任何时候按动密码初始化按键内密码设置为程序初始化密 码值(在本模块程序中此值为 "0000"代码为 4 位二进制数 ,当输入代码的位数和位值与锁内给定的密码一致 ,且按规定程序开锁时 ,方可开锁 ,并点亮开锁指示灯(緑灯)亮。否则 ,系统进入 "错误"状态 ,并发出报警信号。串行数字锁的报警方式是点亮指示灯(红灯) ,并使喇叭鸣叫 ,直到按下复位开关 ,报警才停止。此时 ,数字锁又自动进
2023-02-27 上传
《EDA仿真与实践实习》 学 院: 信息科学与工程学院 课题名称: 硬件描述语言设计 ——基于VHDL的电子密码锁的设计 班 级: 学 生: 学 号: 指导教师: 1 引言 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁 的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全 保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥 匙的密码锁应运而生。 基于EDA技术设计的电子密码锁。以其价格便宜、使用方便、安全性高、成本低、功 耗低、易操作等优点,受到了人们的普遍关注。而以可编程逻辑器件(FBDA)为设计载体 ,以硬件描述语言(VHDL)为主要表达方式,以Quartus 5.1开发软件等为设计工具设计的 电子密码锁,由于其能够实现密码输入、密码校验、密码设置和更改等功能,因此,能 够满足社会对安全防盗的需求。 本设计的各个模块由相应的VHDL程序具体实现,并在Quartus 5.1环境下进行了整体 电路的模拟仿真,最终实现"密码锁控制器设计"的要求。 2 设计内容和要求 2.1 设计内容: 题目:电子密码锁 内容:设计一个4位串行数字锁。 (1)开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开 锁时,方可开锁,并点亮一个指示灯。否则进入"错误"状态,并发出报警信号。 (2)锁内的密码可调,且预置方便,保密性好。 (3)串行数字锁的报警由点亮一个灯,直到按下复位开关,报警才停下。此时,数字锁又 自动等待下一个开锁状态。 要求: (1)通过查阅相关技术资料,详细描述电子密码锁的基本原理。 (2)编写电子密码锁的Verilog HDL或VHDL程序,并仿真编译下载验证。 (3)给出完整的系统顶层模块图与波形仿真图。 3 设计分案 密码锁控制器是硬件与软件的结合。根据设计要求,决定以FBDA芯片和VHDL语言设计此 电子密码锁。用一片FBDA芯片实现,从而大大简化了系统结构,降低了成本,提高了系 统的保密性和可靠性。这种设计不仅简化了系统结构,降低了成本,更提高了系统的可 靠性和保密性。另外,采用可编程逻辑器件开发的数字系统,方便地升级和改进。 3.1 系统总框图 本系统的硬件部分主要由密码锁控制电路、密码锁显示电路、LED显示电路、报警电 路、密码更改与设置电路组成。整体系统框图如下图2.1所示。 密码锁总框图 3.2 密码锁的内部结构及主要功能 3.2.1密码锁的主要功能 密码锁控制器的主要功能有: (1)密码输入:有二个按键来控制(分别代表0和1),每按下一个键,要求在数码管 上显示,并依次左移。 (2)密码校验:如果有按键按下,直到松开该按键;红绿灯指示门的状态,也就是密 码校验结果,如果密码校验正确,绿亮起,否则如果密码校验错误红灯亮,并凤鸣器响 ,表明密码错误。 (3)错误报警:密码输入错误开始报警。 (4)密码修改:输入密码正确后4秒内按按键输入要设置和更改的密码,按按键确认 密码设置与更改,则密码设置成功 4 系统硬件电路 4.1 密码锁的显示模块 段数码管是电子开发过程中常用的输出显示设备。在本设计中使用的是8个四位一体 、共阴极型七段数码管。其单个静态数码管如下图所示。 由于七段数码管公共端连接到GND(共阴极型),当数码管的中的一个段被输入高电 平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相反。四位一体的七 段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八 个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信 号来控制,被选通的数码管显示数据,其余关闭。 4.2 密码锁控制模块 该模块的作用是将输入的密码 (暂时寄存于 ACC中)跟已经存储的密码(REG中的密码信息)进行对比,如果一样,则密码锁开锁。 而在通过密码验证后可以按按键设定密码。在这里值得注意的是有一个密码"0000"为开 始密码,如果改名密码了但是又忘记了密码,重新下载之后的初始密码只要输入的密码 为"0000"则都可通过密码锁。模块lock是整个设计的核心 ,它实现密码锁的逻辑功能。在任何时候按动密码初始化按键内密码设置为程序初始化密 码值(在本模块程序中此值为 "0000"代码为 4 位二进制数 ,当输入代码的位数和位值与锁内给定的密码一致 ,且按规定程序开锁时 ,方可开锁 ,并点亮开锁指示灯(緑灯)亮。否则 ,系统进入 "错误"状态 ,并发出报警信号。串行数字锁的报警方式是点亮指示灯(红灯) ,并使喇叭鸣叫 ,直到按下复位开关 ,报警才停止。此时 ,数字锁又自动进
2023-02-27 上传
摘 要 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合 ,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片 的性价比较高的产品。应用较广的电子密码锁是以芯片为核心,通过编程来实现的。 本系统由STC89C52单片机系统(主要是STC89C52单片机最小系统)、4×4矩阵键盘、 LCD1602显示和报警系统等组成,具有设置、修改4位电子密码、连续输入三次密码错误 报警等功能。 关键词:STC89C52;LCD1602;4×4矩阵键盘;4位电子密码锁 Abstract In daily life and work, for security reasons, the department of housing and security, unit documents, financial statements and some personal information to save more in order to lock the ways to solve. Locking method with the traditional mechanical lock and emerging electronic combination lock. Compared with the traditional mechanical lock, because the electronic combination lock, the secrecy good, the large amount of programming, password variable, can call the police and other characteristics, so the performance and security of the electronic combination lock far from traditional mechanical lock. Electronic combination lock is a password or to control circuit, so as to control mechanical switches closed, lock, lock task of electronic products. It's a lot of more phyletic, has simple circuit products, also has a high cost performance products based on the chip. Widely used electronic coded lock based on chip as the core, through the programming. Key words: STC89C52; LCD1602; Electronic password lock; 4×4 keyboard 目 录 引言 1 1 电子密码锁研究意义 1 2 总体设计方案及论证 3 2.1 总体设计任务要求: 3 2.2 总体设计方案选定 3 2.3 总体设计思路 3 2.4 总体设计流程图 4 3 矩阵键盘模块设计 5 3.1 矩阵键盘原理 5 3.2 矩阵键盘原理图 6 3.3 矩阵键盘流程图 6 3.4 矩阵键盘去抖动 7 4 单片机最小系统与外围电路模块设计 7 4.1 STC89C52单片机 7 4.1.1 STC89C52电气引脚图 8 4.1.2 STC89C52主要特性 8 4.2 单片机最小系统与外围电路 9 4.2.1 单片机时钟电路 9 4.2.2 复位电路系统 9 4.2.3 指示灯系统 10 4.2.4 报警系统 10 5. 液晶LCD1602显示模块设计 11 5.1 LCD1602部分中文资料 11 5.1.1 LCD1602主要技术参数: 11 5.1.2 引脚功能说明 11 5.2 LCD1602显示字符原理 12 5.3 LCD1602与单片机连接 13 6 电子密码锁系统调试 13 6.1 调试内容 13 6.2 调试所需工具 14 7. 结论 14 谢 辞 15 参考文献 17 引言 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁 的办法来解决。加锁的方法有机械锁和电子密码锁,相对于传统的机械锁,电子密码锁 具有保密性强,编程量大,密码可变,操作简单等优点,因此也得到了很大的关注,有 了很大的发展。 1 电子密码锁研究意义 电子密码锁发展的背景随着社会物质财富的日益增长和人们生活水平的提高,安全防 盗已成为