文档库 最新最全的文档下载
当前位置:文档库 › 基于Verilog HDL密码锁设计

基于Verilog HDL密码锁设计

基于Verilog HDL密码锁设计
基于Verilog HDL密码锁设计

基于Verilog HDL密码锁设计

摘要

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

本设计基于Verilog HDL语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为蜂鸣器模块、显示模块、控制模块、顶层模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。

关键字

密码锁 Verilog HDL Quartus II

总体设计

密码锁分为四个模块:①顶层模块、②显示模块、③蜂鸣器模块、④控制模块。其中由顶层模块调其他分模块来实现密码锁功能。 密码锁功能:

1.由12个拨码开关设置三位密码(0-9)

2.再输入密码开锁,密码正确,指示灯亮开锁成功。

3.密码输入错误,蜂鸣器响五秒,表示开锁失败。 设计思路:

本设计以007为万能密码在忘记密码时开锁使用。开始时密码锁处于关闭的状态,输入万能密码将锁打开。在锁处于打开的状态时设计密码,此时指示灯处于亮的状态,说明锁处于开的状态。设置好密码后按关闭拨码使锁关闭,指示灯处于灭的状态。再输入三位数字进行开琐,如果输入的密码正确则指示灯亮,表示开琐成功,否则蜂鸣器发出响声,并持续五秒钟,表示开锁失败。

总体框图

图1.0 总体框图

调用部分

顶层模块

报警部分

蜂鸣器

密码设置 12个拨码开关

显示部分 七段数码管

模块功能其及主要代码

1.顶层模块

实现几个模块的配合工作,它能实现对密码的设置和显示,同时在密码正确时时灯亮,在密码错误时蜂鸣器发出五秒钟的响声。

程序如下:

module

dingceng(n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,set,close,clk1,clk2,clk3,lock, alarm,Q,ss1,ss0);

input n0,n1,n2,n3,n4,n5,n6,n7,n8,n9;

input set,close;

input clk1,clk2,clk3;

output lock,alarm,ss1,ss0;

output[6:0] Q;

reg lock,alarm;

reg ss0,ss1;

reg[6:0] Q;

wire[3:0] X1,X2,X3;

wire X4,X5;

code

u1(.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(n 8),.n9(n9),.set(set),.close(close));

show

u2(.A(X1),.B(X2),.C(X3),.clk(clk2),.Q(Q[6:0]),.ss1(ss1),.ss0(ss0)); speaker u3(.ENA(X4),.CLK2(clk3),.COUT(alarm));

endmodule

2.蜂鸣器模块

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用各类电子产品中作发声器件。如图为其原理图:

图 1.1 蜂鸣器原理图结构 蜂鸣器功能实现:

程序共有两个输入信号分别为ENA 和CLK2,,一个输出信号COUT 。当从信号输入模块检测到有开关输入时,信号ENA 已置1,CLK2上升沿到来时,有程序使COUT 为1,蜂鸣器发出报警信号,并且进入一个5秒钟的循环,时间到达时,跳出循环,蜂鸣器停止报警。 程序如下:

module speaker(ENA,CLK2,COUT); //ENA 为使能信号,CLK 为时钟信号规定工作频率 input ENA,CLK2; output COUT; reg COUT; reg[3:0] Q1;

always@(posedge CLK2) //CLK2为敏感信号 begin

if(ENA&&Q1<6) //当ENA 为1并且Q1小于6时执行下面的语句 Q1=Q1+1;

if(~ENA) //ENA 为0时,执行下面的语句 Q1=0; end always begin

ENA

CLK COUT

if(Q1==6||Q1==0)

COUT='b0;

else

COUT='b1;

end

Endmodule

3.显示模块

数码管常用于电子产品的显示部分,原理简单易于实现,将BCD码经译码后显示成十进制的数字

显示模块功能实现:

模块共有四个输入信号A、B、C、CLK,三个输出信号分别为Q、SS1、SS2。SS1、SS2可对三个数码管进行片选,使它们分别亮。A、B、C接段选,以控制数码管显示什么数字。

程序如下:

module show(A,B,C,clk,Q,ss1,ss0);

input[3:0] A,B,C;

input clk;

output[6:0] Q;

output ss1,ss0;

reg[1:0] M;

reg ss0,ss1;

reg[6:0] Q;

always@(posedge clk)

begin

M=M+1;

