广工eda课程设计数字密码锁.docx

上传人:b****0 文档编号:9246780 上传时间:2023-05-17 格式:DOCX 页数:8 大小:80.53KB
下载 相关 举报
广工eda课程设计数字密码锁.docx_第1页
第1页 / 共8页
广工eda课程设计数字密码锁.docx_第2页
第2页 / 共8页
广工eda课程设计数字密码锁.docx_第3页
第3页 / 共8页
广工eda课程设计数字密码锁.docx_第4页
第4页 / 共8页
广工eda课程设计数字密码锁.docx_第5页
第5页 / 共8页
广工eda课程设计数字密码锁.docx_第6页
第6页 / 共8页
广工eda课程设计数字密码锁.docx_第7页
第7页 / 共8页
广工eda课程设计数字密码锁.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

广工eda课程设计数字密码锁.docx

《广工eda课程设计数字密码锁.docx》由会员分享,可在线阅读,更多相关《广工eda课程设计数字密码锁.docx(8页珍藏版)》请在冰点文库上搜索。

广工eda课程设计数字密码锁.docx

广工eda课程设计数字密码锁

课程设计

课程名称硬件描述语言及EDA技术

题目名称数字密码锁

学生学院材料及能源

专业班级

学号

学生姓名

指导教师陈先朝

 

2017年6月11日

摘要:

随着数字集成技术和电子设计自动化(EDA)技术的迅速发展,数字密码锁应运而生。

本文采用先进的EDA技术,利用QUARTUSⅡ工作平台和VerilogHDL语言,设计了一种新型的数字密码锁,它不但可以完成锁具的基本功能,还能附加一些其他的智能,例如:

报警、识别功能,数字密码锁具功能齐全,安全系数高,有机械锁无可比拟的优越性,它的造价成本低,易于操作,越来越受到众多客户的青睐,可以优先占领市场有利份额。

关键词:

EDA技术;QUARTUSⅡ工作平台;VerilogHDL语言;数字密码锁

1引言

1.1课程设计背景数字密码锁随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,而且各种各样的电子产品也正在日新月异地向着高精尖技术发展。

由于电子产品的功能不断增加,使用也越来越方便,有些产品已经成为了人们日常生活中不可缺少的必备物品。

发展历史悠久的机械式门锁,因其功能单一,安全性能较差等缺点,必将被新一代的电子门锁所代替。

新颖的多功能电子门锁,集电子门锁、防盗报警器,门铃等功能于一身,而且还具有定时器呼唤,断电自动报知,显示屋内有无人和自动留言等诸多附加功能。

在未来的生活中,数字密码锁必将在学领域再创新的成绩,将给我们的生活带来更大的便利,前景不可估量。

1.2课程设计目的

1.掌握VerilogHDL语言编程方法,通过实践加深对理论知识的理解。

2.学会QuartusⅡ软件的使用方法。

3.掌握数字密码锁的设计方法。

4.掌握波形仿真,学会分析实验现象,提高分析问题的能力。

1.3课程设计内容

设计一个数字密码锁,用户可输入4位的二进制数,连续输入3次不正确则报警。

开锁密码可手动预置,并可进行修改密码,取消报警。

2数字密码锁设计

2.1系统设计

根据系统的设计要求,系统设计采用自顶向下的设计方法。

2.2程序代码

modulemms(reset,set,a1,a2,a3,a4,enter,cancel,sel_led,sel,green,

clk100,save,clk1);

inputreset,set,a1,a2,a3,a4,enter,cancel,clk100,clk1,save;

outputreg[7:

0]sel_led,sel;

outputreg[7:

0]green;

reg[1:

0]scan;reg[3:

0]password,word;

rego1,o2,o3,o4,num,sum,bee;

always@(posedgeclk1)

begin

//重置密码

if(!

reset)

begin

o1=0;

o2=0;

o3=0;

o4=0;

end

//输入密码

elseif(!

a1)

begin

o1=~o1;

word[0]=o4;

end

elseif(!

a2)

begin

o2=~o2;

word[1]=o3;

end

elseif(!

a3)

begin

o3=~o3;

word[2]=o2;

end

elseif(!

a4)

begin

o4=~o4;

word[3]=o1;

end

//设置密码

elseif(!

set)

begin

//密码输入正确时才可修改密码

if(word[0]==password[0]&word[1]==password[1]&word[2]==password[3]&word[3]==password[3])

begin

if(!

a1)

begin

o1=~o1;

password[0]=o4;

end

elseif(!

a2)

begin

o2=~o2;

password[1]=o3;

end

elseif(!

a3)

begin

o3=~o3;

password[2]=o2;

end

elseif(!

a4)

begin

o4=~o4;

password[3]=o1;

end

end

end

//确认密码

elseif(!

enter)

begin

if(word[0]==password[0]&word[1]==password[1]&word[2]==password[3]&word[3]==password[3])

begin

green=8'b10000000;//密码输入正确亮一个红灯

sum=0;

end

else

sum=sum+2'b01;

end

elseif(!

cancel)//关闭红灯

green=8'b00000000;

end

always@(posedgeclk100)

begin

if(scan==2'b11)

scan<=2'b00;

else

scan<=scan+2'b01;

end

always@(scan)//进行数码管位选,高电平有效

begin

case(scan)

2'b00:

beginnum<=o1;sel<=8'b01000000;end

2'b01:

beginnum<=o2;sel<=8'b00100000;end

2'b10:

beginnum<=o3;sel<=8'b00010000;end

2'b11:

beginnum<=o4;sel<=8'b00001000;end

default:

sel=8'b00000000;

endcase

end

always@(num)//BCD码译成七段数码管显示

begin

case(num)

1'b0:

sel_led=8'b00111111;

1'b1:

sel_led=8'b00000110;

endcase

end

//密码连续输入累计三次错误后,亮所有红灯

always@(sum)

begin

if(sum==2'b10)

begin

sum=0;

green=8'b11111111;

end

end

endmodule

2.3仿真结果

波形分析:

上电后,系统的初始密码为“0000”,按下reset键由键盘key输入密码“0000”,输入密码正确按确认键enter键锁开按,锁关闭开锁输出标志信号kai无效为1,显示开锁;在开锁状态下下拨set修改密码键后,由键盘key输入新密码0001后按确认键enter密码修改成功,上拨set键密码锁上锁,此时密码锁密码为新密码;若按下start键后输入的密码错误如图“1111”及密码锁密码“0000”不同,累积三次后,报警信号有效,锁不开且报警。

若按下start键后输入的密码正确如图“1111”及密码锁密码“1111”相同,kai开锁信号有效,锁开且不报警。

4应收集的资料及主要参考文献

1.陈先朝,硬件描述语言及EDA技术实践指导书,2017年3月

2.潘松等编著,EDA技术及VerilogHDL,电子工业出版社,2013年;

3.现代数字电子技术及Verilog设计,清华大学出版社,2014年;

4.王金明等编著,EDA技术及VerilogHDL设计,电子工业出版社,2013年;

5.刘靳等编著,Verilog程序设计及EDA,西安电子科技大学出版社,2012年;

6.刘福奇主编,VerilogHDL应用程序设计实例精讲,电子工业出版社,2012年;

7.周润景等主编,基于QuartusⅡ的数字系统VerilogHDL设计实例详解,电子工业出版社,2010年。

发出任务书日期:

2017年6月5日指导教师签名:

陈先朝

计划完成日期:

2017年6月9日基层教学单位责任人签章:

主管院长签章:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2