VHDL四位密码锁课程设计
四位数字密码锁的设计

EDA 课程设计报告书课题名称 四位数字密码锁的设计 姓 名学 号 院 系 专 业 指导教师年 月 日※※※※※※※※※ ※※※※ ※※※※※※※※※※※级学生EDA 课程设计设计任务及要求:(1)设计任务:本课程设计要求设计的数字密码锁密码为4位,由密码锁输入电路、码锁控制电路、密码锁处理电路、显示电路四大部分组成,将各电路组合起来,构成了一个完整的电子密码锁。
(2)设计要求:①、密码输入:每按一个数字键,就输入一个数值,且将在显示器上的最右上方显示出该数字,并将先前已经输入的数据依序左移一位。
②、数码清除:按下此键可以清除前面所有的输入值,清除成为“0000”。
③、密码修改:按下此键时将目前的数字设定成新的密码。
④、激活电锁:按下此键可将密码锁上锁,红色LED灯将闪烁一次。
⑤、解除电锁:按下此键会检查输入的密码是否正确,若绿色LED亮则表示密码正确,密码锁将解锁。
指导教师签名:年月日二、指导教师评语:指导教师签名:年月日三、成绩验收盖章年月日四位数字密码锁的设计1 设计目的随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱,电子密码锁的使用也体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。
2 设计的主要内容和要求设计一个简单的数字电子密码锁,密码为 4 位。
要求具备如下功能:(1)如果输入数字键,第一个数字会从数码管的最右端开始显示,此后每按下一个数字键,数码管上的数字必须往左移动一格,以便将新的数字显示出来。
(2)本密码锁为四位密码锁,当输入的数字超过四个时,不会显示第四个以后的数字。
(3)按下密码清零键,清除所有输入的数字,清除成为“0000”,即做归零动作。
(4)按下解锁键,检查输入的密码是否正确,若解锁指示灯(绿色LED灯)闪烁一次,即表示密码正确(开锁)。
vhdl密码锁

VHDL实验报告数字密码锁专业:信息工程学号:姓名:2020年12月一、实验任务及设计要求一、安锁状态按下开关键SETUP,密码设置灯亮时,方可进行密码设置操作。
设置初始密码0~9(或二进制四位数),必要时能够改换。
再按SETUP键,密码有效。
二、开锁状态(1)按启动键(START)启动开锁程序,现在系统内部是初始状态。
(2)依次键入0~9(或二进制四位数)。
(3)按开门键(OPEN)预备开门。
假设按上述程序执行且拨号正确,那么开门指示灯A亮,假设按错密码或未按上述程序执行,那么按动开门键OPEN后,警报装置鸣叫,B灯亮。
(4)开锁处置事务完毕后,应将门关上,按SETUP键使系统从头进入安锁状态。
假设在报警状态,按SETUP键或START键不起作用,应按RESET键才能使系统进入安锁状态。
3、利用者如按错密码,可在按OPEN键之前,按RESET键从头启动开锁程序。
4、用层次化设计方式设计该电路,编写各个功能模块的程序。
5、仿真各功能模块,通过观看有关波形确认电路设计是不是正确。
6、完成电路设计后,用实验系统下载验证设计的正确性。
二、系统结构反馈信号图一系统原理图一、锁存器:用于实现设定密码(锁存器1)和输入密码锁存器2的存储。
二、比较器:用于将设定密码与输入密码相较较。
其中,CLK为外部输入的时钟信号。
假设输入密码正确,那么A灯亮;不然B灯亮。
同时比较器输出与CLK一样的信号,驱动蜂鸣器发出警报声。
3、开锁操纵器:当反馈信号下降沿来到时,开锁操纵输出低电平,用于在输入错误密码后,禁止再次安锁;当RESET脚位高电平常,开锁操纵输出高电平,打开与门,这时锁存器1使能端的转变受控于SETUP键,从头进入安锁状态。
4、LED显示:用于设定密码或输入密码的显示。
此项设计的目的是为了在下载演示时,能清楚地看到设置和输入的密码值。
二、硬件电路设计一、设密码模块设密码模块如以下图所示,包括复位键(RESET),密码设定选择键(SETUP),反馈信号(FD)和信号输出(CODE_OUT)和LED输出。
彭胜-基于VHDL的电子密码锁设计与实现正文

1 引言电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。
目前设计密码锁的方法很多,例如用传统的PCB 板设计、用PLC 设计或者用单片机设计。
而用V HDL 可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法,使设计过程达到高度自动化。
本设计在Max + plus Ⅱ的环境中进行,用Al2tera 公司ACEX 1 K系列的EP1 K30 TC14423 来实现。
ACEX 1 K是Altera 公司着眼于通信、音频处理及类似场合的应用而推出的FPGA 器件芯片系列,其典型门数为10 万门,是当今Altera 多种产品中应用前景最好的器件系列之一。
EDA 技术设计电子系统具有用软件的方式设计硬件;设计过程中可用有关软件进行各种仿真,系统可现场编程、在线升级,整个系统可集成在一个芯片上等特点;不但设计周期短、设计成本低,而且将提高产品或设备的性能,缩小产品体积、提高产品的技术含量,提高产品的附加值。
用VHDL设计电子密码锁方案:作为通用电子密码锁,主要由3 个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路,作为电子密码锁的输入电路。
可供选择的方案有数字机械式键盘和触摸式数字键盘等多种。
(1)密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个小的功能电路。
(2)密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。
(3)七段数码管显示电路主要将待显示数据的BCD码转换成数码器的七段显示驱动编码。
1.1 课题背景随着社会的发展和人们生活水平的提高,人们的安全意识也逐步加强。
传统的机械锁由于其构造的简单,失效的事件屡见不鲜,如何实现保密防盗这一问题变的尤其的突出,密码锁以其安全性高、成本低、功耗低、易操作等优点受到越来越多人的欢迎。
VHDL四位密码锁课程设计EDA