if(M=='b11)

M<='b00;

end

always@(posedge clk) begin

if(M=='b00)

begin

ss1<=0;

ss0<=0;

case(A)

0:Q<='b0111111;

1:Q<='b0000110;

2:Q<='b1011011;

3:Q<='b1001111;

4:Q<='b1100110;

5:Q<='b1101101;

6:Q<='b1111101;

7:Q<='b0000111;

8:Q<='b1111111;

9:Q<='b1101111; endcase

end

if(M=='b01)

begin

ss1<=0;

ss0<=1;

case(B)

0:Q<='b0111111;

1:Q<='b0000110;

2:Q<='b1011011;

3:Q<='b1001111;

4:Q<='b1100110; 5:Q<='b1101101; 6:Q<='b1111101; 7:Q<='b0000111; 8:Q<='b1111111; 9:Q<='b1101111; endcase

end

if(M=='b10) begin

ss1<=1;

ss0<=0;

case(C)

0:Q<='b0111111; 1:Q<='b0000110; 2:Q<='b1011011; 3:Q<='b1001111; 4:Q<='b1100110; 5:Q<='b1101101; 6:Q<='b1111101; 7:Q<='b0000111; 8:Q<='b1111111; 9:Q<='b1101111; endcase

end

end

Endmodule

4.控制模块

控制模块用于密码的设置

控制模块功能实现:

模块可以通过程序的执行实现对密码进行设置和进行开琐,开始时锁处于关闭的状态,即为1,输入事先设置的万能密码开琐,在锁开的状态时设置密码,然后将锁关闭,再输入三位数字进行开锁,正确时为1既灯亮,否则为0为1,即蜂鸣器响。

控制模块程序如下:

/*

clk:时钟信号

n0,n1,n2,n3,n4,n5,n6,n7,n8,n9:密码输入信号

lock:状态显示信号

close:关信号

set:密码确认信号

*/

module

code(lock,warning,num1,num2,num3,clk,n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,se t,close);

input n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,set,close,clk;

output[3:0]num1,num2,num3;

output lock,warning;

reg lock,warning;

reg[3:0]num1,num2,num3,temp;

reg[11:0]code;

always@(posedge clk)

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=1'd0;

10'b0000000010:temp=1'd1;

10'b0000000100:temp=1'd2;

10'b0000001000:temp=1'd3;

10'b0000010000:temp=1'd4;

10'b0000100000:temp=1'd5;

10'b0001000000:temp=1'd6;

10'b0010000000:temp=1'd7;

10'b010*******:temp=1'd8;

10'b1000000000:temp=1'd9;

endcase

num3<=num2;

num2<=num1;

num1<=temp;

end

if(close)

begin

num1<=0;

num2<=0;

num3<=0;

end

end

always@(posedge clk)

begin

if(lock==0&&set)

begin

if(code=={num3,num2,num1})

lock<=1;

else if({num3,num2,num1}==16'b000000000111) lock<=1;

else warning<=1;

end

if(lock==1&&close)

lock<=0;

if(close)

warning<=0;

end

always@(posedge clk)

begin

if(lock==1&&set)

code<={num3,num2,num1};

end

Endmodule

各个模块功能仿真波形1.顶层模块时序仿真:

图1.2 万能密码开锁的波形

图1.3 设置密码的波形

图1.4 开锁失败的波形

2.蜂鸣器时序仿真

图1.5:当ENA为1时且CLK2上升沿到来时,COUT被置1,即蜂鸣器开始发出响声

图1.5 蜂鸣器功能波形

3.显示模块时序仿真:

图1.6:SS0、SS1不断的进行片选使三个数码管分别显示所输入的密码,以实现对密码的动态显示

图1.6 显示模块功能波形

4.控制模块时序仿真

图1.7:输入万能密码007,并使set置1,运行程序后lock被置1。说明开锁成功。

图1.7 输入万能密码后的波形

图1.8:锁开的状态下设置密码123,并使close置1,使锁关闭,再set使置1,此时lock 置0,表示锁关闭。实现设置密码的功能。

图1.8 设置密码波形

图1.9:输入密码123即正确的密码进行解锁。因为输入的密码正确所以使lock置1,表示开锁成功。

图1.9 成功开锁波形

图2.0:输入错误密码234时,warning被置1,表示开锁失败。

图2.0 开锁失败的波形

总结

通过本设计可以学的到很多的东西,同时不仅可以巩固所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA 的了解,。每一个子模块编写调试,都需要非常用心。编写过程中遇到了不少问题,通过查找相关资料,并且细心的检查,找出了错误和警告,并且排除在波形仿真时,设定输入的时钟信号,找到比较合适的输入数值,仿真时长等。

通过这次设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,用于实践,提高自己的实际动手能力和独立思考的能力。在设计的过程难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。需要耐心,信心去完成。

基于FPGA的数字密码锁

基于F P G A的数字密码 锁 LG GROUP system office room 【LGA16H-LGYY-LGUA8Q8-LGA162】

CPLD/FPGA课程设计 项目名称:基于FPGA的数字密码锁设计 专业班级: 学生学号: 学生姓名: 指导老师: 2016年6月4日

摘要 本设计是基于现场可编程门阵列FPGA 器件的电子密码锁的设计。通过Verilog 语言控制4位二进制数,组成数字排列,形成一个简单的数字密码锁,假设预设密码为4位数:0000,当输入正确时输出为1、输入错误时输出为0。同时输出输入的次数,当3次以上输入错误时,输出一个报警信号,即使第四、五次输入正确也输出报警信号。 本设计利用Modelsim软件编写Verilog HDL硬件描述语言程序以实现输入密码、开锁、报警功能。通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。 关键词:现场可编程门阵列;数字密码锁;Verilog HDL;

Abstract This design is the electronic code lock field programmable gate array FPGA devices based design. By Verilog language control 4-bit binary number, composed of figures arranged to form a simple digital lock, assuming that the default password is 4 digits: 0000, correct output when the input is 1, the output of the input error to zero. At the same time the number of input and output, and when more than three times the input error, an alarm signal is output, even if the fourth and fifth also enter the correct output alarm signal. This design uses Modelsim software write Verilog HDL hardware description language program to implement a password lock, alarm function. The simulation debugging, using the programmable device FPGA design basic electronic locks to achieve the desired purpose. Key words: FPGA;The digital combination lock;Verilog HDL;

课程设计fpga密码锁

FPGA实验报告

一、实验目的 1.设计一个密码锁 2.加深FPGA电路原理的理解 3.掌握VHDL语言的使用,学会用VHDL语言来编程解决实际问题 4.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧 5.学会应用开发系统实现硬件电路,检验电路的功能 二、实验内容 题目:电子密码锁 内容:设计一个4位串行数字锁 1.开锁代码为4位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁。否则进入“错误”状态,发出报警信号。 2.锁内的密码可调,且预置方便,保密性好。 3.串行数字锁的报警,直到按下复位开关,才停下。此时,数字锁又自动等待下一个开锁状态。 三、实验步骤 1.系统总框图 本系统的硬件部分主要由密码锁按键消抖模块,密码输入比较更改模块,密码显示模块、报警模块组成。整体系统框图如下图所示。

2.密码锁的主要功能 密码锁控制器的主要功能有: (1)密码输入:有二个按键来控制(分别代表0和1),每按下一个键,要求在数码管上显示,并依次左移。 (2)密码校验:如果有按键按下,直到松开该按键,如果密码校验正确,无变化,否则如果密码校验错误蜂鸣器响,表明密码错误。(3)错误报警:密码输入错误开始报警。 (4)密码修改:输入密码正确后按按键输入要设置和更改的密码,按按键确认密码设置与更改,则密码设置成功。 3.密码锁的各个模块 (1)按键消抖。 每按下一个键,仅产生一个信号脉冲,作为按键的使能信号,使能信号控制显示的数字。 (2)密码输入比较 密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足,都不能打开锁。锁内密码为“0000” , key2 和key1 置低电平,分别表示输入“1” 和“0” 。输入密码前先按start键,再依次正确输入0000,会在数码管逐一显示,按确认键,经检验,输入的密码等

基于FPGA的四位电子密码锁设计与实现 专业综合实训报告

基于FPGA的四位电子密码锁设计与实现 摘要: 针对于传统密码锁安全性能低及可靠性差等问题,立足于芯片中数据存储的保密性,运用EDA技术自顶向下的设计方法,提出了基于FPGA的四位电子密码锁的设计与实现方法,所设计的四位电子密码锁具有解锁、密码修改、报警提示及液晶显示功能。设计分析与仿真结果表明,基于FPGA所设计的四位电子密码锁保密性更高、灵活性更好,使得数据存储的整体可靠性增强,为提高数据的保密性提供了新的解决方案。 关键词:密码锁;FPGA;保密性;EDA技术; Design and Implementation of 4-Bit Electronic Cipher Lock Based on FPGA WANG Guo-qiang LI Shang-fu WANG Fei XIE Li-li WANG Qin SUN Bai School of Electronic Engineering,Heilongjiang University; Abstract: Traditional lock faces safety problem of low performance and poor reliability. Based on the data stored in the chip of confidentiality,and using EDA technology top-down design approach,we proposed the design and implementation of a 4-bit FPGA-based electronic lock,which provides unlock,passwordchange,alarm and LCD functions.Design analysis and simulation results show that the designed FPGA-based electronic lock provides better confidentiality,flexibility and reliability for data storage.This approach provides a novel solution for improving data confidentiality. Keyword: Coded lock;FPGA;Confidentiality;EDA technology; 0 引言 随着时代的发展,人们生活水平逐步提高,同时安全意识也日益增强,如何实现家庭防盗这一问题就尤其突出。传统的机械锁由于其构造简单,锁芯直接外露,导致被撬的事情比比皆是。因此,随着电子技术工业的发展,数字电子技术已经深入到人们的日常生活中,层出不穷的电子产品也向着高端方向发展,电子密码锁也就应运而生,在生活安全领域,具有防盗、报警功能的电子密码锁完全打破了机械密码锁的密码量少和安全性差的缺点[1]。 电子密码锁的复杂性,需要设计专门的电子电路和技术,许多相关研究机构和组织的科研人员进行了大量研究。目前该领域的研究主要集中在如何使电子密码锁体积缩小、可靠性

密码锁verilog课程设计

课程设计报告课程设计题目:4位串行数字密码锁 学号:201420130326

学生姓名:谢渊良 专业:通信工程 班级:1421302 指导教师:钟凯 2017年1月5日 1.摘要 随着科技的发展数字电路的各种产品广泛应用,传统的机械锁由于其构造的简单,安全性不高,电子密码锁其保密性高,使用灵活性好,安全系数高,使用方便,将会是未来使用的趋势。本设计使用EDA设计使设计过程廷到高度自动化,其具有强大的设计功能、测试、仿真分析、管理等功能。使用EDA环境完成电路的系统综合设计和仿真。用VHDL可以更加快速、灵活地设计出符合各种要求的密码锁。本设计基于Verilog HDL语言来设计密码锁,先介绍设计要求和整体设计思想,随后对所使用各模块分别为键盘模块、连接模块、控制模块进行了介绍,给出各个模块的主要代码,在对各个模块的功能进行仿真。 关键字:密码锁Verilog HDL

2.设计内容 设计一个4位数字密码锁子系统 1)1.2设计要求 开锁密码为4位二进制,当输入密码与锁内给定的密码一致时,方可开锁。否则进入“错误”状态,发出报警信号。 2)锁内的密码可调。 3)串行数字密码锁的报警,直到按下复位开关,才停下。此时,数字密码锁又自动等待下一个开锁状态。 3.系统设计 本设计中,FPGA 系统采用硬件描述语言Verilog 按模块化方式进行设计,并用modersim 软件对各个模块进行编写仿真。 3.1键盘模块 键盘电路理想接口图: flag Set Reset key_value

设计原理: 本模块采用2×2的扫描键盘电路,对输入信号进行采集,此模块的主要功能是每按下一个按键,flag 产生一个矩形波,作为连接模块的触发信号。同时key_value 值为所按下键的编码值,与flag 一同传入连接模块。 实际设计接口图: flag key_value 键盘模块仿真图:

基于51单片机电子密码锁设计

一、设计目的 1.1课题简介 如何实现防盗是很多人关心的问题,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,使人们的人身及财产安全受到很大威胁。电子密码锁是一种依靠电子电路来控制电磁锁的开和闭的装置,开锁需要输入正确密码,若密码泄露,用户可以随时更改密码。因此其保密性高,使用灵活性好,安全系数高,可以满足广大用户的需要,现在广泛使用的有红外遥控电子密码锁,声控密码锁,按键密码锁等。 1.2课题研究目的 本设计是一种基于单片机的密码锁方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。现在很多地方都需要密码锁,电子密码锁的性能和安全性大大超过了机械锁,为了提高密码的保密性,必须可以经常更改密码,以便密码被盗时可以修改密码。 本次设计的密码锁具备的功能:LED数码管显示初始状态“——————”,用户通过键盘输入密码,每输入一位密码,LED数码管相应有一位变为“P”,若想重新输入密码,只需按下“CLR”键。密码输入完毕后按确认键“#”,密码锁控制芯片将输入的密码和密码锁控制芯片中存储的密码相比,若密码错误,则不开锁,会有红灯亮提示,同时显示“Error”。若正确,则开锁,会有绿灯亮提示,同时显示“PASS”。用户可以根据实际情况随意改变密码值或密码长度,密码输入正确后可以按下“CHG”修改密码,输入新密码时每输入一位新密码相应有一位变为“H”,以便提示用户此时输入的是新密码,修改新密码时若想重新输入新密码只需按下“CLR”键即可。输入新密码后按确认键即修改成功,新密码写入单片机内部RAM中,以便以后用来确认密码的正确性。按下复位键,系统恢复初始状态,密码也恢复初始密码,本设计中初始密码是“096168”。 本次设计中硬件主要由我完成,软件主要由张振完成。 二、硬件设计 2.1概述 本系统主要由单片机最小系统、电源电路、输入键盘电路、输出显示电路、开锁电路等组成,系统框图如图1所示:

FPGA基于verilog HDL的密码锁

EDA课程设计课设 密码锁 名称: 课设 2014.6.23——7.5 日期: 姓 陈飞 名: 学 110250101 号: 哈尔滨工业大学(威海) 信电学院电子信息工程 2014.6

一. 所用软件与硬件介绍 1.1所用软件介绍 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 QuartusII可以在XP、Linux以及Unix上使用,除了可以使用TCL脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,QuartusII 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII 的更新支持,QuartusII 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII 中包含了许多诸如SignalTapII、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII 友好的图形界面及简便的使用方法。 1.2所用硬件介绍 硬件的总体设计: 故由上图,将整个硬件电路部分主要分成五个部分,即:FPGA电路设计,

基于单片机的电子密码锁设计与实现

摘要 近年来,随着改革开放的深入发展,电子电器的飞速发展。人民的生活水平有了很大提高。各种高档家电产品和贵重物品为许多家庭所拥有。然而不法分子也是越来越多,原因在于大部分人防盗意识还不够强,造成偷盗现象屡见不鲜。越来越多的居民家庭对财产安全问题十分担忧。因此,出于安全方便等方面的需求,电子密码锁相继问世。 本设计是以单片机AT89S51为主控芯片,并结合外围液晶显示LCD1602、存储芯片AT24C02、红外遥控HS0038,以及键盘输入、复位、电源等电路组合而成。系统能够完成开锁、报警、修改密码等基本功能,还能够通过红外来控制单片机的开锁,以及掉电储存密码的功能。整个设计在Keil开发环境下,用C 语言编写主控芯片的控制程序来实现具有多功能的电子密码锁。 关键词:密码锁AT89S51 储存显示红外

Abstract In recent years, with the deepening of reform and opening-up, with the rapid development of electronic appliances.The people's living standard has been greatly improved.A variety of high-grade household electrical appliances and the valuables have for many families.However criminals are also more and more, because most people security awareness is not strong enough, causing steal phenomenon it is often seen.More and more households in property safety is concerned about.Therefore, for the safe and convenient and other aspects of the demand, electronic password lock in succession. The design is based on SCM AT89S51 as main control chip, and the combination of peripheral LCD1602 liquid crystal display, memory chip AT24C02, infrared remote control HS0038, and keyboard input, reset, power circuit assembly.The system can complete the lock, alarm, modify passwords and other functions, can also through infrared to control chip lock, and power-down save password function.The whole design in the KEIL development environment, using C language master control chip control procedures to achieve multifunctional electronic cipher lock. Key Words:Password lock AT89S51 Storage Display Infrared

FPGA基于某verilog HDL的密码锁

EDA课程设计 课设名称:密码锁 课设日期: 2014.6.23——7.5 姓名:陈飞 学号:110250101 哈尔滨工业大学(威海) 信电学院电子信息工程 2014.6

一. 所用软件与硬件介绍 1.1所用软件介绍 QuartusII是Altera公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 QuartusII可以在XP、Linux以及Unix上使用,除了可以使用TCL脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 QuartusII支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,QuartusII 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 Maxplus II 作为Altera的上一代PLD设计软件,由于其出色的易用性而得到了广泛的应用。目前Altera已经停止了对MaxplusII 的更新支持,QuartusII 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。Altera在QuartusII 中包含了许多诸如SignalTapII、Chip Editor和RTL Viewer的设计辅助工具,集成了SOPC和HardCopy设计流程,并且继承了MaxplusII 友好的图形界面及简便的使用方法。 1.2所用硬件介绍 硬件的总体设计: 故由上图,将整个硬件电路部分主要分成五个部分,即:FPGA电路设计,数码管显示驱动电路设计,温度传感器电路设计,报警电路设计,键盘矩阵

电子密码锁毕业设计开题报告

湖北理工学院 毕业设计(论文) 开题报告 题目:基于单片机的超市储物柜密码锁的设计 学院:电气与电子信息工程学院 专业名称:电子信息工程 学号:201140210122 学生姓名:叶文 指导教师:章磊 2015 年 1 月8 日

1、课题来源 2、研究目的和意义

3、国内外研究现状和发展趋势综述

4、本课题的主要研究内容及方案

方案阐述: 本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分、红外部分组成,软件部分对应的由主程序、初始化程序、12864显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置 程序、EEPROM读写程序和延时程序,红外线程序等组成。用单片机灵活的编 程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接12864液晶显示器用于显示作用。 超市存物柜密码锁设计原理: 本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。密码锁工作的主要过程是12864液晶显示提示开始输入密码,通过键盘输入密码,同时12864液晶显示密码输入情况,其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。 主要的设计实施过程: 1、选用ATMEL公司的单片机AT89C52,以及选购其他电子元器件。 2、使用PROTEUS软件设计硬件电路原理图, 3、使用Keil uVision2软件编写单片机的C语言程序、仿真、软件调试。 4、使用PROTEUS软件进行模拟软、硬件调试。

基于单片机的电子密码锁设计与实现

河南理工大学万方科技学院课程设计报告 2015— 2016学年第一学期 课程名称单片机原理及应用 设计题目电子密码锁设计 学生姓名杨会毫 学号 1516353019 专业班级计算机15升 指导教师苏百顺

日5 月2016 年1 I 摘要 近年来,随着改革开放的深入发展,电子电器的飞速发展。人民的生活水平有了很大提高。各种高档家电产品和贵重物品为许多家庭所拥有。然而不法分子也是越来越多,原因在于大部分人防盗意识还不够强,造成偷盗现象屡见不鲜。越来越多的居民家庭对财产安全问题十分担忧。因此,出于安全方便等方面的需求,电子密码锁相继问世。 本设计是以单片机AT89S51为主控芯片,并结合外围液晶显示LCD1602、存储芯片AT24C02、红外遥控HS0038,以及键盘输入、复位、电源等电路组合而成。系统能够完成开锁、报警、修改密码等基本功能,还能够通过红外来控制单片机的开锁,以及掉电储存密码的功能。整个设计在Keil开发环境下,用C语言编写主控芯片的控制程序来实现具有多功能的电子密码锁。 关键词:密码锁AT89S51 储存显示红外

II 目录 摘要......................................................................................................................... I 引言 (1) 1 概述 (2) 1.1 课题背景和意义 (2) 1.2电子密码锁的发展趋势 (2) 2 系统总体设计思路 (3) 2.1 系统设计要求 (3) 2.2系统设计方案 (3) 3 系统硬件设计与实现 (4) 3.1主控芯片AT89S51 (4) 3.2 存储模块AT24C02 (7) 3.3红外模块HS0038 (9) 3.4 显示模块LCD1602 (10) 3.5 电源电路模块 (11) 3.6 键盘输入模块 (12) 3.7 报警电路 (13) 3.8 开锁电路 (13) 3.9 复位电路 (14) 3.10串行通信电路 (14) 3.11 系统整体原理图 (16) 4系统软件设计........................................................................................................... 17 4.1 主程序设计 (17) 4.2键值判断设计 (18) 4.3开锁设计 (19) III

基于FPGA的数字密码锁

CPLD/FPGA课程设计项目名称:基于FPGA的数字密码锁设计 专业班级: 学生学号: 学生姓名: 指导老师: 2016年6月4日

摘要 本设计是基于现场可编程门阵列FPGA 器件的电子密码锁的设计。通过Verilog语言控制4位二进制数,组成数字排列,形成一个简单的数字密码锁,假设预设密码为4位数:0000,当输入正确时输出为1、输入错误时输出为0。同时输出输入的次数,当3次以上输入错误时,输出一个报警信号,即使第四、五次输入正确也输出报警信号。 本设计利用Modelsim软件编写Verilog HDL硬件描述语言程序以实现输入密码、开锁、报警功能。通过仿真调试,利用可编程器件FPGA的电子密码锁的设计基本达到了预期目的。 关键词:现场可编程门阵列;数字密码锁;Verilog HDL;

Abstract This design is the electronic code lock field programmable gate array FPGA devices based design. By Verilog language control 4-bit binary number, composed of figures arranged to form a simple digital lock, assuming that the default password is 4 digits: 0000, correct output when the input is 1, the output of the input error to zero. At the same time the number of input and output, and when more than three times the input error, an alarm signal is output, even if the fourth and fifth also enter the correct output alarm signal. This design uses Modelsim software write Verilog HDL hardware description language program to implement a password lock, alarm function. The simulation debugging, using the programmable device FPGA design basic electronic locks to achieve the desired purpose. Key words: FPGA;The digital combination lock;Verilog HDL;

电子密码锁的设计与实现.docx

电子 密码锁的设计与实现 2.了解按键消抖的方 法。 、实验内容与要求 1 ?基本要求 当三次密码输入不正确时,系统应 锁定键盘 10s 。 2 ?提高要求 将用户分为管理者和 使用者,管理者拥有超级密码,可以修改 其他人的密码。使 用者不能修改密码。 三、实验报告要求 1. 设计目的和内容 2?总体设计 3 ?硬件设计:原理图 接线图)及简要说明 四、总体设计 :从键盘输入一组密码, CPU 把该密码和设置密码比较 ,对则将 锁打开(不同锁的控 制方式不一样,比如加电控制电磁铁抽回 ,从而打开 ),错则要求重新 输入,并记录错误次 数,如果三次错误,则被强制锁定并报警 ,除非超级密码或者其他的 手段打开,比如延时 一段时间。 初步设计思路如下: 1.输入密码用矩形键 盘,包括数字键和功能键,功能键包括退 格键和确认键。 2. LED 数码管显示输入密码,但是只是输出 显示符号 8 。采用动态 扫描输出。 、实验目的 1.进一步掌握键盘扫 描和 LED 显示的程序设计。 4 ?软件设计框图及程 序清单 5 ?设计结果和体会( 包括遇到的问题及解决的方法) 3.综合运用微机原理 的软硬件知识。 1) 具有密码输入功能, 密码最多为6位; 2) 设置退格键,以便删 除输入错误的密码; 3) 在输入的密码时数码 管上只显示 8,并根据输入位数依 次横移; 4) 设置确认键,当确认 键按下后,判断输入密码是否正确; 5) 当输入密码正确时, 点亮发光二极管;当输入密码不正确时, 发光二极管不亮并 且蜂鸣器报警,重新 输入, 电子密码锁的原理是

