广工eda课程设计数字密码锁.docx
- 文档编号:9246780
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:8
- 大小:80.53KB
广工eda课程设计数字密码锁.docx
《广工eda课程设计数字密码锁.docx》由会员分享,可在线阅读,更多相关《广工eda课程设计数字密码锁.docx(8页珍藏版)》请在冰点文库上搜索。
广工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日基层教学单位责任人签章:
主管院长签章:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eda 课程设计 数字 密码锁