电子与信息工程学院EDA课程设计报告(2011 —2012 学年第一学期)课程名称:EDA课程设计与实现班级:电子0903学号:姓名:指导教师:陈智萍2011年09月一、目的1.掌握VHDL语言的使用,学会用VHDL语言来编程解决实际问题;2.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧;3.学会应用开发系统实现硬件电路,检验电路的功能。
二、内容和要求用VHDL语言设计一个密码锁,用波形仿真验证其功能后,实现到GW48实验系统。
功能描述:用于模仿密码锁的工作过程。
完成密码锁的核心控制功能。
功能要求:设计一个密码锁,平时处于等待状态。
管理员可以设置或更改密码。
如果不预置密码,密码缺省为“1234”。
用户如果需要开锁,按相应的按键进入输入密码状态,输入4位密码,按下确定键后,若密码正确,锁打开;若密码错误,将提示密码错误,要求重新输入,三次输入都错误,将发出报警信号。
报警后,只有管理员作相应的处理才能停止报警。
用户输入密码时,若输入错误,在按下确定键之前,可以通过按取消键重新输入。
正确开锁后,用户处理完毕后,按下确定键,系统回到等待状态。
系统操作过程中,只要密码锁没有打开,如果60秒没有对系统操作,系统回到等待状态。
要求密码在输入过程中被依次显示,即先输入的为密码的第一位,总是显示在最左边。
用两个发光二极管模拟显示,其中一个显示当前的工作模式,灭表示用户模式,亮表示管理员模式;另外一个指示锁的状态,灭表示锁处于锁定,亮表示锁被开启。
注意:用两个按键实现密码输入,Key1选择输入的是第几位密码,KEY2输入密码数字。
功能描述:初始状态:初次使用密码锁时,要先用Reset键初始化。
初始状态下,用户密码为“1234”,管理员密码为“0000”。
用户开锁:默认情况下,密码锁处于用户使用状态。
如果当前为管理员状态,则按下user键回到用户状态。
用户开锁时,输入四位数用户密码,可以从out_code6的输出状态确定密码输入状态。
四位密码锁电路课程设计报告

四位密码锁电路课程设计报告一、设计要求设计一种四位密码锁电路,需要具备以下功能:1. 开关控制:设有一个开关,可以开启或关闭密码锁电路。
2. 设置密码:密码为四位数字,可以自由设置。
3. 输入密码:密码通过数码管实时显示,可以输入四位数字的密码。
4. 锁定/解锁:输入正确的密码后,可以解锁,否则锁定密码锁。
5. 报警提示:在输入错误密码超过三次的情况下,会有报警提示。
二、电路设计1. 功能分析要实现以上要求的四位密码锁设计,可以将电路分为以下部分:1.1 时钟信号控制器:使用定时器生成一个,50ms的定时器中断来产生时钟信号,控制键盘扫描和密码输送。
1.2 数码管驱动:使用74LS47电路进行数码管动态扫描驱动。
同时,用4094低频同步移位寄存器输出数码管所显示的数字。
1.3 锁控制电路:使用继电器电路来实现锁的控制。
1.4 按键输入电路:使用74LS74 D触发器和IP3386A电位器来实现按键的输入。
1.5 密码比较电路:使用四路与非门来进行密码的比较操作。
1.6 报警提示:使用蜂鸣器进行声音提示。
2. 详细设计2.1 时钟信号控制器时钟信号控制器由XTAL时钟电路、定时器电路和键盘扫描电路组成。
2.1.1XTAL时钟电路XTAL时钟电路的工作原理是在石英晶体的两端加了一对金属片,当晶体被振动时,金属片之间产生的压电效应会生成一个稳定的频率和幅度的交变电压信号,这个信号的频率稳定高,精度高。
因此本电路选用4MHZ的外接石英晶体。
2.1.2 定时器电路定时器电路主要由1个555定时器芯片构成。
555定时器芯片是一种多功能集成电路,主要有两种工作方式:单稳态和多稳态。
本电路采用555定时器来实现一个50ms定时器。
2.1.3 键盘扫描电路键盘采用4×3的矩阵键盘,采用行列扫描方式进行扫描。
用74LS74 D触发器将键盘的行信号和处理器的时钟信号连接,通过对D触发器读写的方式来实现行信号的输入和输出。
VHDL专题--电子密码锁的设计