3.用发光二极管模拟锁的情况,锁关时发光二极管灭,打开时发光二极管亮。 4 .输入密码错误时报警,3次输入错误时键盘锁定IOs ,键盘无法接收数据。 软件的设计主要包括矩形键盘键值的读取、LED 动态扫描输出程序、密码判断程序和报警程序。 五、硬件设计 根据设计思路,硬件电路可通过实验平台上的一些功能模块电路组成,由于实验平台上的各个功能模块已经设计好,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图1 所示。硬件电路由LED 数码管显示模块、按键模块、发光二极管电路和蜂鸣器模块组成。 各个模块的详细说明: 1 . LED 数码管模块 实验平台上提供一组六个LED数码管。插孔CS1用于数码管段选的输出选通,插孔 CS2用于数码管位选信号的输出选通。本设计用6个数码管来动态显示时分秒,动态显示 的定时时间由8253定时/计数器来实现。8253主要是实现每位显示时间Ims,由8253的计数器0来实现。ClkO 接实验平台分频电路输出Q6, f = 46875hz° GATEO接8255的PAO , 由8255的PA0输出来控制计数器的起停。OUT0接8259的IRQ2 ,定时完成请求中断,进 入中断服务程序。软件在中断服务程序中LED 数码管显示。

基于单片机的电子密码锁设计与实现

