1、8位数字密码锁课程设计报告基于VDHL的8位数字密码锁设计摘 要本文主要介绍运用VDHL技术设计数字密码锁的方法。本设计采用自上而下的数字系统设计方法,将数字密码锁系统分解为若干子系统,并且进一步细划为若干模块,然后用硬件描述语言VDHL来设计这些模块,并且分别进行软件的仿真。仿真结果表明:该数字密码锁能够效验8位十进制数密码,且有预置密码(即万能密码),显示输入密码,设置密码,修改密码,输入错误回删,关锁等功能。该密码锁体积小,功耗低,操作简单,不怕掉电,维护和升级都十分方便,具有非常好的应用前景关键词:QUARTUS;VDHL; 数字密码锁8-bit digital-based VDHL
2、lock designAbstractThis paper describes the use of digital locks VHDL technical design approach. This design uses top-down design of digital system, the digital code lock system is divided into several subsystems, and further detailed planningfor a number of modules, then the hardware description la
3、nguage VDHL to design these modules and the simulation software, respectively. Simulation results show that: the digital code lock to efficacy 8-bit decimal code, and have preset password (that is, universal password), show password, set password, change password, enter the error back to the delete,
4、 lock and other functions. The lock small size, low power consumption, simple operation, not afraid of power-down, maintenance and upgrades are very convenient, has a very good prospect of application.shui ./Key words: QUARTUS ; VHDL; digital code lock引言61.EDA VHDL简介72.课程设计目的与容8 2.1课程设计目的82.2课程设计容82
5、.3课程设计提示83.电子密码锁设计过程9 3.1设计规划94.VHDL源程序104.1密码锁&30秒计时模块114.2仿真后原理图124.3动态扫描模块134.4仿真后原理图145.系统仿真155.1连线完成后原理图155.2波形仿真155.3仿真结果166.心得体会197.参考文献20CONTENTSIntroduction 61.EDA VHDL Introduction 72. The purpose and content of curriculum design 82.1 Courses designed to 82.2 Curriculum content 82.3 Course
6、 Design Tips 83. Electronic code lock design process 93.1 The design and planning 94.VHDL source 104.1 & 30 seconds lock timing module 114.2 After the simulation schematic 124.3 Dynamic Scanning Module 13After 4.4 Simulation diagram 145. System Simulation 155.1 After the connection diagram 155.2 Wav
7、eform Simulation 155.3 Simulation results 166. Feelings and experiences 197. References 20朗读显示对应的拉丁字符的拼音字典 - 查看字典详细内容引言随着人们生活水平的提高,如何实现家庭防盜这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其性髙,使用灵活性好,安全系数高,受到了广大用户的亲昵,电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提髙,而且避免了携带甚至丢失钥匙的麻烦。目前设计密码锁的方法很多,例如用传统的PCB板设计、用PLC设计或者用单片机设计等等
8、。而用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。VHDL是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程延伸到高度自动化。1 . EDA , VHDL简介1.1EDA简介EDA是电子设计自动化(Electronic Design Automation) 缩写,是90年代初从CAD(计算机辅助设计)、CAM(计箅机辅助制造)、CAT(计箅机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为
9、工具,根据硬件描述语述言HDL .shui ./( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合与优化、布局布线、仿真以与对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统組件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。适配器的功能将由综合器产生的网表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。1.2 VHDL简介VHDL主要
10、用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,与端口)和部(或称不可视部分),既涉与实体的部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成外部分的概念是VHDL系统设计的基本点。而且,应用VHDL进行工程设计有很多优点。2.课程设计的目的与容1.1课程设计的目的随着人们生活水平的提高,如何实现家庭防盜这
11、一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的件屡见不鲜,电子锁由于其性髙,使用灵活性好,安全系数高,受到了广人用户的亲,电子密码锁的使用也体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻1.2 课程设计的容设计一个数字密码锁,在锁开的状态下输入密码,设置密码共8位,用数据开关k1-k10分别代表数字 1,2,.,,9,0,输入的密码用七段数码管显示。具体要求如下。数字密码锁的密码为8位十进制数字,密码可以设置和修改;开锁时间定为30秒;可用七段显示器显示开锁倒计时时间值;开锁计时时间30秒到,锁没开则用蜂鸣器报警,开锁时允许修改输入错误的密码数字。万
12、能密码设置:供主人忘记密码时使用。并用1位LED状态表示锁的开闭状态。1.3 课程设计提示 此系统可以分为密码输入删除控制模块,寄存模块,比较模块,扫描显示模块,定时模块几部分 密码输入与删除控制模块设计考虑; 编码器:对数据开关K1K10的电平信号,分别代表1-9,0;采用一热码方式编码。 设置与删除密码操作与显示按设计要求处理。 信号设置Set: 密码确认信号-当8位密码输入完成后,按Set键则密码送锁存器锁存,比较模块得数据A,密码显示电路清零。Back:数字删除按键-每按一次删除最后输入的数字,密码显示右移一位,同时左边空位补“0”。Lock:密码锁状态显示信号-Lock=0(LED灯
13、灭)表示锁未开,Lock=1(LED灯亮)锁已开。Close:关锁信号-当密码送寄存器锁存后,按下Close,则密码锁Lock=0,锁被锁上。Check:密码效验信号-在Lock=0状态下,从数据开关输入8位开锁密码后按下Check,则开锁数码送寄存模块锁存为B。如果A=B,则D触发器置“1”,锁被锁上。3 电子密码锁的设计过程3.1设计规划 密码锁流程图如图3-1所示:总体框架图(图3-2)图3-24. VHDL源程序4.1密码锁&30秒计时模块module mimasuo(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,reset,back,check,set,close,lo
14、ck,num1,num2,num3,num4,num5,num6,num7,num8,qh,ql,cout,clk,cin);input n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,back,check,set,close,cin;input clk;input reset;output lock;output3:0num1,num2,num3,num4,num5,num6,num7,num8;reg3:0num1,num2,num3,num4,num5,num6,num7,num8;reg31:0code;reg4:1temp;reg lock;output cout;out
15、put3:0qh,ql;reg3:0qh,ql;always(posedge clk)beginif(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9!=10b0000000000)/密码输入控制模块begincase(n9,n8,n7,n6,n5,n4,n3,n2,n1,n0)10b0000000001:temp=4d0;10b0000000010:temp=4d1;10b0000000100:temp=4d2;10b0000001000:temp=4d3;10b0000010000:temp=4d4;10b0000100000:temp=4d5;10b0001000000:tem
16、p=4d6;10b0010000000:temp=4d7;10b0100000000:temp=4d8;10b1000000000:temp=4d9;endcasenum8=num7;num7=num6;num6=num5;num5=num4;num4=num3;num3=num2;num2=num1;num1=temp;endelse if(back)beginnum1=num2;num2=num3;num3=num4;num4=num5;num5=num6;num6=num7;num7=num8;num8=1d0;endendalways(posedge clk)/定时与报警模块begin
17、if(lock|check|qh=2&ql=9)begin qh=0;ql=0;endelse if(cin)begin if(ql=9)begin ql=0;if(qh=2)qh=0;else qh=qh+1;endelse ql=ql+1;endendassign cout=(qh=2&ql=9&cin&lock=0)?1:0;always(posedge clk)/开锁控制模块 begin if(lock=0&check) begin if(code=num8,num7,num6,num5,num4,num3,num2,num1)lock=1; else if(num8,num7,num
18、6,num5,num4,num3,num2,num1=32b0111) lock=1; end else if(lock=1&close) lock=0; else if(lock=0&cout=1) lock=0; endalways(posedge clk) begin if(!reset) code=32h00000007; else if(lock=1&set) code=num8,num7,num6,num5,num4,num3,num2,num1; endendmodule4.2仿真后原理图:图4-2 shui ./4.2动态扫描模块module selb(in1,in2,in3,
19、in4,in5,in6,in7,in8,clk,flag,a,b,c,d,e,f,g);input clk;input3:0 in1,in2,in3,in4,in5,in6,in7,in8;output a,b,c,d,e,f,g;output2:0 flag;reg a,b,c,d,e,f,g;reg3:0 temp;reg2:0 flag; always (posedge clk) begin flag=flag+1; case(flag) 0:begin temp=in1;end 1:begin temp=in2;end 2:begin temp=in3;end 3:begin temp
20、=in4;end 4:begin temp=in5;end 5:begin temp=in6;end 6:begin temp=in7;end 7:begin temp=in8;end default:begin temp=in1;end endcase case(temp) 4d0:a,b,c,d,e,f,g=7b1111110; 4d1:a,b,c,d,e,f,g=7b0110000; 4d2:a,b,c,d,e,f,g=7b1101101; 4d3:a,b,c,d,e,f,g=7b1111001; 4d4:a,b,c,d,e,f,g=7b0110011; 4d5:a,b,c,d,e,f,
21、g=7b1011011; 4d6:a,b,c,d,e,f,g=7b1011111; 4d7:a,b,c,d,e,f,g=7b1110000; 4d8:a,b,c,d,e,f,g=7b1111111; 4d9:a,b,c,d,e,f,g=7b1111011; default:a,b,c,d,e,f,g=7bzzzzzzz; endcase end endmodule4.3仿真后原理图图4-35.系统仿真5.1连线完成后原理图:将前面两个程序模块并加入输入输出管脚,连线完成。得到以下原理图,然后进行仿真。如图5-1:图 5-15.2波形仿真将仿真成功后原理图进行波形仿真,并设置相应参数,表现其各种
22、功能,仿真成功后总波形图如图5-2:图5-25.3仿真结果万能密码功能:如图5-3-1图5-3-1设置密码功能:如图5-3-2图5-3-2说明:设置的8位十进制密码为10000009,关锁后用新密码10000009打开了锁修改密码功能:如图5-3-3图5-3-3 说明:原密码为10000009修改新密码为00000008,之后check开了锁,说明修改密码功能正确输入错误回删功能:如图5-3-4图5-3-4说明:输入0000000即7位后输入错误数1之后使用back回删功能再输入8之后check,锁开了.说明错误回删功能正确30秒计时警报功能:如图5-3-5图5-3-5说明:当输入状态下30秒
23、未输入正确密码则输出高电平.6.心得体会在设计过程当中,我遇到了很多问题,比如,刚开始,我的设计不能输入数字,。通过EDA实验书中提供的信息,我仔细观察电路的波形图,终于找到问题所在。通过反复的仿真、思考最后终于找到了解决方案。该设计经过多次修改和整现,我觉得这是一个比较不错的设计,可以满足人们的基本要求,我的水平有限,此电路一定也存在一定的问题(如数码管显示不正常),但总体上基本达到了设计要求。通过这二天的学习,我感觉有很大的收获:首先,通过学习使自己对课本上的知识可以应用于实际,使的理论与实际相结合,加深自己对课本知识的吏好圳解,同时也训练了我个人的动手能力:能够充分利用图书馆去杏阅资料,
24、增加了许多课本以外的知识。对QUARTUS等与相关仿真软件操作,能达到学以致用。对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。当然,平吋老师的指导也是一个必不可少的环节,在此,感黄乡生老师的栽培和教导,黄老师虽然年纪稍大了,但是对教学工作的认真负责使我印象非常深刻,在此非常感黄老师的悉心教导,也祝愿黄老师身体健康,工作顺心。.shui ./7.参考文献1王金明,数字系统设计与Verilog HDL(第三版).:电子工业,2009 12 卢毅,赖杰,VHDL与数字电路设计.:科学,2002 33边计年,薛宏熙,用VHDL设计电子线路.:清华大学出版社,20008东华理工大学 课程设计评分表学生:赖江涛 班级: 080631 学号:08063102课程设计题目:8位数字密码锁设计项目容满分实 评选题能结合所学课程知识、有一定的能力训练。符合选题要求(5人一题)10工作量适中,难易度合理10能力水平能熟练应用所学知识,有一定查阅文献与运用文献资料能力10理论依据充分,数据准确,公式推导正确10能应用计算机软件进行编程、资料搜集录入
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1