VHDL 专题--------电子密码锁一、设计要求:设计一个简单的数字电子密码锁,密码为4位。
功能:1、 密码输入:每按下一个键,要求在数码管上显示,并依次左移;2、 密码清除:清除密码输入,并将输入置为”0000”;3、 密码修改:将当前输入设为新的密码;4、 上锁和开锁。
二、 电路组成:为达到以上功能,可将电子密码锁分为以下几个模块: 1、键盘接口电路: 键盘矩阵、键盘扫描、键盘消抖、键盘译码及按键存储。
2、电锁控制电路: 数字按键输入、存储及清除。
功能按键的设计。
密码清除、修改与存储。
电锁的激活与解除。
3、输出显示电路BCD 译码、动态扫描电路。
三、功能电路的设计:1、键盘接口电路:矩阵式键盘工作原理: 矩阵式键盘是一种常见的输入装置,在计算机、电话、手机、微波炉等各工电子产品中被广泛应用。
如图所示为一3×4矩阵式键盘。
矩阵式键盘以行、列形式排列,图中为4行3列,键盘上的每一个按键盘其实是一个开关电路,当某键被按下时,该按键所对应的位置就呈现逻辑0的状态,键盘的扫描可以以行扫或列扫方式进行,图中为行扫方式,KEYR3—KEYR0为扫描信号,其中的某一位为0即扫描其中的一行,具体见表1-1. 键盘扫描信号KEYR3与第一行相连,KEYR2与第二行相连,依此类推。
很显然,扫描信号的变化顺序为:0111、1011、1101、1110,周而复始。
在扫描的过程中,当有键按下时,对应的键位就为逻辑0状态,从而从KEYC2..0读出的键值相应列为0.具体情况如表1-2所示: 若从KEYC2..0读出的值全为1时,表示没有键被按下,则不进行按键的处理。
如果的键被按下,则将KEYC2..0读出的送至键盘译码电路进行译码。
表1-2 键盘扫描与其对应的键值的关系时序产生电路: 在一个系统的设计中,往往需要多种时钟信号,最为方便的方法是利用一个自由计数器来产生各种需要的频率。
本电路需要:系统主时钟、消抖取样时钟和动态扫描时钟。
课程设计密码锁4位

课程设计密码锁4位一、教学目标本课程旨在让学生了解和掌握4位密码锁的基本原理和制作方法。
知识目标要求学生掌握密码锁的组成部分、工作原理以及相关的电子电路知识。
技能目标则侧重于学生的动手能力,要求学生能够独立完成一个4位密码锁的制作并进行基本的调试。
情感态度价值观目标则在于培养学生对科学探究的兴趣,提高他们的创新意识和实践能力。
二、教学内容本课程的教学内容主要包括4位密码锁的原理、组成、制作方法和调试技巧。
具体的教学大纲安排如下:1.第1-2课时:介绍密码锁的基本原理和组成部分,讲解电子电路的相关知识。
2.第3-4课时:教授4位密码锁的制作方法,包括电路设计、焊接、调试等步骤。
3.第5-6课时:讲解密码锁的编程方法,让学生了解如何通过编程实现密码的设置、修改和验证。
4.第7-8课时:进行实践操作,学生分组完成4位密码锁的制作,并进行调试和总结。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式进行教学。
包括:1.讲授法:用于讲解密码锁的基本原理和相关知识。
2.实践操作法:让学生亲自动手制作和调试密码锁,增强实践能力。
3.小组讨论法:鼓励学生分组讨论,分享制作过程中的心得和问题,培养团队协作能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用《电子技术基础》等教材,为学生提供理论知识的学习。
2.参考书:提供《电子制作实战》等相关书籍,方便学生课后拓展阅读。
3.多媒体资料:制作课件、视频等资料,帮助学生更好地理解密码锁的原理和制作过程。
4.实验设备:准备电路实验板、元器件等设备,确保学生能够顺利进行实践操作。
五、教学评估本课程的评估方式将包括平时表现、作业、考试等多个方面,以全面客观地评价学生的学习成果。
平时表现将占课程总评的30%,主要评估学生在课堂上的参与程度、提问和回答问题的表现等。
作业将占课程总评的40%,包括课堂练习和课后作业,主要评估学生的理解和应用能力。
基于VHDL4位电子密码锁的设计

理工大学本科实验报告题目:基于VHDL 4位电子密码锁的设计课程名称:数字电路课程设计学院(系):电子信息与电气工程专业:电子英强班级:学生:学号:完成日期:2013.7.8成绩:2013 年7 月08 日题目:基于VHDL 4位电子密码锁的设计1 设计要求○1电子密码锁为4位8421BCD码,多于4位,密码只取前4位。
○2在输入密码错误,给出一个错误信号,有三次输入机会,若三次密码都输入错误,则给出一个报警信号,此后只能由密码管理员取消报警信号。
○3在输入密码正确的情况下,可以再次设定密码。
○4每次输入一个密码,将显示在7段数码管上,并依次左移。
○5每次输入密码的时候,按取消(cancel)键可以取消这次密码的输入,课重新输入4位密码。
2 设计分析及系统方案设计在实验室DE2开发板的条件下,考虑到key键只有4个,可以用switch开关来实现密码输入模块,用switch[9]~switch[0] 来实现数字9~0的输入,并通过译码模块将其转化为8421BCD码,由8421BCD码来驱动7段数码管作为密码锁的显示模块。
每按一个键,产生一个上升沿,给4个数码管做时钟,实现没输入一个数左移一位的效果。
为了实现密码输入多于4位,可以构造一个模为4的计数器来控制只取前4位密码。
共有三次输入密码的机会,可以构造一个模为3的计数器来控制。
密码比较模块:当按下确定键(yes)键,则将输入的密码和置密码进行比较。
密码输入模块:当输入密码正确时,再输入密码,利用重置密码键(set_psw)直接将其赋值给置的密码psw即可实现。
LED 显示模块,用来显示密码输入的正确与否。
若输入密码与置密码一致,则锁打开,输出一个高电平给LEDG ,绿灯亮,密码错误则输出一个高电平给LEDR ,红灯亮。
综合上述分析,本系统的硬件部分主要由密码锁输入译码模块、密码锁显示模块、密码锁控制模块、密码比较和重置模块和LED 显示模块五个部分组成。
基于VHDL的电子密码锁