毕业设计 基于单片机的电子密码锁设计与实现 姓名: 学号: 学院: 专业: 指导教师: 协助指导教师:

摘要 近年来,随着改革开放的深入发展,电子电器的飞速发展。人民的生活水平有了很大提高。各种高档家电产品和贵重物品为许多家庭所拥有。然而不法分子也是越来越多,原因在于大部分人防盗意识还不够强,造成偷盗现象屡见不鲜。越来越多的居民家庭对财产安全问题十分担忧。因此,出于安全方便等方面的需求,电子密码锁相继问世。 本设计是以单片机AT89S51为主控芯片,并结合外围液晶显示LCD1602、存储芯片AT24C02、红外遥控HS0038,以及键盘输入、复位、电源等电路组合而成。系统能够完成开锁、报警、修改密码等基本功能,还能够通过红外来控制单片机的开锁,以及掉电储存密码的功能。整个设计在Keil开发环境下,用C语言编写主控芯片的控制程序来实现具有多功能的电子密码锁。 目录 摘要 Abstract 引言 1 概述 1.1 课题背景和意义 1.2电子密码锁的发展趋势 2 系统总体设计思路 2.1 系统设计要求 2.2系统设计方案 3 系统硬件设计与实现 3.1主控芯片AT89S51 3.2 存储模块AT24C02 3.3红外模块HS0038 3.4 显示模块LCD1602 3.5 电源电路模块 3.6 键盘输入模块 3.7 报警电路 3.8 开锁电路

