数字逻辑电路实验--基于有限状态机的密码锁
数电实验全过程,保密锁,数字逻辑,组合逻辑
保密锁载入步骤一、编写代码1、File——New project Wizard——Next——注意项目不要建立在altera默认位置,最好建立在U盘上,以免重启时丢失(e:\myproject ——LED_BLINK——LED_BLINK)——Filename空,选next——选择器件(EP2C35F672C6)——Finish2、File——new——Block diagram/schematic——OK3、File——save as(不要做任何改动)4、在图纸上双击鼠标(pin或logic文件夹选元件),先放一个输入按键,选OK——双击管脚,把pin_name修改为input………………然后连线(最后得出如实验指导书62页图3—11所示)5、逻辑图二、编译主窗口“Processing”菜单的“Start Compilation”命令,或者在主窗口上直接用鼠标左键点击“开始编译”命令按钮三、分配管脚Assignmaent——pin planner——A0选择管脚PIN_N25,A1选择管脚PIN_N26,A2选择管脚PIN_P26,F选择管脚PIN_AE22,G选择管脚PIN_AE23四、再编译一次五、仿真1、File——new——V ector Waveform File——把文件名改成与project 名字一致2、导入仿真的信号量:右键——Insert——Node or Bus——Node Finder——List——将两个信号量导入右边——OK——OK——Edit ——Endtime——选择时间长度为1秒——设定input输入的波形,选择波形仿真按钮,得出报告六、下载设计完成后,将计算机并口连接并口延长线,并口延长线连接ByteBlasterll Cable的一端,ByteBlasterll Cable的另一端通过10pin小电缆连接开发板的JTAG口,开发板上电……在Quartusll IDE里面选择tools——programmer——mode栏里选择JTAG,在应文件的program config打勾——点击start开始下载,下载完毕后提示框提示成功,这时按SW0,LEDR0发光,说明程序运行了。
数字逻辑电路-电子密码锁
电子密码锁【用途和摘要】本文的电子密码锁利用数字逻辑电路,实现对门的电子控制,并且有各种附加电路保证电路能够安全工作,具有极高的安全系数。
【本文关键词】电子密码锁、电压比较器、555单稳态电路、计数器、JK触发器、UPS电源。
一、历史背景随着社会的发展,人们越来越重视安全的问题,如学校,公司,企事业单位等,需要保密的文件越来越多,而传统的锁而又无法提供可靠有效的保证,而电子密码锁则正好满足了人们这一需要,即将成为未来的主流选择。
二、总体方案设计1、设计思路本设计共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。
2、总体方框图三、设计原理分析电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。
密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输....次数锁定电路。
1、键盘输入、密码修改、密码检测、开锁及执行电路 .其电路如下图3-1-1所示:图3-1-1 键盘输入、密码修改、密码检测、开锁、执行电路开关K1~K9是用户的输入密码的键盘,用户可以通过开关输入密码,开关两端的电容是为了提高开关速度,电路先自动将IC1~IC4清零,由报警电路送来的清零信号经C25送到T11基极,使T11导通,其集电极输出低电平,送往IC1~IC4,实现清零。
密码修改电路由双刀双掷开关S1~S4组成(如图3-1-2所示), 它是利用开关切换的原理实现密码的修改。
例如要设定密码为1458,可以拨动开关S1向左,S2向右,S3向左,S4向右,即可实现密码的修改,由于输入的密码要经过S1~S4的选择,也就实现了密码的校验。
数字逻辑电路课程设计-电子密码锁
数字逻辑电路课程计课题:电子密码锁姓名:班级:学号:成绩:指导教师:开课时间:2014-2015学年第2学期2007年 6 月 20日电子密码锁摘要:采用逻辑门电路设计电子密码锁,阐述了其工作原理,给出了具体的电路原理图。
该密码锁具有密码预置功能,保密性强,误码报警,并且报警时间可以设定,同时用数码管显示出报警时间。
密码正确时驱动继电器控制开锁指示灯,误码时报警信号由蜂鸣器发出,声音为间歇式鸣笛。
采用自行设计的5V稳压电源供电,具有耗电省等特点。
当密码正确时密码锁可以被打开,绿色二极管亮代表密码正确,锁可以打开。
密码不正确时,红色二极管被点亮,同时蜂鸣器鸣笛5秒,数码管显示5秒计时;计时结束时,20秒计时开始。
关键词:电子密码锁;数字电路;预置密码;误码报警Using logic gate design of electronic combination lock, this paper expounds its working principle, gives the specific circuit principle diagram of the combination lock with password preset function, strong confidentiality, error alarm, and alarm time can be set, at the same time using digital tube display the alarm time. Password correctly drive relay control lamp, when the error alarm signal by a buzzer, voice for intermittent ing self-designed 5 v regulated power supply, has the characteristics of power saving electricity. When the correct password combination lock can be opened, the green led light on behalf of the correct password, the lock can be opened. Password is not correct, the red leds lit up, at the same time a buzzer honking 5 seconds, the digital tube display 5 seconds time, at the end of the timing, 20 seconds timer starts.Keywords: electronic password ,combination lock,digital circuit preset ,Error alarm目录1、设计背景 (4)2、设计方案 (5)2.1原理框图 (5)2.2总体思想 (5)3、方案实施 (7)3.1.1密码输入 (7)3.1.2密码存储 (8)3.1.3比较电路 (8)3.1.4 5秒计时器 (9)3.1.5 20秒计时器 (10)3.2电路仿真 (11)4、结果与结论 (12)5、收获与致谢 (14)6、参考文献 (15)1、设计背景1.1背景及其发展前景随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。
利用数字电路实现的电子密码锁
3 密码检测与修改电路
3 . 1 元器件 介绍 7 4 L S 8 5 D 一一 数值 比较器 7 4 LS 8 5 D为4 位数 值 比较器 ,共 有5 4 / 7 4 8 5 、5 4 / 7 4 S 8 5 、 5 4 / 7 4 L S 8 5 _  ̄种线路结构形式 。 7 4 L S 8 5 D 可进行二进制码和B C D 码 的比较,对两个4 位字的比 较的结果由三个输 出端 ( F A > B,F A = B , F A < B)输 出 将若干个数 值 比较器级联就可比较较长的字,此时低级位的F A > B , F ቤተ መጻሕፍቲ ባይዱ = B , F A < B 连接到高级位相应的输入A > B 、A = B 、A < B , 并使低级位的A = B 为高 电平 。由密码输入 电路和密码设定 电路输出的信号 ,分别输入 到 A、B 两组管脚中,在7 4 L S 8 5 D中实现信号的 比较 ,选择O A E QB 管 脚输出,当A、B 两组输入完全相 同时,输 出1 ,否则为0 ,从而对 密码进行比较并输出开关控制及输出电路,进行处理。
2 _ 2 原 理
0 引言
传统 的机械 锁安全性能较低, 电子密码锁不仅保密 性好,其 安全指数 远超机械锁 。此文 以键 盘式 电子密 码锁为例 来分析利 用数字 电路实现的密码锁 。
1 设计原理总图
本 电路经过7 4 L S 8 5 D验证密码后进 入后续计 数器当 中开 始 计数 。7 4 L S 1 6 0 是十 进制 加法计数器 ,7 4 L S 1 6 1 是十六进 制加 法 计数器 ,他们 的C P 控端接 外来时钟脉冲C P ,进位输 出C,在 做 两个芯片级联 时,进位 输出C 接高位的7 4 L S 1 6 0 的工作状 态控 制 端C E P 和C E T ,当C E P 和C E T 端 同为 高电平 时,高位 计数器才可 以计数 。但一般人为输入密码 时间为1 5 s ,为 了防止他人 的非法 操作 ,设计 限时电路可 以在 1 5 s 以后开始报警并将其 电路 锁定 , 这样就使得密码锁 的安全系数大大提高。 密码 错误信 号发出后不经 过限时 电路 直接进入报 警锁定 电 路,而输入密码时间超过 1 5 s ,就算密码正确也会进入报警锁定 电 路。5 5 5 定时器作为脉冲源使得两个计数器正常工作,可 以使得输 入时间控制在1 5 s 以内,这样限时电路的功能就体现出来了。
数电实验报告电子密码锁设计
数电实验报告电子密码锁设计
实验报告
实验十四电子密码锁设计与实现
3.4.1 实验目的与设计要求
目的:(1)学习4位数值比较器CC14585和74LS85的功能。
(2)掌握电子密码锁的工作原理及综合实验技能。
要求:(1)电路可以由主持人预置16种不同的开锁密码,并能够更换。
(2)当输入和预置开锁密码相同时,发出开锁信号(LED 显示)。
(3)如果连续三次输入错误密码即产生报警信号。
报警信号用声光报警电路指示(蜂鸣器等)。
(4)具备能够取消报警状态的功能。
3.4.2 实验仪器与器件
直流稳压电源一台;数字实验箱一个;计算机一台。
74LS75锁存器、74LS00、74LS10、74LS20、4位数值比较器CC14585或74LS85。
3.4.3 实验原理框图
设计思路:用74LS194四位寄存器作锁存电路,74LS75四位锁密
码
预
置
输
入锁存电路密码比较电路密码锁存装置计数器确认按钮
报警电路开锁电路确认按钮
密码输入
存器作密码锁存装置,4位数值比较器4585作密码比较电路,74LS160作计数器。
当连续三次输入错误密码即产生报警信号同时锁住,此时再输入正确密码不产生开锁信号。
仿真图如下:。
数电实验—密码锁报告
电子密码锁实验报告姜岳松一、实验目的1.了解电子密码锁的原理,学会用硬件描述语言来建立电子密码锁的模块。
2.利用该软件进行可编程逻辑器件设计,完成电子密码锁的逻辑仿真功能。
3.使用编译器将设计实现,下载到JDEE—10实验箱上进行调试和验证所设计的电子密码锁的功能。
二、实验器材1.Pentium—Ⅲ计算机一台;2.JDEE—10实验箱一只;三、实验要求设计一个电子密码锁,实现以下的功能:用8个拨码开关分别代表预设的密码和输入待验证的密码。
一个微动开关做为触发判断。
判断结果通过点阵和蜂鸣器表示。
正确的话,所有点阵的绿色灯点亮,同时蜂鸣发出“di”声。
否则,点阵显示红色,同时蜂鸣“do”音。
四、实验方案及设计过程1.第一部是实验电子密码锁的基本功能,该程序的主体是一个密码判断程序:首先是将输入的预设的密码和待验证密码用数组储存起来进行比较,比较结果通过IF语句,相同则触动绿色点阵和蜂鸣器的一个频率,不同则触动红色点阵和蜂鸣器的另一个频率2.开始丰富附肢程序:两种不同的响声需要两个计数器来产生不同的频率;要有一个上升沿保证颜色显示程序和密码判断程序以一个高频率运行,需要一个计数器;一个密码验证开关,由微动开关实现,在密码验证开关触动后能够保持一个高电位,这样则需要一个由D触发器构成的锁存器来锁定高电平。
3.点阵的显示:点阵的显示控制,由于显示OK的原代码之前已经练习过,然后设计好NO的字符,可以直接完成拓展之一。
此部分不需要详述。
五、拓展功能设计拓展主要是为了实现八位密码,这样所有的拨码开关都要用上,所以还需要两个微动开关来确定密码设定和输入。
同时,微动开关启动后,能够将拨码开关的密码储存到数组A[7..0]和B[7..0]中,待判断开关启动后调用,所以要用寄存器储存起来,所以声明一个串进串出的寄存器。
同时对主程序的判断器的输入变量进行修改。
六、顶层文件和源程序文本文件顶层文件文本:SUBDESIGN ECLOCK ( a[7..0],b[7..0]:input;key: input;freq1,freq2: input;red: output;green: output;spk: output;)begindefaultsred=gnd; green=gnd;spk=gnd;end defaults;if key thenif a[]==b[] then red=vcc;spk=freq1;else green=vcc;spk=freq2;end if;end if;end;点阵显示文本:subdesign leddiaplay( green,red: input;clk[2..0]: input;row[8..1],colred[16..1],colgreen[16..1]: output; )begindefaultscolred[]=h"ffff";colgreen[]=h"ffff";end defaults;if green thentableclk[2..0]=>row[8..1],colgreen[16..1];H"0" =>H"1", H"DBC3"; %1101 1011 1100 0011% H"1" =>H"2", H"EBDB";H"2" =>H"4", H"EBDB";H"3" =>H"8", H"F3DB";H"4" =>H"10", H"F3DB";H"5" =>H"20", H"EBDB";H"6" =>H"40", H"EBDB";H"7" =>H"80", H"DBC3";end table;end if;if red thentableclk[2..0]=>row[8..1],colred[16..1];h"0" =>h"1", h"C3DB";h"1" =>h"2", h"DBD3";h"2" =>h"4", h"DBD3";h"3" =>h"8", h"DBC3";h"4" =>h"10", h"DBCB";h"5" =>h"20", h"DBCB";h"6" =>h"40", h"DBCB";h"7" =>h"80", h"C3DB";end table;end if;end;寄存器文本:SUBDESIGN register(clk,load,d[7..0] :input;q[7..0] :OUTPUT;)VARIABLEff[7..0] :DFFE;BEGINff[].clk=clk;ff[].ena=load;ff[].d=d[];q[]=ff[].q;end;七、试验中遇到的问题1、设计八位密码的时候,需要将八位的密码输进判断器,起初采取的不是寄存器的手段,而是自己定义了一个使能开关,当微动开关高电平就允许密码通过使能开关到达a[7..0]或者b[7..0],但是实验发现这样密码并不能被储存起来,后来想明白应该是由于并没有变量储存的机制,所以要想将变量储存必须有寄存器才行,根据教材定义寄存器后,该问题得到解决。
数字密码锁的控制电路实验报告
数字密码锁的控制电路实验报告摘要:本实验旨在设计和实现一个数字密码锁的控制电路。
通过使用数字集成电路和逻辑门电路,我们成功地实现了一个简单而有效的数字密码锁系统。
实验结果表明,该控制电路能够准确地识别输入的密码,并控制锁的开关状态。
本实验为数字密码锁的设计和应用提供了有益的参考。
引言:数字密码锁是一种常见的安全措施,广泛应用于各种场合,如家庭、办公室和酒店等。
它通过输入正确的数字密码来控制锁的开关状态。
本实验旨在设计和实现一个数字密码锁的控制电路,以便更好地理解数字密码锁的工作原理和应用。
材料与方法:1. 数字集成电路(例如74LS47、74LS74)2. 逻辑门电路(例如74LS08、74LS32)3. 七段数码管4. 按钮开关5. 电源和电线6. 面包板和连接线实验步骤:1. 将数字集成电路和逻辑门电路按照电路图连接在面包板上。
2. 将七段数码管和按钮开关连接到电路中相应的引脚上。
3. 将电源和电线连接到电路中,确保电路正常工作。
4. 设计一个四位数字密码,并将其编程到电路中。
5. 测试电路的功能,尝试输入正确的密码并观察锁的开关状态。
结果与讨论:经过实验,我们成功地设计和实现了一个数字密码锁的控制电路。
该电路能够准确地识别输入的密码,并根据密码的正确与否控制锁的开关状态。
当输入正确的密码时,锁会打开;当输入错误的密码时,锁会保持关闭状态。
通过实验,我们发现数字集成电路和逻辑门电路在数字密码锁的控制中起到了关键作用。
数字集成电路负责将输入的密码转换为七段数码管上的数字显示,而逻辑门电路则负责判断输入的密码是否正确,并控制锁的开关状态。
此外,我们还发现,设计一个安全可靠的数字密码锁需要考虑以下几个因素:1. 密码的复杂性:密码应该足够复杂,以防止被他人轻易猜测或破解。
2. 锁的安全性:锁的机械结构应该坚固可靠,以防止被非法开启。
3. 电路的稳定性:电路应该能够稳定地工作,并能够抵抗外界的干扰。
数字密码锁实验报告
数字密码锁实验报告⼀、主要要求及指标:1.设置三个正确的密码键,实现按密码顺序输⼊的电路。
密码键只有按顺序输⼊后才能输出密码正确信号。
2.设置若⼲个伪键,任何伪键按下后,密码锁都⽆法打开。
3.每次只能接受四个按键信号,且第四个键只能是“确认”键,其他⽆效。
4.能显⽰已输⼊键的个数(例如显⽰* 号)。
5.第⼀次密码输错后,可以输⼊第⼆次。
但若连续三次输⼊错码,密码锁将被锁住,必须系统操作员解除(复位)。
⼆、设计⽅案1.⽅案原理图:输⼊控制伪码键密码键确认键按键个数计数74LS164复位返回键复位键值锁存密码顺序判别亮灯显⽰输出控制亮灯报警密码正确2. 基本原理:输⼊按键,当密码键按正确循序按下,密码信号输⼊D触发器构成的移位寄存器,输⼊正确时信号从Q1移到Q3 ,Q3为“1”时输出密码正确信号,亮绿灯显⽰正确,否则信号传递失败,灯不亮。
按键同时⽤74164记录按键个数,⽆论密码键还是伪键,每次按键都产⽣⼀个脉冲,输出⼀个按键信号使⼀盏灯亮。
当最后位按键(第四位)不是“确认键”时,亮起红灯提⽰,重新按键。
扩展部分:当连续三次输⼊错码,74164计数电路输出错误信号,亮起红灯报警,同时使⽤与门控制使密码锁被锁住,此时必须系统操作员解除(复位)。
3.设计⽅案⽐较:按键个数计数电路我们考虑了两个⽅案。
⼀是:74164记录按键个数,⼆是由D触发器构成移位寄存器计数。
D触发器计数需使⽤更多元件,且增加电路复杂程度,使安全性稳定性⼤⼤降低,故我们最终选择了74164移位寄存器记录按键个数。
三、单元电路设计计算1、本电路主要包含四部分,分别是密码电路、按键个数计数电路、错误输⼊计数电路和防抖电路。
2、密码电路(硬件固化密码)1)⼯作原理当密码键按正确顺序按下,密码正确信号从Q1移到Q3,Q3为‘1’时表⽰密码正确输⼊。
2)D触发器7474N⼯作原理真值表:时序图:3)电路图本部分由4个D触发器和6个开关构成。
其中前三个D触发器分别代表密码的三位,第四个D触发器是确认键。
基于VHDL语言有限状态机的电子密码锁设计
设计 , 按功能划分为若干模块, 然后对每一个模块进 一步细分, 直 至得 到简单 易实现 的子模块 ,最后分别对各个子模块进行 V HDL建模 。所设计的 电子密码锁 F P G A 内部系统结构框 图 如图 1 所示 。系统主要 由 6个模块构成 , 分别是控制模块、 计 数器模块 、 寄存器模块 、 比较模块 、 编码模块和显示模块 。
・密码脉冲 ( p s i ) 作为计数 时钟 , 计数
值 输 出作 为 寄 存 器 的地 址 , 当 计 数器 计 到 4时 , 计 数 器计 满 信 号c i n = l , 如 果 通 过 比较模 块 比较 密 码 正 确 的 话 , 则 进 入 密码 初 验正确状态 , 如果密码错误 , 则进入密码初验错误状态; 在 密
2 . 1控 制模 块 的设计 与 实现
控 制模 块是整个系统的核心,其主 要作 用是接 收按键 和 其 他模块传 递来的信 号,然后 根据 系统的功能产 生相 应的控 制 信号并送 到相 关的模块 ,同时控制钥匙信 号 ( 开锁或上锁) 和报警信号。控制模块采用有限状态机进行设计,根据系统
还包括无线二维码识别器、教学网络服务平台的设计及各部 件之间的多种无线通信对接、 音视频互动输 出等 , 并且学习平 台的有效利用还离不开二维码教学资源的制作及相应网络资
源的建设 。
[ 4 ] 徐凯, 钱燕, 魏宗群, 蔡俊 , 仇捷. 基于 T MS 3 2 0 D M3 6 5的 3 G 实时视频传输 系统 设计 与实现[ J ] . 浙江农业科学, 2 0 1 2 基金项 目: 淮安信息职业技术学院科研基 金项 目“ 基于物联网 的互动学习平 台研 发( 课题编号: h x y q 2 0 1 3 0 1 3 ) ” 研 究成果 。 作者简介: 龚佑红 ( 1 9 8 0 . ) , 女, 湖北公安人, 硕士 , 讲师 , 工程
数字逻辑-电子密码锁
数字逻辑大作业报告设计题目:电子密码锁班级: 1203105任课教师:张彦航计算机科学与技术学院1. 目录:1. 目录: (2)2. 设计目的及要求 (3)2.1设计目的: (3)2.2设计要求: (3)3. 工作原理、系统方框图 (4)3.1工作原理 (4)3.2系统方框图 (7)4. 各部分选定方案及电路组成、相关器件说明 (8)4.1输入单元 (8)4.2比较单元 (8)4.3记录步骤单元 (10)5. 调试过程 (10)6. 设计结论 (11)6.1设计综述 (11)6.2设计结论 (11)6.3设计缺陷 (11)7 设计心得与总结 (12)1: (12)2: (12)3: (13)8. 参考文献 (13)9. 附录 (14)附录一:总体器件表及相关器件的功能表、管脚分布 (14)键盘(真): (14)比较单元: (15)计时单元: (15)附录二:总体设计图 (16)附录三:仿真结果 (17)附录四:小组各成员分工 (19)2. 设计目的及要求本次大作业中,我们选择了题目1:电子密码锁的设计。
2.1设计目的:通过利用现有电路元件或自行设计元件,调动学习过(主要关于编码器、锁存器、环形计数器方面)的知识,独立完成从设计、选片、连线、调试、排除故障到实现一个数字密码锁的全过程,并书写实验报告,从而利用技术解决比较复杂的实际问题,提升综合能力。
2.2设计要求:外部设计:1)设计一个开锁密码为4位数字的密码锁,外观上有一个八位数字键盘,一个输入密码完成开关,一个开始修改密码开关,两个指示灯,一红一绿,另有置于密码锁内部的电源开关和清空输入次数开关;用户使用:2)使用者可以通过一个八位数字键盘输入密码,第一次按下数字开关后即开始计时,五秒内完成密码输入后,按开锁键即可校验密码;3)如果密码正确,绿灯亮起,密码锁打开;如果密码错误,红灯亮起,密码锁不打开,使用者须继续输入密码;4)如果使用者输入密码正确,还可以选择修改密码(但新密码只能使用真键设置),输入新密码完成后,按下清空输入次数开关即可让密码锁继续正常工作;5)如果输入者连续两次输入错误密码,则密码锁内部锁死,即使输入正确密码也不能再次打开;6)如果输入者没在五秒内完成密码输入,密码锁也将自动锁死;内部实现:7)键盘设置的八个数字键盘中,有四个是伪键,四个是真键,密码锁只能识别真键,所有伪键都只影响按键次数,而不提供实际信息;8)密码锁的内部,输入的每位密码都将付诸比较(如果是伪键输入则比较结果恒为假),输入第四位或第八位密码并按下输入完成键后,输出总的比较结果;9)第一次按动按钮即触发一个计时器,使用外部时钟源(每秒一脉冲),五秒后锁定密码锁,此后的输入都不会起效;3. 工作原理、系统方框图3.1工作原理该密码锁由四部分组成:1)密码输入和修改部分:上图为一个输入单元:①、1D输入为1,2D输入为0时,左侧输出为1,右侧输出为0。
数字逻辑电路课设电子密码锁电路
目录1 课题背景 (1)1.1 目的意义 (1)1.2 基本理论基础 (1)2 方案比较与选择 (2)2.1 方案一 (2)2.2 方案二 (3)2.3 方案选择 (3)3 组合逻辑电路 (4)3.1组合逻辑电路的分析方法 (4)3.2组合逻辑电路的设计 (5)4 TTL与非门电路 (6)4.1 74LS00芯片引脚图及功能表 (7)4.2 74LS20芯片引脚图及功能表 (9)5 电路原理图 (10)6 总结与心得 (10)参考文献 (12)1 课题背景1.1 目的意义随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,而且各种各样的电子产品也正在日新月异地向着高精尖技术发展。
由于电子产品的功能不断增加,使用也越来越方便,有些产品已经成为了人们日常生活中不可缺少的必备物品。
发展历史悠久的机械式门锁,因其功能单一,安全性能较差等缺点,必将被新一代的电子门锁所代替。
新颖的多功能电子门锁,集电子门锁、防盗报警器,门铃等功能于一身,而且还具有定时器呼唤,断电自动报知,显示屋内有无人和自动留言等诸多附加功能。
在未来的生活中,数字密码锁必将在学领域再创新的成绩,将给我们的生活带来更大的便利,前景不可估量。
1.2 基本理论基础TTL门电路基础芯片为基本,通过芯片间功能的组合,可实现各种实用的功能。
本实验主要用与非门电路元件芯片实现试验目的。
并自拟以下两种方案。
2 方案比较与选择2.1 方案一方案一如图2.1所示。
图2.1 方案一由4个单刀双掷开关构成密码开关,用户可以通过控制开关来控制A、B、C、D四个输入端的电平的高低,进而控制输出电平的高低以及报警信号的工作。
当输入端与设置的密码相符时,则输出为高电平,二极管亮,否则输出为低电平,并且发出报警,即蜂鸣器发出响声,至此完成电路的设计。
2.2 方案二方案二如图2.2所示。
图2.2 方案二用4个异或门连接输入端,并分别于反相器连接,再相与。
当输入密码与设置密码相同时,电路输出为高电平,发光二极管不亮,当输入密码与设置密码不相同时,电路输出为低电平,发出报警,发光二极管亮。
数电课程设计密码锁
数
电课程设计 1.设计题目:
密码锁
2.设计要求:
该锁有4个密码拨动开关(设定0和1)来设置密码,一个开箱钥匙孔(能接通电池)。
当用钥匙开箱时,如果输入的4位密码正确,箱被打开;否则,电路将发出警报(发光二极管亮表示)。
要求锁的密码在第一次使用时能由用户自行进行一次性设定(机械方式)。
设计框图
3.设计思路
4
.设计分析
(1) 密码输入及设定密码:4
个密码拨动开关,4位密码的输入用DSWPK-4实现。
DSWPK-4
(2)与设定密码比较
可用74x85 4位比较器,但由于未在multisim里找到,于是用4个74x86代替。
74x86
将两个74x138 3-8译码器级联成4-16译码器,如下图
其中6口接高电平
74x138真值表
5.电路原理图
Led1灯亮的时候是报警信号,led2灯亮的时候说明锁已打开,用开关A模拟钥匙,闭合时视为插入钥匙。
5v的VCC视为电池。
使用到的其他元件有,8输入与非门,3kΩ电阻,2输入或门,开关等。
数电课程设计电子密码锁
数字逻辑设计课程设计报告书题目名称:电子密码锁学院:光电信息学院小组成员:钟永捷2011059080024侯晨涛2011059170003徐昊2011059060029指导教师:李力日期: 2013年6月28日一、小组成员分工情况侯晨涛:所有编程工作、资料查找工作量:60%钟永捷:辅助编程、图表制作、资料查找工作量:20%徐昊:论文写作、图表制作、资料查找工作量:20%二、题目分析1.输入信号通过扫描键盘的行与检测键盘的列得到输入信号。
2.输出信号通过译码器得到的显示器显示信息,开关锁动作。
三、设计总框图四、各模块说明(一)键盘扫描模块1.原理通过时序信号产生脉冲,不间断地向矩阵键盘的行输入1110-1101-1011-0111的循环序列。
同时将各列的电平置高,检测矩阵键盘各列的电平变化。
若在一定时间内,扫描到第n列电平为零时恰好第m行的m,位置上键被按下。
输入电平也为零,则判断键盘上[]n2. 模块框图3. 状态表此模块只需要通过编码器实现即可,假定前四位表示各行扫描结果,后三位表示各列扫描的结果。
4.仿真结果Key_in代表按键按下与否情况,Key_mem将其记录并输出,scan为行扫描信号,Key_out为按键输出值。
如上仿真结果所示,当scan为1110时,扫描第一行。
按下第一个键,即Key_in为110,此时Key_out 为0001,即输出值为1。
其它状态依此类推。
(二)输入模块1.原理设置两个寄存器,一个作为用户所想设置密码的密码寄存器。
另一个寄存器则是将键盘Input的键值存储起来。
最后通过一个比较器将两个寄存器的值进行比较。
若相同则输出“open”,反之,输出“error”。
比较器内部通过多位异或门实现。
2.模块框图3.状态图1)删除字符第一次输入值为0101,Number_sig第0到3位将其保存。
第二次输入值为0011,Number_sig第4到7位将其保存。
第三次输入值为0001,Number_sig第8到11位将其保存。
数电课程设计-电子密码锁
数电课程设计-电子密码锁电子密码锁设计任务及要求:使用电子器件设计制作一个密码锁,只有输入正确的代码时才能开锁。
在锁的控制电路中设一个可以修改的4位代码,当输入的代码和控制电路的代码一致时,锁打开。
用红灯亮、绿灯灭表示关锁,绿灯亮、红灯灭表示开锁。
如果30秒内未将锁打开,则电路自动复位进入自锁状态,并发报警信号。
方案设计及论证:设计思路是设多组用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,输入的密码无效。
电路内部设置一个密码校验电路来验证密码正确与否,只有密码输入正确才能输出开锁所需的信号。
还应设置一组密码修改按键。
但用户按动输入开始键开始计时(只有按动了输入开始键之后输入的密码才有效),密码输入时间超过设定时间电路将报警,只有输入正确密码或断开电源报警铃才能停止,同时电路自锁,防止他人的非法操作。
具体方案如下:设17个用户输入键,其中只有4个是有效的密码按键,其它都是干扰键,还预设了4个密码修改键。
打开输入开关,电路开始计时,输入密码,开始校验,密码正确则开锁(绿灯亮表示开锁)同时停止计时;如果密码输入错误,则运行555单稳态电路密码锁定5分钟(红灯亮表示关锁),输入时间超过30秒密码也会锁定。
本文介绍了一个基于逻辑电路原理设计的电子密码锁电路。
该电路包括16个密码按键,其中4个为有效输入按键,采用4位密码输入。
只有在输入正确的密码后,才能实现对灯的电子控制。
该电路还包括各种附加电路,如报警和锁定功能,从而具有较高的安全系数。
该电路经过多次修改和整理,可以满足人们的基本要求。
但是,由于水平有限,该电路中存在一定的问题。
例如,电路的计时功能有误差,不能精确地对电路进行限时输入。
此外,用开关作为74LS112的CLK脉冲不是很稳定,可以考虑调换其他高速开关或计数脉冲。
最后,电路中未加显示电路,但可以通过其他数字模块实现这一功能。
为了进一步完善该电路,本文使用EWB软件对设计电路进行了逐步调试。
电子实验三 密码锁实验
实验三 密码锁实验一.实验任务设计一个保险箱的数字代码锁,该锁有规定的4位代码A,B,C,D 的输入端和一个开箱钥匙孔信号E 的输入端,密码自编(如1011)。
当用钥匙开箱时(E=1),如果输入代码符合该锁规定代码,则打开(X=1);如不符,电路将发出报警信号(Y=1)。
要求用最少的与非门实现电路。
(用7400,7420各一片)。
二.实验思路开锁条件 钥匙插入 E=1密码正确 CD B A →X=1 密码错误 CD B A →Y=1如果钥匙未插入,即E=0→ABCD 无论什么状态都亮灯→Y=1三.逻辑状态表四.逻辑表达式及其化简X⋅⋅⋅=A=EBCDABECDEY=YX五.逻辑图六.实验所用芯片图七.电路连接图八.实验总结1、实验主要涉及我们所学的20章《门电路与组合逻辑电路》方面的内容,应用20.3 TTL与非门电路,两种芯片分别是74LS20(4输入2门)和74LS00(2输入4门)。
2、A、B、C、D四个输入端,应该是用7420芯片4输入2门,这里的密码设为了1011,所以A端与7420 1端相连,B端要先经过7400 1、2端并短接,从3端输入与7420 2端相连,C端与7420 4端相连,D端与7420 5端相连,最后,从7420 6端输出,经过7400 4、5端并短接,9、10端分别接8端和E,从8端输出,如果线路到这里结束,就表示密码输入错误,X=0,Y=1, 2灯亮,发出警报。
经过7400 12、13端并短接,从11端输出,则表示密码输入正确,X=1,Y=0,1灯亮,保险箱正确打开。
3.对于这个电路,设计的时候只用到了TTL与非门电路,以涉及得更广一些,对于保险箱,如果在密码错误时,能连上一个报警器,发出声响,也许会使实验更加有实际意义。
数字电路设计实验-简易密码锁
数字电路设计实验报告——简易密码锁学院:班级:学号:姓名:目录●任务要求●系统设计✓设计思路✓总体框图✓分块设计●波形仿真及波形分析●源代码●功能分析●故障分析及问题解决●总结及结论●任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。
基本要求:1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上显示所输入数字。
通过密码设置确定键(BTN 键)进行锁定。
2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。
输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。
3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
2、密码锁的密码位数(4~6 位)可调。
3、自拟其它功能。
●系统设计设计思路将电子密码锁系统分为三个部分来进行设计,数字密码输入部分、密码锁控制电路和密码锁显示电路。
密码锁输入电路包括时序产生电路,键盘扫描电路,键盘译码电路等,将用户手动输入的相关密码信息转换为软件所能识别的编码,作为整个电路的输入。
密码锁控制电路包括相应的数据存储电路,密码核对电路,能够进行数值的比较,进行电路解锁,开锁,密码的重新设置等。
密码锁显示电路包括将待显示数据的BCD 码转换成数码管的七段显示驱动编码,密码锁在相应的状态下的点阵输出以及蜂鸣器的报警输出。
总体框图按复位键 键入初始密码0000 密码错误密码正确 按确认键 按复位键按确认键密码锁显示电路 密码锁控制电路 数码管显示报警电路密码更改与密码设计电路键入状态闭锁状态开锁状态 报警状态分块设计✓键盘扫描电路首先,向列扫描地址逐列输出低电平,然后从行码地址读回,如果有键摁下,则相应行的值应为低,如果没有按键按下,由于上拉的作用,行码为高。
数电实验 数字锁
9.4 数字锁1.简要说明数字锁即电子密码锁,锁内有若干密码,所用密码可由用户自己选定。
数字所有两图9-10 总体框图类:一类是并行接收数据,称为并行锁;一类是串行接收数据,称为串行锁。
如果输入代码与锁内密码一致,锁被打开;否则,应封闭开锁电路,并发出报警信号。
2.任务和要求设计一个8位串行数字锁,并验证其操作。
具体要求如下:(1)开锁代码为8位二进制数,当输入代码的位数和位置与锁内给定的密码一致,且按规定程序开锁时,方可打开,并点亮开锁灯LT。
否则,系统进入“错误”状态,并发出报警信号。
(2)开锁程序由设计者确定,并要求锁内给定的密码是可调的,且预置方便,保密性好。
(3)串行数字锁的报警方式是点亮指示灯LF,并使喇叭鸣叫来报警,直到按下复位开关,报警才停止。
此时,数字锁又进入自动等待下一次开锁的状态。
总体框图如图9-10所示。
3.模块及模块功能模块FEN如图9-11所示。
此模块分频产生占空比为1:10000的方波,用于消除抖动。
library ieee;use ieee.std_logic_1164.all;entity fen isport(clk:in std_logic;clk1:out std_logic);end fen;architecture fen_arc of fen isbeginprocess(clk) 图9-11variable cnt:integer range 0 to 9999;beginif clk'event and clk='1'thenif cnt=9999 thencnt:=0;clk1<='1';elsecnt:=cnt+1;clk1<='0';end if;end if;end process;end fen_arc;模块XIAOPRO如图9-12所示。
它是消抖同步模块。
library ieee;use ieee.std_logic_1164.all;entity xiaopro isport(a,clk1:in std_logic;b:out std_logic);end xiaopro;architecture xiao_arc of xiaopro is 图9-12signal tmp1:std_logic;beginprocess(clk1,a)variable tmp3,tmp2:std_logic;beginif clk1'event and clk1='0'thentmp1<=a;tmp2:=tmp1;tmp3:=not tmp2;end if;b<=tmp1 and tmp3 and clk1;end process;end xiao_arc;模块CORNAA如图9-13所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数电实验三报告姓名:xxx班级:xxx 学号:xxxx实验:基于有限状态机的密码锁一、实验目的学习如何通过Verilog HDL 编程,利用Basys3板上的开关控制七段数码管实现四位密码锁。
二、实验要求使用有限状态机设计一个 4 位密码锁。
利用 Basys3 板上的滑动开关 sw[0]到sw[9]分别代表 0‐9 十个数字,依次输入 4 位不重复的密码。
如果密码输入顺序与设计设置的一致,则显示大写字母P,否则显示大写字母F。
注意,即使密码输入错误,也必须在输入完整的 4 位密码输入,才能显示大写字母 F。
三、实验设计及内容1.基础版实验代码module doorlock(input CLK,input clr,input [9:0] sw,output reg [10:0] display_out);reg[3:0] present_state,next_state;parameter S0=4'b0000,S1=4'b0001,S2=4'b0010,S3=4'b0011,S4=4'b0100,E1=4'b0101,E2=4'b0110,E3=4'b0111,E4=4'b1000;reg [29:0] count;reg [9:0] keys=0;always @(posedge CLK or posedge clr)beginif (clr) count<=0;else count<=count+1;endassign clk_3=count[24];// ~3Hzalways @(posedge clk_3 or posedge clr) // STATE TRANSITIONbeginif (keys!=sw) keys <= sw;if (clr) present_state <= S0;else present_state <= next_state;end// Demo for Finite State Machine// the correct password is 0->1->2->3 (Switch sw[0]->sw[1]->sw[2]->sw[3] in order. always @(*)begincase (present_state)S0: beginif (~|keys[9:0]) next_state <=S0; // no key pressedelse if (keys[2]) next_state <=S1; // first valid key pressedelse next_state <=E1; // first invalid key pressedendS1: beginif (~|keys[9:3]&&~|keys[1:0]) next_state <=S1; // no key pressedelse if (keys[1]) next_state <=S2;// second valid key pressedelse next_state <=E2;// second invalid key pressedendS2: beginif (~|keys[9:3]&&~|keys[0]) next_state <=S2; // no key pressedelse if (keys[7]) next_state <=S3; // third valid key pressedelse next_state <=E3;// third invalid key pressedendS3: beginif (~|keys[9:8]&&~|keys[6:3]&&~|keys[0]) next_state <=S3; // no key pressedelse if (keys[3]) next_state <=S4;// fourth vaild key pressedelse next_state <=E4;// fourth invalid key pressedendS4: beginif (~|keys[9:8]&&~|keys[6:4]&&~|keys[0]) next_state <=S4; // no keypressedelse next_state <=E1; // fifth key pressed, but ignored *** endE1:beginif (keys!=sw) next_state <=E2; // second invalid key pressedelse next_state <=E1; // no key pressedendE2:beginif (keys!=sw) next_state <=E3; // third invalid key pressedelse next_state <=E2; // no key pressedendE3:beginif (keys!=sw) next_state <=E4; // fourth invalid key pressedelse next_state <=E3; // no key pressedendE4: next_state <=E4; // the additional keys are ALL ignored ***default: next_state <=S0;endcaseendalways @(*) // indicate the number of inputs and display the tag begincase(present_state)S4: display_out<=11'b0111_0011000;// P in left-most segmentE4: display_out<=11'b1110_0111000;// F in right-most segmentS0: display_out<=11'b1001_0011100;// oo in the middle segmentsS1,E1: display_out<=11'b1001_0111111;// confirm first inputS2,E2: display_out<=11'b1001_0011111;// confirm second inputS3,E3: display_out<=11'b1001_0011110;// confirm third inputdefault:display_out<=11'b1111_1111111; // no displayendcaseendendmodule2.进阶版实验代码module doorlock2(input CLK,input clr,input [9:0] sw,output reg [10:0] display_out);reg[3:0] present_state,next_state;reg [19:0]count1=0;reg [2:0] sel=0;parameter S0= 4'b0000,S1=4'b0001,S2=4'b0010,S3=4'b0011,S4=4'b0100, S01=4'b1001,S02=4'b1010,S03=4'b1011,E1=4'b0101,E2=4'b0110,E3=4'b0111,E4=4'b1000;parameter T1MS=50000,T2MS=20000_0000;reg [29:0] count;reg [32:0] count2=0;reg [9:0] keys=0;reg flag;always @(posedge CLK or posedge clr)beginif (clr)begincount<=0;endelse count<=count+1;endwire clk_3;assign clk_3=count[24];// ~3Hzalways @(posedge clk_3 or posedge clr) // STATE TRANSITIONbeginif (keys!=sw) keys <= sw;if (clr) present_state <= S0;else present_state <= next_state;endalways@(posedge CLK or posedge clr)beginif(present_state == S4)beginif(count2<T2MS)begincount2<=count2+1;flag<=1'b0;endelsebeginflag<=1'b1;endendif(clr) count2<=0;end// Demo for Finite State Machine// the correct password is 0->1->2->3 (Switch sw[0]->sw[1]->sw[2]->sw[3] in order. always @(*)begincase (present_state)S0: beginif (~|keys[9:0]) next_state <=S0; // no key pressedelse if (keys[2]) next_state <=S1; // first valid key pressedelse next_state <=E1; // first invalid key pressedendS1: beginif (~|keys[9:3]&&~|keys[1:0]) next_state <=S1; // no key pressed//else if (!sw) next_state <=S01;// second valid key pressedelse if(keys[1]&&keys[2]) next_state<=S2;else next_state <=E2;// second invalid key pressedendS01:beginif(!sw) next_state<=S01;else if(sw[2]) next_state<=S2;else next_state<=E2;endS2: beginif (~|keys[9:3]&&~|keys[0]) next_state <=S2; // no key pressed//else if (!sw) next_state <=S02; // third valid key pressedelse if (keys[2]&&keys[1]&&keys[3]) next_state <=S3;else next_state<=E3;// third invalid key pressedendS02: beginif(!sw) next_state<=S02;else if(sw[1]) next_state<=S3;else next_state<=E3;endS3: beginif (keys[1]&&keys[2]&&keys[3]) next_state <=S3; // no key pressed else if (!sw[3]) next_state <=S03;// fourth vaild key pressedelse next_state <=E4;// fourth invalid key pressedendS03:beginif(~|keys[9:3]&&~|keys[0]) next_state<=S03;else if(keys[3]) next_state<=S4;else next_state<=E4;endS4: beginif (~|keys[9:4]&&~|keys[0]) next_state <=S4; // no key pressedelse next_state <=E1; // fifth key pressed, but ignored *** endE1:beginif (keys!=sw) next_state <=E2; // second invalid key pressedelse next_state <=E1; // no key pressedendE2:beginif (keys!=sw) next_state <=E3; // third invalid key pressedelse next_state <=E2; // no key pressedendE3:beginif (keys!=sw) next_state <=E4; // fourth invalid key pressedelse next_state <=E3; // no key pressedendE4: next_state <=E4; // the additional keys are ALL ignored ***default: next_state <=S0;endcaseendalways@(posedge CLK)begincount1<=count1+1;if(count1==T1MS)begincount1<=0;sel<=sel+1;if(sel==4)sel<=0;endendalways @(posedge CLK) // indicate the number of inputs and display the tagbegincase(present_state)S0: begincase(sel)0:display_out<=11'b0111_0101000;1:display_out<=11'b1011_0110000;2:display_out<=11'b1101_1000100;3:display_out<=11'b1110_0110110;default:display_out<=11'b1111_1111111;endcaseendS1: begincase(sel)0:display_out<=11'b0111_0010010;1:display_out<=11'b1011_1110111;2:display_out<=11'b1101_1110111;3:display_out<=11'b1110_1110111;default:display_out<=11'b1111_1111111;endcaseend // confirm first inputS2: begincase(sel)0:display_out<=11'b0111_0010010;1:display_out<=11'b1011_1001111;2:display_out<=11'b1101_1110111;3:display_out<=11'b1110_1110111;default:display_out<=11'b1111_1111111;endcaseend // confirm second inputS3: begincase(sel)0:display_out<=11'b0111_0010010;1:display_out<=11'b1011_1001111;2:display_out<=11'b1101_0000110;3:display_out<=11'b1110_1110111;default:display_out<=11'b1111_1111111;endcaseend // confirm third inputS4: beginif(!flag)begincase(sel)0:display_out<=11'b0111_0010010;1:display_out<=11'b1011_1001111;2:display_out<=11'b1101_0000110;3:display_out<=11'b1110_0000110;default:display_out<=11'b1111_1111111;endcaseendelse display_out<= 11'b0111_0011000 ;end // P in left-most segmentS01:begincase(sel)0:display_out<=11'b0111_0010010;1:display_out<=11'b1011_1110111;2:display_out<=11'b1101_1110111;3:display_out<=11'b1110_1110111;default:display_out<=11'b1111_1111111;endcaseendS02:begincase(sel)0:display_out<=11'b0111_0010010;1:display_out<=11'b1011_1001111;2:display_out<=11'b1101_1110111;3:display_out<=11'b1110_1110111; default:display_out<=11'b1111_1111111;endcaseendS03: begincase(sel)0:display_out<=11'b0111_0010010;1:display_out<=11'b1011_1001111;2:display_out<=11'b1101_0000110;3:display_out<=11'b1110_1110111;default:display_out<=11'b1111_1111111;endcaseendE1: display_out<=11'b0111_0111000;E2: display_out<=11'b1011_0111000;E3: display_out<=11'b1101_0111000;E4: display_out<=11'b1110_0111000;// F in right-most segment default:display_out<=11'b1111_1111111; // no displayendcaseendendmodule约束文件代码:## Clock signalset_property PACKAGE_PIN W5 [get_ports CLK]set_property IOSTANDARD LVCMOS33 [get_ports CLK]## Switchesset_property PACKAGE_PIN V17 [get_ports {sw[0]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[0]}]set_property PACKAGE_PIN V16 [get_ports {sw[1]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[1]}]set_property PACKAGE_PIN W16 [get_ports {sw[2]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[2]}]set_property PACKAGE_PIN W17 [get_ports {sw[3]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[3]}]set_property PACKAGE_PIN W15 [get_ports {sw[4]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[4]}]set_property PACKAGE_PIN V15 [get_ports {sw[5]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[5]}]set_property PACKAGE_PIN W14 [get_ports {sw[6]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[6]}]set_property PACKAGE_PIN W13 [get_ports {sw[7]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[7]}]set_property PACKAGE_PIN V2 [get_ports {sw[8]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[8]}]set_property PACKAGE_PIN T3 [get_ports {sw[9]}] set_property IOSTANDARD LVCMOS33 [get_ports {sw[9]}]## sw[15]set_property PACKAGE_PIN R2 [get_ports {clr}]set_property IOSTANDARD LVCMOS33 [get_ports {clr}]## 7-seg displayset_property PACKAGE_PIN W4 [get_ports {display_out[10]}]set_property PACKAGE_PIN V4 [get_ports {display_out[9]}]set_property PACKAGE_PIN U4 [get_ports {display_out[8]}]set_property PACKAGE_PIN U2 [get_ports {display_out[7]}]set_property PACKAGE_PIN W7 [get_ports {display_out[6]}]set_property PACKAGE_PIN W6 [get_ports {display_out[5]}]set_property PACKAGE_PIN U8 [get_ports {display_out[4]}]set_property PACKAGE_PIN V8 [get_ports {display_out[3]}]set_property PACKAGE_PIN U5 [get_ports {display_out[2]}]set_property PACKAGE_PIN V5 [get_ports {display_out[1]}]set_property PACKAGE_PIN U7 [get_ports {display_out[0]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[9]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[8]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[7]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[6]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[5]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[4]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[3]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[1]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[2]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[0]}]set_property IOSTANDARD LVCMOS33 [get_ports {display_out[10]}]四、实验结果1基础结果图2.进阶结果图进阶实验成品效果说明:进阶视频演示:正确示范:密码输入错误示范:五、实验总结1.通过本次实验了解了时钟信号的作用原理以及对时序电路的控制机理。