华南师范大学课程设计实验报告课程名称:可编程数字系统设计课程设计题目:电子密码锁姓名:程硕学院:物理与电信工程学院专业:理综一班年级:2011学号:20112600104一、设计原理用VHDL设计电子密码锁方案:作为通用电子密码锁,主要由 3 个部分组成:数字密码按键输入电路、密码锁控制电路和密码锁显示电路,作为电子密码锁的输入电路。
可供选择的方案有数字机械式键盘和触摸式数字键盘等多种。
(1)密码锁输入电路包括时序产生电路、键盘检测电路、键盘消抖电路等几个小的功能电路。
(2)密码锁控制电路包括按键数据存储电路,恢复出厂密码、两次正确输入后可修改密码、密码核对,多次错误报警,清屏等几个小的功能电路。
(3)八段数码管显示电路主要将待显示数据的BCD码转换成数码器的八段显示驱动编码。
二、系统分析本次课程设计成功地设计了一个简单的数字电子密码锁,密码为 4 位。
将电子密码锁分为以下几个模块:按键消抖模块、密码锁逻辑控制模块和密码锁显示模块,实现了以下功能:(1)密码输入:KEY1按下一次,数码管上显示数字加一,相应位置输入密码加一(2)位置选择:KEY2按下一次,数码管选择位左移一位(3)密码确认:KEY3按下一次,比较外部输入密码与原密码,正确LED长亮,错误LED变暗,同时显示密码置0;(4)密码修改:正确输入两次密码后,按下KEY4一次,将当前输入设为新的密码;(5)清屏:KEY5按下一次,外部输入置0;(6)恢复出厂设置:连续按下KEY5三次后恢复出厂密码“1234”;三、程序设计1由于程序稍显庞大,故采取分层次设计的方法,顶层采用画图法设计,底层采用VHDL 语言进行设计。
顶层电路图如图1所示图1Xiao_dou模块为按键消抖模块,main为密码锁控制模块,yima为数码管显示译码模块。
Set_shuma端口为数码管段选端口,用于选择数码管。
Led端口为led灯端口,key1,key2,key3,key4,key5为五个按键接口,show_shuma端口为数码管位选选择端口。
VHDL电子密码锁课程设计

VHDL电子密码锁课程设计一、课程目标知识目标:1. 学生能理解VHDL语言的基本语法和程序结构,掌握利用VHDL进行数字电路设计的基本方法。
2. 学生能够描述电子密码锁的工作原理,了解其电路组成和功能模块。
3. 学生能够运用所学知识,设计并实现一个简单的电子密码锁程序。
技能目标:1. 学生能够运用VHDL语言进行代码编写,培养编程实践能力。
2. 学生通过课程设计,提高问题分析、解决能力,培养创新思维和团队协作能力。
3. 学生能够运用仿真软件对设计的电子密码锁进行功能验证,提高实际操作能力。
情感态度价值观目标:1. 学生通过课程学习,培养对电子技术和数字电路设计的兴趣,提高学习积极性。
2. 学生在课程实践中,树立正确的工程观念,认识到技术发展对社会进步的重要性。
3. 学生在团队协作中,学会尊重他人、沟通协作,培养良好的团队合作精神。
本课程旨在帮助学生将理论知识与实践相结合,通过电子密码锁的设计与实现,提高学生的编程能力、问题解决能力和团队协作能力,培养学生对电子技术的兴趣和正确价值观。
二、教学内容1. VHDL语言基础:包括VHDL的基本语法、数据类型、运算符、信号与变量、进程和顺序语句等,对应教材第1-3章内容。
2. 数字电路设计方法:介绍组合逻辑电路和时序逻辑电路的设计方法,包括触发器、计数器等基本电路的设计,对应教材第4-5章内容。
3. 电子密码锁原理:分析电子密码锁的工作原理,包括密码设置、验证机制和开锁逻辑等,对应教材第6章实例分析部分。
4. VHDL代码编写:根据电子密码锁的原理,指导学生进行VHDL代码编写,实现密码设置、验证和开锁功能,对应教材第7章编程实践部分。
5. 功能仿真与验证:教授学生使用仿真软件进行电子密码锁的功能验证,确保设计的正确性,对应教材第8章仿真技术部分。
6. 课程设计与实践:安排课程设计任务,指导学生分组进行电子密码锁的设计、编程、仿真和调试,培养学生实践能力和团队协作精神。
基于VHDL-4位电子密码锁的设计说明