3.9 复位电路 3.10串行通信电路 3.11 系统整体原理图 4系统软件设计 4.1 主程序设计 4.2键值判断设计 4.3开锁设计 4.4密码修改设计 4.5 红外遥控设计 4.6 Keil编程软件介绍 5 仿真设计 5.1 Protues仿真软件概述 5.2 Protues与Keil的连调 5.3 Protues与Keil的连调的仿真结果 5.4问题及解决办法 结论 致谢 引言 随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到冶金、电力、建材、化工、机械、石油、食品等各个行业。单片机控制无疑是人们追求的目标之一,它所给人们带来的方便也是不可否认的其中单片机控制就是一个典型的例子。MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片机微型计算机应用系统开发的一个重要系列。目前,单片机原理与应用教材大都采用汇编语言讲解和设计程序实例,但汇编语言学习困难。在实际应用系统开发调试中,特别是开发比较复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。 在信息产业飞速发展的今天,我们生活中必不可需的设备都向着小型化、便携化、智能化、自动化的方向发展。所以电子密码锁随着快节奏的生活应运而生。在我国六七十年代还是传统的一把钥匙配一把锁,不管是单位还是个人每天都要认真检查是否锁上了门,而且钥匙还不能随便乱放,一旦不小心忘记放在哪里很可能就打不开门了。传统的锁也相当的不安全,会有一些不法分子想尽办法打开你的房锁去偷盗东西。电子密码锁的产生使得这些问题都不再是问题,我们只需简单的记住六位密码即可。 1 概述 1.1 课题背景和意义 人们从前使用的锁不但不方便,而且安全系数也比较低。随着社会的进步和人们生活水平的提高,老式的锁已经跟不上人们的要求,况且人们对防盗的要求越来越高,特别是对使用的便捷性也有了更高的需求。因此近几年一种新型的电子密码锁应运而生,受到了人们的青睐。有报警功能的密码锁这时正为人们解决了不少问题。但是市场上的密码锁大部分都是用于一些大公司财政机构、价格高昂,一般人们难以接受。如果再设计和生产一种价格低廉、性能灵敏可靠的密码锁,必将在防盗和保证财政安全方面发挥更加有效的作用。 密码锁是现代生活中经常用到的工具之一,广泛应用于保险柜、房门、宾馆、车库等。电子密码锁克服了机械式密码锁量少、安全性能差的缺点,特别是使用单片机控制的智能电子密码锁,不但功能全,而且具有更高的安全性和可靠性。并且电子密码锁只需记住一组密码,无需携带钥匙,免除了人们携带钥匙的烦恼,被越来越多的人所喜欢。随着我国第三产业的飞速发展,电子密码锁会在不久的将来得到广泛的应用,方便社会和个人。 1.2电子密码锁的发展趋势 20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,同时可靠性提高,成本也相对提高,所以只适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对密码锁的研究一直没有明显进展。到了90年代,

