8位数字密码锁课程设计报告.docx
- 文档编号:11423322
- 上传时间:2023-03-01
- 格式:DOCX
- 页数:19
- 大小:421.52KB
8位数字密码锁课程设计报告.docx
《8位数字密码锁课程设计报告.docx》由会员分享,可在线阅读,更多相关《8位数字密码锁课程设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
8位数字密码锁课程设计报告
基于VDHL的8位数字密码锁设计
摘要
本文主要介绍运用VDHL技术设计数字密码锁的方法。
本设计采用自上而下的数字系统设计方法,将数字密码锁系统分解为若干子系统,并且进一步细划为若干模块,然后用硬件描述语言VDHL来设计这些模块,并且分别进行软件的仿真。
仿真结果表明:
该数字密码锁能够效验8位十进制数密码,且有预置密码(即万能密码),显示输入密码,设置密码,修改密码,输入错误回删,关锁等功能。
该密码锁体积小,功耗低,操作简单,不怕掉电,维护和升级都十分方便,具有非常好的应用前景
关键词:
QUARTUSⅡ;VDHL;数字密码锁
8-bitdigital-basedVDHLlockdesignAbstractThispaperdescribestheuseofdigitallocksVHDLtechnicaldesignapproach.Thisdesignusestop-downdesignofdigitalsystem,thedigitalcodelocksystemisdividedintoseveralsubsystems,andfurtherdetailedplanningforanumberofmodules,thenthehardwaredescriptionlanguageVDHLtodesignthesemodulesandthesimulationsoftware,respectively.Simulationresultsshowthat:
thedigitalcodelocktoefficacy8-bitdecimalcode,andhavepresetpassword(thatis,universalpassword),showpassword,setpassword,changepassword,entertheerrorbacktothedelete,lockandotherfunctions.Thelocksmallsize,lowpowerconsumption,simpleoperation,notafraidofpower-down,maintenanceandupgradesareveryconvenient,hasaverygoodprospectofapplication.shui./
Keywords:
QUARTUSⅡ;VHDL;digitalcodelock
引言····························································6
1.EDAVHDL简介··················································7
2.课程设计目的与容·············································8
2.1课程设计目的··············································8
2.2课程设计容·············································8
2.3课程设计提示··············································8
3.电子密码锁设计过程·············································9
3.1设计规划·················································9
4.VHDL源程序···················································10
4.1密码锁&30秒计时模块····································11
4.2仿真后原理图············································12
4.3动态扫描模块············································13
4.4仿真后原理图············································14
5.系统仿真······················································15
5.1连线完成后原理图·········································15
5.2波形仿真·················································15
5.3仿真结果·················································16
6.心得体会·······················································19
7.参考文献·······················································20
CONTENTS
Introduction••••••••••••••••••••••••••••6
1.EDAVHDLIntroduction•••••••••••••••••••••••7
2.Thepurposeandcontentofcurriculumdesign•••••••••••8
2.1Coursesdesignedto••••••••••••••••••8
2.2Curriculumcontent•••••••••••••••••••••••8
2.3CourseDesignTips•••••••••••••••••••••••8
3.Electroniccodelockdesignprocess•••••••••••••••9
3.1Thedesignandplanning••••••••••••••••9
4.VHDLsource••••••••••••••••••••••••••••10
4.1&30secondslocktimingmodule•••••••••••••••11
4.2Afterthesimulationschematic•••••••••••••••••12
4.3DynamicScanningModule•••••••••••••••••••••13
After4.4Simulationdiagram••••••••••••••••••••14
5.SystemSimulation•••••••••••••••••••••••15
5.1Aftertheconnectiondiagram•••••••••••••••••••15
5.2WaveformSimulation•••••••••••••••••••••••15
5.3Simulationresults••••••••••••••••••••••••166.Feelingsandexperiences•••••••••••••••••••••19
7.References••••••••••••••••••••••••••••20
朗读
显示对应的拉丁字符的拼音
字典-查看字典详细内容
引言
随着人们生活水平的提高,如何实现家庭防盜这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其性髙,使用灵活性好,安全系数高,受到了广大用户的亲昵,电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提髙,而且避免了携带甚至丢失钥匙的麻烦。
目前设计密码锁的方法很多,例如用传统的PCB板设计、用PLC设计或者用单片机设计等等。
而用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。
VHDL是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规化的形式描述,并对设计的不同层次、不同领域的模拟验证与综合优化等处理,使设计过程延伸到高度自动化。
1.EDA,VHDL简介
1.1EDA简介
EDA是电子设计自动化(ElectronicDesignAutomation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计箅机辅助制造)、CAT(计箅机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。
EDA技术是以计算机为工具,根据硬件描述语述言HDL.shui./(HardwareDescriptionlanguage)完成的设计文件,自动地完成逻辑编译、化简、分割、综合与优化、布局布线、仿真以与对于特定目标芯片的适配编译和编程下载等工作。
典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。
综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统組件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。
适配器的功能将由综合器产生的网表文件配置与指定的目标器件中,产生最终的下载文件,如JED文件。
1.2VHDL简介
VHDL主要用于描述数字系统的结构,行为,功能和接口。
除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。
VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,与端口)和部(或称不可视部分),既涉与实体的部功能和算法完成部分。
在对一个设计实体定义了外部界面后,一旦其部开发完成后,其他的设计就可以直接调用这个实体。
这种将设计实体分成外部分的概念是VHDL系统设计的基本点。
而且,应用VHDL进行工程设计有很多优点。
2.课程设计的目的与容
1.1课程设计的目的
随着人们生活水平的提高,如何实现家庭防盜这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的^件屡见不鲜,电子锁由于其性髙,使用灵活性好,安全系数高,受到了广人用户的亲,电子密码锁的使用也体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻
1.2课程设计的容
设计一个数字密码锁,在锁开的状态下输入密码,设置密码共8位,用数据开关k1-k10分别代表数字1,2,..,,9,0,输入的密码用七段数码管显示。
具体要求如下。
数字密码锁的密码为8位十进制数字,密码可以设置和修改;开锁时间定为30秒;可用七段显示器显示开锁倒计时时间值;开锁计时时间30秒到,锁没开则用蜂鸣器报警,开锁时允许修改输入错误的密码数字。
万能密码设置:
供主人忘记密码时使用。
并用1位LED状态表示锁的开闭状态。
1.3课程设计提示
此系统可以分为密码输入删除控制模块,寄存模块,比较模块,扫描显示模块,定时模块几部分
密码输入与删除控制模块设计考虑;
<1>编码器:
对数据开关K1—K10的电平信号,分别代表1-9,0;采用一热码方式编码。
<2>设置与删除密码操作与显示按设计要求处理。
<3>信号设置
Set:
密码确认信号-----当8位密码输入完成后,按Set键则密码送锁存器锁存,比较模块得数据A,密码显示电路清零。
Back:
数字删除按键-----每按一次删除最后输入的数字,密码显示右移一位,同时左边空位补“0”。
Lock:
密码锁状态显示信号-----Lock=0(LED灯灭)表示锁未开,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-2
4.VHDL源程序
4.1密码锁&30秒计时模块
modulemimasuo(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,reset,back,check,set,close,lock,num1,num2,num3,num4,num5,num6,num7,num8,qh,ql,cout,clk,cin);
inputn0,n1,n2,n3,n4,n5,n6,n7,n8,n9,back,check,set,close,cin;
inputclk;
inputreset;
outputlock;
output[3:
0]num1,num2,num3,num4,num5,num6,num7,num8;
reg[3:
0]num1,num2,num3,num4,num5,num6,num7,num8;
reg[31:
0]code;
reg[4:
1]temp;
reglock;
outputcout;
output[3:
0]qh,ql;
reg[3:
0]qh,ql;
always(posedgeclk)
begin
if({n0,n1,n2,n3,n4,n5,n6,n7,n8,n9}!
=10'b0000000000)//密码输入控制模块
begin
case({n9,n8,n7,n6,n5,n4,n3,n2,n1,n0})
10'b0000000001:
temp=4'd0;
10'b0000000010:
temp=4'd1;
10'b0000000100:
temp=4'd2;
10'b0000001000:
temp=4'd3;
10'b0000010000:
temp=4'd4;
10'b0000100000:
temp=4'd5;
10'b0001000000:
temp=4'd6;
10'b0010000000:
temp=4'd7;
10'b0100000000:
temp=4'd8;
10'b1000000000:
temp=4'd9;
endcase
num8<=num7;
num7<=num6;
num6<=num5;
num5<=num4;
num4<=num3;
num3<=num2;
num2<=num1;
num1<=temp;
end
elseif(back)
begin
num1<=num2;
num2<=num3;
num3<=num4;
num4<=num5;
num5<=num6;
num6<=num7;
num7<=num8;
num8<=1'd0;
end
end
always(posedgeclk)//定时与报警模块
begin
if(lock||check||qh==2&&ql==9)
beginqh<=0;ql<=0;end
elseif(cin)
begin
if(ql==9)
beginql<=0;
if(qh==2)qh<=0;
elseqh<=qh+1;
end
elseql<=ql+1;
end
end
assigncout=(qh==2&&ql==9&&cin&&lock==0)?
1:
0;
always(posedgeclk)//开锁控制模块
begin
if(lock==0&&check)
begin
if(code=={num8,num7,num6,num5,num4,num3,num2,num1})lock<=1;
elseif({num8,num7,num6,num5,num4,num3,num2,num1}==32'b0111)
lock<=1;
end
elseif(lock==1&&close)lock<=0;
elseif(lock==0&&cout==1)lock<=0;
end
always(posedgeclk)
begin
if(!
reset)code<=32'h00000007;
elseif(lock==1&&set)
code<={num8,num7,num6,num5,num4,num3,num2,num1};
end
endmodule
4.2仿真后原理图:
图4-2shui./
4.2动态扫描模块
moduleselb(in1,in2,in3,in4,in5,in6,in7,in8,clk,flag,a,b,c,d,e,f,g);
inputclk;
input[3:
0]in1,in2,in3,in4,in5,in6,in7,in8;
outputa,b,c,d,e,f,g;
output[2:
0]flag;
rega,b,c,d,e,f,g;
reg[3:
0]temp;
reg[2:
0]flag;
always(posedgeclk)
begin
flag=flag+1;
case(flag)
0:
begintemp=in1;end
1:
begintemp=in2;end
2:
begintemp=in3;end
3:
begintemp=in4;end
4:
begintemp=in5;end
5:
begintemp=in6;end
6:
begintemp=in7;end
7:
begintemp=in8;end
default:
begintemp=in1;end
endcase
case(temp)
4'd0:
{a,b,c,d,e,f,g}=7'b1111110;
4'd1:
{a,b,c,d,e,f,g}=7'b0110000;
4'd2:
{a,b,c,d,e,f,g}=7'b1101101;
4'd3:
{a,b,c,d,e,f,g}=7'b1111001;
4'd4:
{a,b,c,d,e,f,g}=7'b0110011;
4'd5:
{a,b,c,d,e,f,g}=7'b1011011;
4'd6:
{a,b,c,d,e,f,g}=7'b1011111;
4'd7:
{a,b,c,d,e,f,g}=7'b1110000;
4'd8:
{a,b,c,d,e,f,g}=7'b1111111;
4'd9:
{a,b,c,d,e,f,g}=7'b1111011;
default:
{a,b,c,d,e,f,g}=7'bzzzzzzz;
endcase
end
endmodule
4.3仿真后原理图
图4-3
5.系统仿真
5.1连线完成后原理图:
将前面两个程序模块并加入输入输出管脚,连线完成。
得到以下原理图,然后进行仿真。
如图5-1:
图5-1
5.2波形仿真
将仿真成功后原理图进行波形仿真,并设置相应参数,表现其各种功能,仿真成功后总波形图如图5-2:
图5-2
5.3仿真结果
<1>万能密码功能:
如图5-3-1
图5-3-1
<2>设置密码功能:
如图5-3-2
图5-3-2
说明:
设置的8位十进制密码为10000009,关锁后用新密码10000009打开了锁
<3>修改密码功能:
如图5-3-3
图5-3-3
说明:
原密码为10000009修改新密码为00000008,之后check开了锁,说明修改密码功能正确
<4>输入错误回删功能:
如图5-3-4
图5-3-4
说明:
输入0000000即7位后输入错误数1之后使用back回删功能再输入8之后check,锁开了..说明错误回删功能正确
<5>30秒计时警报功能:
如图5-3-5
图5-3-5
说明:
当输入状态下30秒未输入正确密码则输出高电平..
6.心得体会
在设计过程当中,我遇到了很多问题,比如,刚开始,我的设计不能输入数字,。
通过EDA实验书中提供的信息,我仔细观察电路的波形图,终于找到问题所在。
通过反复的仿真、思考最后终于找到了解决方案。
该设计经过多次修改和整现,我觉得这是一个比较不错的设计,可以满足人们的基本要求,我的水平有限
,此电路一定也存在一定的问题(如数码管显示不正常),但总体上基本达到了设计要求。
通过这二天的学习,我感觉有很大的收获:
首先,通过学习使自己对课本上的知识可以应用于实际,使的理论与实际相结合,加深自己对课本知识的吏好圳解,同时也训练了我个人的动手能力:
能够充分利用图书馆去杏阅资料,增加了许多课本以外的知识。
对QUARTUSⅡ等与相关仿真软件操作,能达到学以致用。
对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。
当然,平吋老师的指导也是一个必不可少的环节,在此,感黄乡生老师的
栽培和教导,黄老师虽然年纪稍大了,但是对教学工作的认真负责使我印象非常深刻,在此非常感黄老师的悉心教导,也祝愿黄老师身体健康,工作顺心。
.shui./
7.参考文献
[1]王金明,数字系统设计与VerilogHDL(第三版).:
电子工业,20091
[2]卢毅,赖杰,VHDL与数字电路设计.:
科学,20023
[3]边计年,薛宏熙,用VHDL设计电子线路.:
清华大学出版
社,20008
东华理工大学课程设计评分表
学生:
赖江涛班级:
080631学号:
08063102
课程设计题目:
8位数字密码锁设计
项目容
满分
实评
选
题
能结合所学课程知识、有一定的能力训练。
符合选题要求
(5人一题)
10
工作量适中,难易度合理
10
能
力
水
平
能熟练应用所学知识,有一定查阅文献与运用文献资料能力
10
理论依据充分,数据准确,公式推导正确
10
能应用计算机软件进行编程、资料搜集录入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 密码锁 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)