理工大学本科实验报告题目:基于VHDL 4位电子密码锁的设计课程名称:数字电路课程设计学院(系):电子信息与电气工程专业:电子英强班级:学生:学号:完成日期:2013.7.8成绩:2013 年7 月08 日题目:基于VHDL 4位电子密码锁的设计1 设计要求○1电子密码锁为4位8421BCD码,多于4位,密码只取前4位。
○2在输入密码错误,给出一个错误信号,有三次输入机会,若三次密码都输入错误,则给出一个报警信号,此后只能由密码管理员取消报警信号。
○3在输入密码正确的情况下,可以再次设定密码。
○4每次输入一个密码,将显示在7段数码管上,并依次左移。
○5每次输入密码的时候,按取消(cancel)键可以取消这次密码的输入,课重新输入4位密码。
2 设计分析及系统方案设计在实验室DE2开发板的条件下,考虑到key键只有4个,可以用switch开关来实现密码输入模块,用switch[9]~switch[0] 来实现数字9~0的输入,并通过译码模块将其转化为8421BCD码,由8421BCD码来驱动7段数码管作为密码锁的显示模块。
每按一个键,产生一个上升沿,给4个数码管做时钟,实现没输入一个数左移一位的效果。
为了实现密码输入多于4位,可以构造一个模为4的计数器来控制只取前4位密码。
共有三次输入密码的机会,可以构造一个模为3的计数器来控制。
密码比较模块:当按下确定键(yes)键,则将输入的密码和置密码进行比较。
密码输入模块:当输入密码正确时,再输入密码,利用重置密码键(set_psw)直接将其赋值给置的密码psw即可实现。
LED显示模块,用来显示密码输入的正确与否。
若输入密码与置密码一致,则锁打开,输出一个高电平给LEDG,绿灯亮,密码错误则输出一个高电平给LEDR,红灯亮。
综合上述分析,本系统的硬件部分主要由密码锁输入译码模块、密码锁显示模块、密码锁控制模块、密码比较和重置模块和LED显示模块五个部分组成。
四位密码锁电路课程设计报告

四位密码锁电路课程设计报告密码锁是现代社会中非常普遍的安全保障设备,它可以通过输入正确的密码来解除锁定。
在本次课程设计中,我们将使用数字电子技术设计一个四位密码锁电路。
二、设计原理密码锁电路的设计可以分为四个部分:输入模块、比较模块、控制模块和显示模块。
输入模块:密码锁的输入模块通常采用矩阵键盘。
我们将使用一个4x4的矩阵键盘,其中每个按键都有一个唯一的行列值。
比较模块:比较模块的作用是将输入的密码与预设的密码进行比较,只有当两者相同时,密码锁才能解锁。
在本次课程设计中,我们将使用74LS181芯片来实现比较模块。
控制模块:控制模块的作用是控制电路的工作状态,包括判断是否解锁、控制锁的状态等。
我们将使用AT89C51单片机作为控制模块。
显示模块:显示模块的作用是显示当前密码锁的状态,包括输入的数字以及是否解锁。
在本次课程设计中,我们将使用数码管作为显示模块。
三、硬件设计1. 矩阵键盘矩阵键盘使用横排4个针脚和竖排4个针脚,共计8个针脚。
我们将针脚分别接到P0口和P2口,并使用4个输出口和4个输入口来扫描键盘。
2. 74LS181芯片74LS181芯片是一种4位全加器,可以将两个4位二进制数进行加减运算,并输出运算结果。
在本次课程设计中,我们将使用74LS181芯片来实现比较模块。
3. AT89C51单片机AT89C51单片机是一款8位CMOS微控制器,具有丰富的接口功能。
在本次课程设计中,我们将使用AT89C51单片机作为控制模块。
4. 数码管数码管是一种数字显示器件,可以显示0~9的数字。
在本次课程设计中,我们将使用共阳数码管,将其8个针脚分别接到P1口和P3口。
四、软件设计1. 锁定状态当密码锁处于锁定状态时,数码管显示“0000”,这表示当前密码尚未输入。
当用户按下一个按键时,单片机将扫描键盘输入并将其保存到一个缓冲区中,之后再将其显示在数码管上。
2. 输入状态当用户输入了四个数字后,单片机将把缓冲区中的数字与预设的密码进行比较。
vhdl 密码锁

北京邮电大学数字电路与逻辑设计实验密码锁实验任务与要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。
基本要求:1、密码设置:通过键盘进行4位数字密码设定输入,在数码管上显示所输入数字。
通过密码设置确定键(BTN 键)进行锁定。
2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。
输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或l ed 闪烁报警。
3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
2、密码锁的密码位数(4~6 位)可调。
3、自拟其它功能。
二、系统设计设计思路本设计按照不同功能将具体实现分为不同模块,分别是时钟分频,防抖动,数码管扫描与显示,报警模块,密码验证模块,点阵显示模块,键盘输入模块以及功能键模块。
总体框图分块设计时钟模块:密码锁的工作时钟由外部晶振提供,时钟频率为50Mhz。
对CLK进行分频输出三路时钟CLK1Khz,CLK1,CLK2,频率分别为1Khz,5hz,1hz。
数码管显示与扫描七段数码管是电子开发过程中常用的输出显示设备。
当数码管的中的一个段被输入高电平,则相应的这一段被点亮。
反之则不亮。
四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。
八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。
在键盘获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配,找到键值后在7段码管显示。
电子密码锁vhdl课程设计