课程设计fpga密码锁

FPGA实验报告 一、实验目的 1.设计一个密码锁 2.加深FPGA电路原理的理解 3.掌握VHDL语言的使用,学会用VHDI语言来编程解决实际问题 4.学会使用EDA开发软件设计小型综合电路,掌握仿真的技巧 5.学会应用开发系统实现硬件电路,检验电路的功能

二、实验内容 题目:电子密码锁 内容:设计一个4 位串行数字锁 1.开锁代码为4 位二进制,当输入代码的位数与锁内给定的密码一致,且按规定程序开锁时,方可开锁。否则进入“错误”状态,发出报警信号。 2.锁内的密码可调,且预置方便,保密性好。 3.串行数字锁的报警,直到按下复位开关,才停下。此时,数字锁又自动等待下一个开锁状态。 三、实验步骤 1. 系统总框图本系统的硬件部分主要由密码锁按键消抖模块,密码输入比较更改模块,密码显示模块、报警模块组成。整体系统框图如下图所示。 2.密码锁的主要功能 密码锁控制器的主要功能有: (1)密码输入:有二个按键来控制(分别代表0和1),每按下一个键,要求在数码管上显示,并依次左移。

(2)密码校验:如果有按键按下,直到松开该按键,如果密码校验正确,无变化,否则如果密码校验错误蜂鸣器响,表明密码错误。 (3)错误报警:密码输入错误开始报警。 (4)密码修改:输入密码正确后按按键输入要设置和更改的密码,按按键确认密码设置与更改,则密码设置成功。 3.密码锁的各个模块 (1)按键消抖。 每按下一个键,仅产生一个信号脉冲,作为按键的使能信号,使能信号控制显示的数字。 (2)密码输入比较 密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足,都不能打开锁。锁内密码为0000”,key2和keyl置低电平,分别表示输入T和0”。输入密码前先按start键,再依次正确输入0000,会在数码管逐一显示,按确认键,经检验,输入的密码等于锁内预先设置的密码密码锁开启信号,锁开启。同时, 可以进行密码修改。若在输入密码的过程中,4 位二进制密码出现输入错误, 那么锁不能开启, 同时,蜂鸣器发出报警信号。直到按下复位开关, 报警才停止。此时, 数字锁又自动进入等待下一次开锁的状态。 (3)密码修改 为防止任意进行密码修改, 必须在正确输入密码后, 才能重新设置密码。输入正确密码后, 锁打开, 就可直接进行修改密码的操作。修改密码实质就是用输入的新密码去取代原来的旧密码,按确定按键ok, 存储新密码。

