基于verilog hdl密码锁设计

基于verilog hdl密码锁设计

ID:3153554

大小:245.79 KB

页数:18页

时间:2017-11-20

基于verilog hdl密码锁设计_第1页
基于verilog hdl密码锁设计_第2页
基于verilog hdl密码锁设计_第3页
基于verilog hdl密码锁设计_第4页
基于verilog hdl密码锁设计_第5页
资源描述:

《基于verilog hdl密码锁设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于VerilogHDL密码锁设计摘要随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。本设计使用EDA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。使用EDA环境完成电路的系统综合设计和仿真。用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁。本设计基于VerilogHDL语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为

2、蜂鸣器模块、显示模块、控制模块、顶层模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。关键字密码锁VerilogHDLQuartusII总体设计密码锁分为四个模块:①顶层模块、②显示模块、③蜂鸣器模块、④控制模块。其中由顶层模块调其他分模块来实现密码锁功能。密码锁功能:1.由12个拨码开关设置三位密码(0-9)2.再输入密码开锁,密码正确,指示灯亮开锁成功。3.密码输入错误,蜂鸣器响五秒,表示开锁失败。设计思路:本设计以007为万能密码在忘记密码时开锁使用。开始时密码锁处于关闭的

3、状态,输入万能密码将锁打开。在锁处于打开的状态时设计密码,此时指示灯处于亮的状态,说明锁处于开的状态。设置好密码后按关闭拨码使锁关闭,指示灯处于灭的状态。再输入三位数字进行开琐,如果输入的密码正确则指示灯亮,表示开琐成功,否则蜂鸣器发出响声,并持续五秒钟,表示开锁失败。总体框图调用部分顶层模块显示部分七段数码管报警部分蜂鸣器密码设置12个拨码开关图1.0总体框图模块功能其及主要代码1.顶层模块实现几个模块的配合工作,它能实现对密码的设置和显示,同时在密码正确时时灯亮,在密码错误时蜂鸣器发出五秒钟的

4、响声。程序如下:moduledingceng(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,set,close,clk1,clk2,clk3,lock,alarm,Q,ss1,ss0);inputn0,n1,n2,n3,n4,n5,n6,n7,n8,n9;inputset,close;inputclk1,clk2,clk3;outputlock,alarm,ss1,ss0;output[6:0]Q;reglock,alarm;regss0,ss1;reg[6:0]Q;wire[3:0

5、]X1,X2,X3;wireX4,X5;codeu1(.lock(lock),.warning(X4),.num1(X1),.num2(X2),.num3(X3),.clk(clk1),.n0(n0),.n1(n1),.n2(n2),.n3(n3),.n4(n4),.n5(n5),.n6(n6),.n7(n7),.n8(n8),.n9(n9),.set(set),.close(close));showu2(.A(X1),.B(X2),.C(X3),.clk(clk2),.Q(Q[6:0]),.ss

6、1(ss1),.ss0(ss0));speakeru3(.ENA(X4),.CLK2(clk3),.COUT(alarm));endmodule2.蜂鸣器模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用各类电子产品中作发声器件。如图为其原理图:COUTENACLK2K@图1.1蜂鸣器原理图结构蜂鸣器功能实现:程序共有两个输入信号分别为ENA和CLK2,,一个输出信号COUT。当从信号输入模块检测到有开关输入时,信号ENA已置1,CLK2上升沿到来时,有程序使COUT为1,蜂鸣器发

7、出报警信号,并且进入一个5秒钟的循环,时间到达时,跳出循环,蜂鸣器停止报警。程序如下:modulespeaker(ENA,CLK2,COUT);//ENA为使能信号,CLK为时钟信号规定工作频率inputENA,CLK2;outputCOUT;regCOUT;reg[3:0]Q1;always@(posedgeCLK2)//CLK2为敏感信号beginif(ENA&&Q1<6)//当ENA为1并且Q1小于6时执行下面的语句Q1=Q1+1;if(~ENA)//ENA为0时,执行下面的语句Q1=0;e

8、ndalwaysbeginif(Q1==6

9、

10、Q1==0)COUT='b0;elseCOUT='b1;endEndmodule3.显示模块数码管常用于电子产品的显示部分,原理简单易于实现,将BCD码经译码后显示成十进制的数字显示模块功能实现:模块共有四个输入信号A、B、C、CLK,三个输出信号分别为Q、SS1、SS2。SS1、SS2可对三个数码管进行片选,使它们分别亮。A、B、C接段选,以控制数码管显示什么数字。程序如下:moduleshow(A,B,C,clk,Q,ss1,ss0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。