电子密码锁vhdl课程设计一、课程目标知识目标:1. 学生理解VHDL语言的基本结构和编程原理;2. 学生掌握利用VHDL进行电子密码锁设计的方法;3. 学生了解电子密码锁的工作原理及其在现实生活中的应用。
技能目标:1. 学生能够运用VHDL语言编写简单的程序;2. 学生能够独立完成电子密码锁的VHDL代码编写、仿真与验证;3. 学生具备分析电子密码锁程序问题及优化代码的能力。
情感态度价值观目标:1. 学生培养对电子信息技术领域的兴趣和热情;2. 学生形成良好的编程习惯,注重团队协作,善于沟通交流;3. 学生认识到电子密码锁在保护信息安全中的重要性,增强信息安全意识。
课程性质:本课程为实践性课程,以项目为导向,结合理论知识与实际操作,培养学生的编程能力和实际应用能力。
学生特点:学生为高年级电子信息技术专业,具备一定的电子基础和编程能力,对实际应用有较高的兴趣。
教学要求:教师需注重理论与实践相结合,引导学生主动参与,鼓励学生思考、提问、实践,提高学生的综合运用能力。
同时,关注学生的个体差异,给予个性化指导,确保每个学生都能达到课程目标。
通过课程学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。
二、教学内容1. VHDL语言基础:回顾VHDL的基本语法、数据类型、运算符、信号与变量等基础知识,确保学生掌握VHDL编程的基本框架。
相关教材章节:第一章至第三章2. 电子密码锁原理:讲解电子密码锁的工作原理、基本构成和设计方法,使学生了解电子密码锁在实际应用中的技术要求。
相关教材章节:第六章3. VHDL编程实践:a) 电子密码锁的VHDL代码编写:引导学生根据电子密码锁原理,编写相应的VHDL代码;b) 代码仿真与验证:教授学生如何使用仿真工具进行代码测试,确保程序的正确性和可靠性。
相关教材章节:第四章、第五章4. 程序优化与调试:分析电子密码锁程序中可能存在的问题,教授学生如何对程序进行优化和调试。
VHDL数字密码锁课程设计

VHDL数字密码锁课程设计一、课程目标知识目标:1. 学生能理解VHDL语言的基本语法和程序结构,掌握数字密码锁的基本原理。
2. 学生能运用VHDL语言编写与数字密码锁相关的程序代码,实现基本功能。
3. 学生了解数字密码锁在实际工程中的应用,理解其重要性。
技能目标:1. 学生能运用所学知识,设计并实现一个简单的数字密码锁系统。
2. 学生通过实际操作,提高编程能力,培养解决实际问题的能力。
3. 学生能通过小组合作,提高团队协作和沟通能力。
情感态度价值观目标:1. 学生培养对电子设计及其编程的兴趣,激发创新意识。
2. 学生认识到科技发展对社会的重要性,增强社会责任感。
3. 学生在团队合作中,学会尊重他人,培养良好的沟通和协作精神。
课程性质:本课程为实践性课程,以培养学生的动手能力和实际编程技能为主。
学生特点:学生具备一定的电子基础和编程能力,对新鲜事物充满好奇心。
教学要求:教师需引导学生将理论知识与实际应用相结合,注重培养学生的实践能力和团队合作精神。
在教学过程中,将目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 数字密码锁原理介绍:包括密码锁的工作机制、安全性分析等。
相关教材章节:第五章“数字密码锁设计原理”2. VHDL语言基础:回顾VHDL的基本语法、程序结构、数据类型和运算符等。
相关教材章节:第三章“VHDL语言基础”3. VHDL编程实践:a) 设计数字密码锁的实体和端口b) 编写行为描述和结构描述代码c) 仿真与调试相关教材章节:第四章“VHDL编程实例”和第六章“数字密码锁设计实例”4. 数字密码锁功能模块设计:a) 密码设置与修改b) 密码验证c) 锁定与解锁功能相关教材章节:第六章“数字密码锁功能模块设计”5. 数字密码锁系统集成与测试:a) 将各功能模块整合到一起,实现完整密码锁系统b) 进行系统测试,验证系统功能及性能相关教材章节:第七章“数字密码锁系统集成与测试”6. 课程项目实践:分组进行数字密码锁项目设计,培养学生的团队合作能力和实际操作技能。
基于VHDL语言的电子密码锁的设计(交)

EDA技术的应用引起了电子产品系统开发的革命性变革。利用先进的EDA工具,基于硬件描述语言,可以进行系统级数字逻辑电路的设计。本文简述了VHDL语言的功能及其特点,并以4位串行手机键盘电子密码锁设计为例,介绍了一种在QuartusⅡ6.0开发软件下,基于VHDL硬件描述语言的复杂可编程逻辑器件(CPLD)的新型电子密码锁设计方法,阐述了其工作原理和软硬件设计方法。该密码锁通过扫描电路、键盘译码电路、弹跳消除电路、控制电路和七段译码电路等实现了密码输入、数码清除、密码激活、电锁解除、密码更改和误码报警等功能。本论文对该密码锁的程序进行了功能和时序仿真,结果表明该密码锁的功能满足设计要求,能够实现正常开锁、上锁和修改密码。该密码锁体积小、功耗低、易于维护和升级,有很好的市场前景。
1133cpld工作原理1234fpga工作原理1441系统设计要求1442系统设计方案14421密码锁输入电路的设计17422密码锁控制电路的设计23423密码锁显示电路的设计2443密码锁的整体组装设计25目录iv2651键盘输入去抖电路的vhdl源程序2852密码锁输入电路的vhdl源程序3153密码锁控制电路的vhdl源程序3654密码锁显示电路的vhdl源程序4261系统仿真分析42611键盘输入去抖电路的仿真42612密码锁输入电路的仿真42613密码锁控制电路的仿真43614密码锁显示电路的仿真4562系统硬件验证48参考文献49致谢引言11课题背景自古以来锁具都是人们心目中的铁将军随着社会物质财富的日益增长和人们生活水平的不断提高人们对它要求也越来越高即要安全可靠又要使用方便
本课题要完成的主要任务是基于VHDL语言的电子密码锁的设计和具体的实现,重点完成各个模块的设计,并保证整个系统的稳定性、可靠性和扩展性,充分考虑后续阶段的开发。
4位锁存器课程设计