密码锁的研究与设计

《计算机控制技术》 学号: 201172020143 姓名: 张淑英班级: 电子信息工程一班 成绩: 评语: (考试题目及要求) 密码锁的研究与设计 通过对计算机控制课程的学习,结合课程中对单片机知识的复习以及对计算机控制的基本原理的理解,完成了该设计。该课程作业主要是对密码锁的研究与设计。本控制器AT89C51单片机为核心键盘、显示电路,输出控制电路,告警提示电路等构成。利用目前使用的微处理器AT89C51 作为控制元件设计了一种电子密码锁。其具有可设置多组密码、多次改写和保存密码的优点,克服了普通锁需要随身携带钥匙且易丢失、保密性差的缺点,在宾馆、办公大楼、 仓库、保险柜和家庭普遍适用。

目录 一、课题背景及意义....................................................................................... - 3 - 二、设计要求................................................................................................... - 4 - 三、设计思路及设计方案............................................................................... - 4 - (一)设计方案选择............................................................................... - 4 - (二)总体方案思路............................................................................... - 6 - (三)系统硬件设计............................................................................... - 6 - 1.键盘设计........................................................................................ - 6 - 2. LED显示设计.............................................................................. - 7 - 3.开锁电路........................................................................................ - 7 - 4.报警电路........................................................................................ - 8 - (四)软件设计....................................................................................... - 8 - 1.键盘的读取.................................................................................... - 8 - 2.LED显示程序............................................................................... - 9 - 3.密码比较和报警程序.................................................................... - 9 - 四、程序调试................................................................................................ - 11 - (一)KEIL C51简介 ........................................................................... - 11 - (二)调试过程..................................................................................... - 11 - 五、设计总结................................................................................................. - 12 - 参考文献......................................................................................................... - 13 - 附录................................................................................................................. - 14 -

相关文档
相关文档 最新文档