4位锁存器课程设计一、教学目标本课程旨在让学生了解和掌握4位锁存器的基本原理、结构和应用。
通过本课程的学习,学生应达到以下目标:1.知识目标:–了解4位锁存器的结构和工作原理;–掌握4位锁存器的真值和反值表;–了解4位锁存器在数字电路中的应用。
2.技能目标:–能够分析4位锁存器的输入输出关系;–能够运用4位锁存器设计简单的数字电路系统。
3.情感态度价值观目标:–培养学生对电子技术的兴趣和好奇心;–培养学生勇于探索、善于合作的科学精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.4位锁存器的结构和工作原理;2.4位锁存器的真值和反值表;3.4位锁存器在数字电路中的应用;4.4位锁存器的输入输出关系分析;5.4位锁存器在实际电路中的设计与应用。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用以下教学方法:1.讲授法:用于讲解4位锁存器的原理、结构和应用;2.讨论法:引导学生探讨4位锁存器的工作原理和应用场景;3.案例分析法:分析实际电路中4位锁存器的应用案例;4.实验法:让学生动手实践,验证4位锁存器的工作原理和特性。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:提供详细的理论知识和实例;2.参考书:为学生提供更多的扩展阅读材料;3.多媒体资料:通过视频、动画等形式展示4位锁存器的工作原理;4.实验设备:提供实物教材,让学生动手实践,加深对4位锁存器的理解。
五、教学评估为了全面、客观、公正地评估学生的学习成果,本课程将采用以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性;2.作业:布置与课程内容相关的作业,评估学生的理解和应用能力;3.考试:安排期末考试,全面测试学生对4位锁存器的掌握程度。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材和大纲,合理安排每个章节的教学内容;2.教学时间:充分利用课堂时间,保证教学内容的充分讲解和实践;3.教学地点:教室和实验室,方便学生进行理论学习和技术实践。
基于VHDL密码锁的设计PPT

完成弹跳消除原理图及仿真波形
输入模块仿真波形
密码锁控制电路
密码锁控制电路,完成对数字按键输入和功能按键 输入的响应控制。 它包括按键数据的缓冲存储电路,密码的清除、变 更、存储、激活电锁电路,密码核对,解锁电路 (开/关门锁电路)等几个小的功能电路数字按键输 入
控制模块仿真波形
密码锁显示电路的设计
可以看出当设定密码为1 5 9 0,当按下*时,ENLOCK出现高电 平,上锁成功。开始解码时,输入的解码值为6 7 0 1,按下#解 锁,密码错误,ENLOCK仍然保持高电平,证明锁没有被打开。 SOUND为按键音当每次有键被按下的时候就伴随着一个伴随音。 当密码输错的时候SOUND一直为高电平当输入正确密码的时候 SOUND才为低电平即报警音消除。接着输入开锁密码1 5 9 0, 按下#键确认,系统判断正确,ENLOCK端变为低电平,SOUND 端也同时变为低电平,证明开锁成功。
密码显示电路的设计比较简单,七段数码管显示 电路主要将待显示数据的BCD码转换成数码器的 七段显示驱动编码。
显示模块仿真波形
密码锁显示电路仿真波形对照仿真图可 以看到,当为1111110时,对应数码管的 a b c d e f为高电平,只有g为低电平, 即数码管显示为0。
密码锁顶层图
密码锁顶层仿真波形
基于VHDL密码锁的设计
指导老师: 作者:
设计要求
设计一个四位密码锁。 该密码锁系统:要求可以用4个数码管显示 并能对密码进行清除,变更等操作。
在MAX+ plus II 设计平台上完成全部编译和仿 真,并下载实现。
密码锁工作模式
密码锁整体设计原理图
密码锁verilog课程设计

课程设计报告课程设计题目:4位串行数字密码锁学号:201420130326学生姓名:谢渊良专业:通信工程班级:1421302指导教师:钟凯2017年1月5日1。
摘要随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。
本设计使用EDA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。
使用EDA环境完成电路的系统综合设计和仿真。
用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁. 本设计基于Verilog HDL语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为键盘模块、连接模块、控制模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。
关键字:密码锁 Verilog HDL2.设计内容设计一个4位数字密码锁子系统1)1.2设计要求开锁密码为4位二进制,当输入密码与锁内给定的密码一致时,方可开锁。
否则进入“错误”状态,发出报警信号。
2)锁内的密码可调。
3)串行数字密码锁的报警,直到按下复位开关,才停下。
此时,数字密码锁又自动等待下一个开锁状态。
3.系统设计本设计中,FPGA系统采用硬件描述语言Verilog按模块化方式进行设计,并用modersim软件对各个模块进行编写仿真。
3.1键盘模块键盘电路理想接口图:flag设计原理:本模块采用2×2的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个按键,flag产生一个矩形波,作为连接模块的触发信号。
同时key_value值为所按下键的编码值,与flag一同传入连接模块。
实际设计接口图:b aflagkey_value键盘模块仿真图:跟据图中所示当输出kevalue:10值的时候,flag出现一个矩形波。
当输出kevalue:11值的时候,flag再次出现上跳沿。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
管理员修改密码:在非警报和为开锁状态下,任何时候按admin键进入管理员状态。按chgcode选择修改密码,先选择修改的是用户密码还是管理员密码。修改用户密码则按user键,修改管理员密码则按admin键。然后分别输入旧密码,新密码,新密码要输入两次。旧密码与所要修改的密码对应。如旧密码输入错误,则无法修改;当验证不成功即两次新密码不相同时,修改密码失败。返回等待状态。成功后也返回等待状态。
chg_c<='0';
new_ctime<="00";
alarm<='0';
elsif clk'EVENT AND clk='1' then
case state is
when ss=>
state<=s0;
when s0=>
if back='1' then
state<=sw;
elsif (ifnum='1' and alarm='0' and chg_c='0' ) then
SIGNAL one_key,code0,code1,code2,code3:STD_LOGIC_VECTOR(3 DOWNTO 0);
SIGNAL user_code,admin_code:STD_LOGIC_VECTOR(15 DOWNTO 0); --用户密码管理员密码
SIGNAL temp_code,old_code:STD_LOGIC_VECTOR(15 DOWNTO 0); --当前密码旧密码
按键设置模块是将各种功能按键用高低电平赋值,便于调用。
设计内容(原理图以及相关说明、调试过程、结果)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
code3<=one_key;
out_code<="0001";
state<=s1;
elsif (ifnum='1' and c_ua='0' and chg_c='1' ) then
old_code<=user_code;
code3<=one_key;
out_code<="0001";
state<=s1;
控制模块是整个程序的主要部分,采用状态循环的办法,以用户每按下一次按键为计量单位,划分状态,以实现各种功能。
60s计时器模块是完成60s没有按键则返回等待状态这一功能的主要模块。这个模块的核心思想是一个变量numtime计数。变量numtime的初始值为0,在无报警为开锁的情况下,时钟每秒发出一个上升沿信号,计数一次,如有按键则numtime清零,否则计数到60即“111100”则返回信号back变为1,返回等待状态。
SIGNAL new_ctime:STD_LOGIC_VECTOR(1 DOWNTO 0);
SIGNAL key:std_logic_vector(7 downto 0);
SIGNAL alarm,inkey,ifnum,s_ua,chg_c,c_ua,back:std_logic;
SIGNAL out_code:std_logic_vector(3 downto 0);
s_ua<='0';
state<=s0;
end if;
when s1=>
if back='1' then
state<=sw;
elsif(ifnum='1')then
code2<=one_key;
out_code<="0011";
state<=s2;
elsif (one_key="0000")then --clear
out_code<="0000";
state<=s0;
elsif (one_key="0100" and chg_c='0') then --user
out_code<="0000";
s_ua<='0';
state<=s0;
elsif (one_key="0011" and chg_c='0') then --admin
SIGNAL numtime:std_logic_vector(9 downto 0);
BEGIN
temp_code<=code0&code1&code2&code3;
key<=user&admin&chgcode&enter&clear&res&key1&key2;
inkey<=user or admin or chgcode or enter or clear or key1 or key2;
elsif (ifnum='1' and alarm='1' and s_ua='1' and chg_c='0' ) then
code3<=one_key;
out_code<="0001";
state<=s1;
elsif (ifnum='1' and c_ua='1' and chg_c='1' ) then
功能描述:
初始状态:初次使用密码锁时,要先用Reset键初始化。初始状态下,用户密码为“1234”,管理员密码为“0000”。
用户开锁:默认情况下,密码锁处于用户使用状态。如果当前为管理员状态,则按下user键回到用户状态。用户开锁时,输入四位数用户密码,可以从out_code6的输出状态确定密码输入状态。如输入错误则按下clear清除前一位输入。输入完毕后按enter,如果密码正确,则开锁,否则重新输入密码。开锁后再次按下enter键则关锁,回到等待状态。三次密码输入错误,警报器alarming为1。要管理员输入管理员密码解除警报。此时哪怕用户再输对密码也没用。
out_code<="0000";
s_ua<='1';
state<=s0;
end if;
when s2=>
if back='1' then
state<=sw;
elsif(ifnum='1')then
code1<=one_key;
out_code<="0111";
state<=s3;
elsif (one_key="0000")then
out_code<="0001";
state<=s1;
elsif (one_key="0100" and chg_c='0') then
out_code<="0000";
s_ua<='0';
state<=s0;
elsif (one_key="0011" and chg_c='0') then
out_code<="0000";
s_ua<='1';
state<=s0;
end if;
when s3=>
if back='1' then
state<=sw;
elsif(ifnum='1')then
code0<=one_key;
out_code<="1111";
state<=s4;
elsif (one_key="0000")then
old_code<=admin_code;
code3<=one_key;
out_code<="0001";
state<=s1;
elsif (one_key="0011"and chg_c='0' )then
s_ua<='1';
state<=s0;
elsif (one_key="0100"and chg_c='0' and alarm='0') then
out_code<="0011";
state<=s2;
elsif (one_key="0100" and chg_c='0') then
out_code<="0000";
s_ua<='0';
state<=s0;
elsif (one_key="0011" and chg_c='0') then
out_code<="0000";