EDA课设简易14位密码锁
- 格式:doc
- 大小:196.64 KB
- 文档页数:13
EDA课程设计报告书题目:电子密码锁成绩:设计题目:电子密码锁设计要求:1.用10个按键代表0~9,输入后应转换为8421BCD码,如按“6”后转换为“0110”;2.密码位数为6位,具有密码设置和修改功能;3.开锁和报警均有LED灯指示,且报警有声音提示,报警音频率为750Hz,每鸣叫1秒停1秒,共鸣叫5响;4.用6个数码管显示输入的密码。
设计步骤:1.电路模块化。
将要实现的功能电路分成若干小的功能模块,各自实现自己的功能。
2.设计具体化。
具体设计各个模块,然后将模块组合起来,完成课程设计的要求。
3.设计实现。
将电路下载到实验箱上,实现设计的电路。
设计过程及内容总体设计文字描述:总体设计共分为4个模块,分别为密码输入模块,密码校验模块,报警模块,输出显示模块。
主要模块描述:i.密码输入模块:密码输入模块电路图如图所示:初始密码保存仿真图如图所示:密码输入检验时仿真图如图所示:输入模块主要采用优先编码器,优先编码器允许输入信号多路同时有效,对多路信号的优先级别预先进行排队,同一时刻只对优先级别最高的进行编码,即优先级别低的输入信号只有在优先级别高的信号都为无效信号时,才能编码。
因此采用74148优先编码器,把从键盘的十进制输入转化成电路系统内部的二进制输入。
由D触发器构成的寄存器用来存储密码。
仿真时,当输入端bu3给低电频时,电路进行保存。
当输入端bu2给低电频时,电路进行检验。
ii.密码校验模块:校验模块电路图如图所示:校验模块比较相等时仿真图:校验模块比较不相等时仿真图:校验模块上部分连向输入检验模块,下部分连向输入的保存模块,用74194双向移位寄存器进行输入,输入后按下确定键,检验部分与保存部分开始比较,当保存部分与检验部分结果相等时,输出结果为1,此时报警模块中绿灯亮,当保存部分与检验部分结果不相等时,输出结果为0,此时红灯亮,蜂鸣器间歇报警。
iii.报警模块:报警模块电路图如图所示:分频模块与蜂鸣模块如下图所示:实验箱可提供732hz的频率,因此通过3个计数器74161进行分频得到1hz频率,作为蜂鸣模块的时钟。
单片机课设简易密码锁
单片机课设简易密码锁的设计涉及硬件和软件两个部分。
硬件部分包括:
1. 单片机:常用的单片机型号包括8051、AVR、PIC等,根据设计的具体需要选择合适的型号。
2. 输入设备:矩阵键盘,用于输入密码。
3. 显示设备:LCD1602液晶显示屏,用于显示密码输入提示和当前状态。
4. 存储设备:可以使用I2C总线进行存储,用于储存修改后的密码。
5. 其他设备:如蜂鸣器,用于报警。
软件部分包括:
1. 主程序模块:实现密码锁的基本功能,包括密码的输入、比对、修改等。
2. 密码储存模块:通过I2C总线进行密码的存储和读取。
3. 显示模块:通过LCD1602液晶显示屏显示密码输入提示和当前状态。
4. 报警模块:当密码输入错误次数超过一定次数时,触发蜂鸣器报警。
具体设计流程如下:
1. 初始化程序:包括液晶屏的初始化和单片机的初始化等。
2. 主程序循环:在初始化完成后,进入主程序循环,等待用户的操作。
3. 用户输入密码:通过矩阵键盘输入密码。
4. 密码比对:将用户输入的密码与预设的密码进行比对。
5. 根据比对结果执行相应操作:如果密码正确,则解锁;如果密码错误,则根据错误次数进行相应的操作,如显示错误提示、进行声音报警等。
6. 如果需要修改密码,则进入密码修改程序,修改完成后储存新密码。
以上是单片机课设简易密码锁的基本设计和流程,具体实现还需要根据实际需要和设计要求进行调整和完善。
基于EDA技术的电子密码锁设计基于EDA 技术设计的电子密码锁,以其价格便宜、安全可靠、使用方便,受到了人们的普遍关注。
而以现场可编程逻辑器件(FPGA)为设计载体,以硬件描述语言(VHDE)为主要表达方式,以QuartusⅡ开发软件和GW48EDA 开发系统为设计工具设计的电子密码锁,由于其能够实现数码输入、数码清除、密码解除、密码更改、密码上锁和密码解除等功能,因此,能够满足社会对安全防盗的要求。
1 电子密码锁的基本功能电子密码锁主要实现的功能包括:(1)数码输入:按下一个数字键,其对应的数字就显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
设计密码为4 位,系统只能显示前4 位输人的数码。
(2)数码清除:当按下清除键时,清除前面输入的所有值,并显示为--- -。
(3)密码解除:按下55#键,可以将电子密码锁的旧密码解除。
(4)密码更改:将旧密码解除之后,可以进行密码更改。
输入任意四位密码数字,再按#号就可以将输入的数码当作新的密码。
(5)密码上锁:输入新的密码之后,按下11# 键,可以进行密码上锁操作。
(6)密码解锁:按下99#键,再输入数码;如果输入与系统储存密码一致,密码锁就能开启;否则不能解锁。
2 电子密码锁的结构原理2.1 电子密码锁的整体结构电子密码锁的整体结构如图1 所示,它包括密码锁输入模块、控制模块和显示模块等。
2.2 密码锁输入模块密码锁输入模块的电路框图如图2 所示,它由时序产生电路、键盘扫描电路、弹跳消除电路、键盘译码电路和按键存储电路组成。
时序产生电路用于产生电路中三种不同频率的工作脉冲波形,包括系统时钟信号、弹跳消除取样信号和键盘扫描信号。
键盘电路可提供键盘扫描信号。
该信号由ky3~ky0 进入键盘,其变化的顺序为1110-1101-1011-0111-1110 周而复始。
扫描信号0111 代表扫描的为*、0、#这一排按键,当*这个按键被按下时,由kx2~kx0 读出的值为011。
五邑大学基于FPGA的数字系统设计报告题目:密码锁院系信息学院专业电子信息工学号13071814学生姓名江建钊指导教师赵顺喜一、设计的要求和意义1、实验目的:1)训练从概念到产品的设计全过程;2)综合运用各种设计方法。
2、实验原理和要求:图9-1 密码锁输入输出信号示意图图 9-1 k0~k9为数字键盘,用拨码开关实现(以为实验板上只有4个轻触开关),当按下ki=1时,代表一个对应i的BCD码。
setup为密码设置开关,用拨码开关实现,start_set为开始密码设置键,用轻触开关实现,当setup为高电平且start_set按下时为密码设置状态。
Start为开始密码输入键,用轻触开关实现,当setup为低电平且start按下时为密码输入状态。
Open为密码输入完成按键,当open按下,如果密码输入错误,输出信号lock=0,led1=0,led2=1(警示灯),spk=1(报警);如果密码输入正确,输出信号lock=1,led1=1,led2=0(警示灯),spk=0(报警)。
I_setup为复位按键,用轻触开关实现,当I_setup按下,强制将输出信号清零。
3、设计任务与要求:1)设计符合上述功能的密码锁控制电路;2)可以用各种设计方法;3)进行仿真;4)把设计下载到实验箱并验证。
二、系统设计1、软件设计流程及描述:图9-1 程序设计流程图图9-1设计流程可以分为3部分:密码设置、密码输入、密码输入结果判断和复位。
它们都是并发执行的。
2、程序源代码module jjz1(lock,led1,spk,led2,setup,start,start_set,open,k,I_setup);input[9:0] k;input start,setup,start_set,open,I_setup;output reg lock,led1,spk,led2;reg in,in_set;reg[3:0] code,c,c1,c2,c3,out1,out2,out3;reg[2:0] state,state_set;//*****************密码设置**************//always @(setup)beginbegincase(k)10'b00_0000_0001:begin c<=4'h0;in_set<=1;end //密码按键扫描按键;10'b00_0000_0010:begin c<=4'h1;in_set<=1;end10'b00_0000_0100:begin c<=4'h2;in_set<=1;end10'b00_0000_1000:begin c<=4'h3;in_set<=1;end10'b00_0001_0000:begin c<=4'h4;in_set<=1;end10'b00_0010_0000:begin c<=4'h5;in_set<=1;end10'b00_0100_0000:begin c<=4'h6;in_set<=1;end10'b00_1000_0000:begin c<=4'h7;in_set<=1;end10'b01_0000_0000:begin c<=4'h8;in_set<=1;end10'b10_0000_0000:begin c<=4'h9;in_set<=1;enddefault: begin c<=4'ha;in_set<=0;endendcaseendendalways @( posedge start_set or posedge in_set)beginif(start_set ) //beginstate_set<=0;c1<=4'hb;c2<=4'hb;c3<=4'hb;endelsecase(state_set)0:begin c1<=c;state_set<=1;end1:begin c2<=c;state_set<=2;end2:begin c3<=c;state_set<=3;endendcaseend//***************************************////**************密码输入*****************//always @(!setup)begincase(k)10'b00_0000_0001:begin code<=4'h0;in<=1;end //按键扫描; 10'b00_0000_0010:begin code<=4'h1;in<=1;end10'b00_0000_0100:begin code<=4'h2;in<=1;end10'b00_0000_1000:begin code<=4'h3;in<=1;end10'b00_0001_0000:begin code<=4'h4;in<=1;end10'b00_0010_0000:begin code<=4'h5;in<=1;end10'b00_0100_0000:begin code<=4'h6;in<=1;end10'b00_1000_0000:begin code<=4'h7;in<=1;end10'b01_0000_0000:begin code<=4'h8;in<=1;end10'b10_0000_0000:begin code<=4'h9;in<=1;enddefault:begin code<=4'ha;in<=0;endendcaseendalways @(posedge start or posedge in)beginif(start)beginstate<=0;out1<=4'hb;out2<=4'hb;out3<=4'hb;endelsebegincase(state)0:begin out1<=code;state<=1;end1:begin out2<=code;state<=2;end2:begin out3<=code;state<=3;endendcaseendend//****************************************////*************密码输入结果判断和复位*********//always @(posedge I_setup or posedge open)beginif(I_setup)begin lock<=0;led1<=0;spk<=0;led2<=0;end // I_setup为高电平是复位;else //open高电平触发下面语句; beginif ((out1==c1)&&(out2==c2)&&(out3==c3)) //判断out1,out2,out3是否//与c1,c2,c3全相等?begin lock<=1;led1<=1;spk<=0;led2<=0;end //是则密码输入结果正确; elsebegin lock<=0;led1<=0;spk<=1;led2<=1;end //否则密码输入结果错误; endend//****************************************//endmodule3、仿真结果及分析1) 密码输入正确输出的仿真波形图图9-3密码输入正确及输出由图9-3可以看出K0~K9按键分别认为0~9。
燕山大学EDA课程设计报告书题目:键盘电子密码锁:盖玉帅班级:14通信一班学号:140104030017成绩:一、设计题目及要求(1)用10个按键代表0-9,密码为4位固定数;(2)用1个按键作为门铃;(3)用1个开关作为关门信号;(4)开锁和报警LED指示,且报警用声音提示。
二、设计过程及容1.总体设计(1)程序框图错误(2)设计方案首先用数据选择器预设四位密码,然后用按键输入4位密码,用优先编码器将输入的按键转化为对应的二进制数字,再将输入密码的每一位和预设密码的每一位通过由4位比较器组成的密码验证电路比较,将每一位比较的结果送到4位移位寄存器存储,当4位比较结束后通过门电路输出比较结果,用两个LED灯和一个蜂鸣器表示比较的结果。
总原理图如下:仿真结果如下图所示:当输入四位正确密码时,green引脚变为高电平,red和ringer为低电平。
当输入四位错误密码时,red和ringer引脚变为高电平,green为低电平。
2.模块分析共分5个模块(1)按键防抖模块每个按键后加一个D触发器(DFF)用于防止按键抖动带来错误。
(2)按键输入模块用优先编码器74147将十个按键编码为四位二进制形式(默认输出为0可解决只有9路输入的问题)。
同时每按一次按键产生一个脉冲buffer,用于控制计数电路模块。
电路原理图如下:仿真波形图如图所示:(3)计数电路模块用16进制计数器74161设计一个4进制计数器,使用预置数计数方式,预置数为001,控制预设密码的S0,S1端口,密码输入按键每按下去一次计数器加1,按4次后加到101时跳到001完成一次循环。
每输入一位密码后,将预设密码的一位输入到选择器与输入的密码进行比较。
当计数器完成一次循环后,寄存器将4位存储结果输出。
原理图如下:仿真波形图如下:(4)密码预设模块用两个双四选一数据选择器74153组成,通过s0和s1的电平组合决定输出的数字,本电路预设的密码为1417。
EDA课程设计——电子密码锁一、设计目的:在学习完大部分内容后,设计一个功能和市面上一模一样的“4位数电子密码锁”,可让学生学习查找相关资料,并对小型项目开发有一定的认识。
使学生能进行模块化设计,对每部分电路进行讨论、说明与仿真验证,最后在整合起来。
二、所需器材:本设计所需的硬件主要有:矩阵键盘、七段译码器,七段管脚数码管。
三、设计内容和要求:1、数码输入:每按下一个数字键,就输入一个数值,并在显示器上的最右方显示,将先前的输入数据依序左移一个数字位置。
2、数码清除:按下此键可清除之前所有的输入值,清除成为“0000”。
3、密码更改:按下此键时会将目前的数字设定成新的密码。
4、激活电锁:按下此键可将密码锁上锁。
5、解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。
四、设计程序和调试情况:实验程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity key_led isport (x :in std_logic_vector(3 downto 0);y :out std_logic_vector(3 downto 0);clk :in std_logic;clr :in std_logic;ch_code :in std_logic;dx :out std_logic_vector(6 downto 0);wx :out std_logic_vector( 3 downto 0);open_key :out std_logic);end key_led;architecture one of key_led issignal count :std_logic_vector(10 downto 0);signal clk_key :std_logic;signal clk_key_1 :std_logic;signal clk_led :std_logic;signal key_in_0 :std_logic_vector(7 downto 0);signal key_in :std_logic_vector(4 downto 0);signal y_0 :integer range 0 to 3;signal y_temp :std_logic_vector(3 downto 0);signal SG :std_logic_vector(6 downto 0);signal j :std_logic_vector(2 downto 0);signal i :std_logic_vector(2 downto 0);signal i_test :std_logic_vector(2 downto 0);subtype one is std_logic_vector(6 downto 0);type two is array (3 downto 0) of one;signal Q :two;signal code :two;signal key_count :std_logic_vector(2 downto 0);beginfrequency division:process(clk)beginif(clk'event and clk='1') thenif(count="11111111111") thencount<=(others=>'0');else count<=count+1;end if;end if;end process;clk_key<=count(1);clk_led<=count(0);--再产生clk_key_1分频。
简易密码锁设计实验报告
密码锁作为一种常见的安全锁具,广泛应用于各种安全场合。
在本次实验中,我们将设计一个简易的密码锁,并通过实验验证其功能和安全性能。
原理
密码锁主要由以下几个部分组成:输入设备、控制器和输出设备。
输入设备通常是键盘或按键开关,控制器用于接收输入信号并判断是否正确,输出设备可以是电子门锁、LED 指示灯或蜂鸣器等。
在本次实验中,我们将采用单片机作为控制器,用矩阵键盘作为输入设备,用LED灯和蜂鸣器作为输出设备。
具体原理如下:
输入设备
矩阵键盘是一种常见的数字输入设备,在本次实验中我们将使用4*4矩阵键盘。
该键盘由16个按键组成,分别对应09数字和AF字母共16个字符。
控制器
我们将使用STM32F103C8T6单片机作为控制器。
该单片机具有较高的性能和丰富的外设资源,在密码锁设计中可以充分发挥其优势。
控制器主要工作流程如下:
(1) 初始化:对单片机进行初始化,并定义好输入输出引脚。
(2) 输入密码:从矩阵键盘读取用户输入的密码。
(3) 判断密码:将读取到的密码与预设的正确密码进行比较,如果相同则解锁,否则报警。
(4) 解锁/报警:如果密码正确,则点亮LED灯并发出解锁提示音;否则点亮红色LED灯并发出警示音。
输出设备
我们将使用两个LED灯和一个蜂鸣器作为输出设备,用于提示用户解锁状态。
其中绿色LED灯表示解锁成功,红色LED灯表示解锁失败,蜂鸣器用于发出提示音。
绍兴文理学院数理信息学院课程设计报告书题目电子密码锁设计姓名XXX学号XXX专业班级电信指导教师时间2013年1月14日课程设计任务书 班 级电信XXX 姓 名 XXX题目电子密码锁设计 技术参数、设计要求、检测数据等在EDA 实验箱上利用FPGA 、4*4键盘及数码管实现电子密码锁,功能要求如下: ● 模拟实现电子密码锁的开锁、解锁、改密码等基本功能 ● 实现万能密码功能 ● 当用户密码连续3次输入错误时,报警并锁定键盘 ● 当用户密码输入时间超过一定值(如30秒)时,提示超时 ● 在密码设置状态下输入密码时,所输入数字在数码管显示;其余状态下,所输密码在对应数码管上以特殊字符屏蔽显示 设计进度安排或工作计划 2013.1.4 ~2013.1.4: 任务分配,熟悉课题,查询相关资料,出方案初稿。
2013.1.5~2013.1.5: 方案交流并定稿,划分设计模块,课程设计开展。
2013.1.6~2013.1.7: 各模块设计实现及调试、验证。
(其中8、9 号暂停)2013.1.10~2013.1.13: 设计整体实现、调试及验证,并开始撰写报告。
2013.1.14~2013.1.15: 设计完成,课程设计报告撰写并定稿,上交。
其它认真阅读EDA 技术课程设计报告撰写规范;课题小组经协商好要指定组长并明确分工,形成良好团队工作氛围;基于课题基本要求,各小组课再细化、增加要求;课题小组每成员均需各自撰写一份课程设计报告。
电子密码锁设计摘要本文介绍了一种采用单片FPGA芯片进行电子密码锁的设计方法,主要阐述如何使用新兴的EDA器件取代传统的电子设计方法,利用FPGA的可编程性,简洁而又多变的设计方法,缩短了研发周期。
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
密码锁是以芯片为核心,通过编程来实现的,其性能和安全性已大大超过了机械锁。
电子密码锁EDA课程设计报告书燕山大学EDA课程设计报告书题目:电子密码锁一、设计题目及要求题目:电子密码锁要求:1. 用10 个按键代表0~9,输入后应转换为8421BCD 码,如按“6”后转换为“0110”;2. 密码位数为6 位,具有密码设置和修改功能;3. 开锁和报警均有LED 灯指示,且报警有声音提示,报警音频率为750Hz,每鸣叫1 秒停1 秒,共鸣叫5 响;4. 用6 个数码管显示输入的密码。
二、设计过程及内容1.设计方案本次EDA设计项目主要由输入模块、数据分路模块、输入及密码寄存模块、比较模块、密码重置模块、显示模块及结果输出报警模块组成。
图一、电路总图Keyinput1为输入模块,其中包含防抖电路,利用74147编码器将单位输入转化成对应的十进制BCD码,并输出按键的脉冲以及计数器所记录按键次数的BCD码,计数器采用74160利用清零端转换成7进制以便记录六位密码。
Cinput1为数据分路模块,输入端为按键表示的4为BCD码和3位二进制地址码,利用74138(3线8线译码器)进行译码,利用四个译码器并联实现利用地址码对输入数据进行并行输出的功能。
Compare为寄存和密码比较模块,输入端为3位地址码、keycp 脉冲、chpw脉冲、六位十进制BCD码并行输入,其中包含的2个cinput模块用以利用输入的地址码将keycpt和chpw脉冲分别送入6个bj模块,6个bj 模块中包含两个寄存器,一个用来寄存系统内密码,一个用来寄存输入的密码,并利用7485进行逐位比较输出结果。
Flash模块为晶体管的扫描模块,输入为6组十进制BCD码,扫描输入cp,利用74151实现利用地址码对6组BCD码的选择输出,最后实现输出端为三位地址码和4位十进制BCD码。
地址码和输出对应循环变化实现数码管的动态显示。
Show1为显示模块,地址码和BCD码为输入,利用7448以直接驱动数码管。
结果输出报警模块包括蜂鸣器和LED指示灯。
目录
一、设计要求..................................................................................
二、设计内容..................................................................................
三、14位密码锁控制电路原理图................................................
四、Modelsim模拟仿真..............................................................
五、课设心得................................................................................
题目:简易14位密码锁控制电路
数字密码锁的基本原理是,通过寄存器存储预置密码,输入密码后将数据寄存在另外的寄存器中。
然后分别将预置密码与输入密码通过比较器比较,如果相同,锁被打开,否则,不能打开。
本方案的以以上原理为基础,通过门电路与触发器的辅助,实现了预置密码,验证密码,修改密码的功能。
一、设计要求
1、输入按键开关设计为7个,密码位数要14位。
14位数字密码分成高7位(DH6….DH0)和低7位(DL6….DL0)两次输入,用数字逻辑按键开关预置,
2、开锁输出信号out为1表示开锁,否则不开锁。
3、输出报警信号均为1有效,分为声报警Sound the alarm (扬声器)和 light alarm(发光管),
4、 14位数字密码分时操作,先预置高7位,然后再置入低7位,(顶层电路可参考图1)。
5、要求电路工作可靠,保密性强,开锁出错立即报警,(用声光两种形式同时报警)。
6、利用QuartusⅡ软件,混合设计方法进行设计、编译、并在FPGA 芯片上实现。
7、14位密码自己设定。
比如:“10010010011100”。
本次设计采用本人学号后三位分别用BCD码+两位班号,其中一班是01,二班是10,三班是11四班是00作为设计密码。
二、设计内容
1. 设计简易14位数字密码模块ic9a模块,框图见图2,模块ic9ad 的设计采用VHDL实现。
2. 设计一个报警信号电路(输入频率:100khz,输出频率1HZ,占空比为0.5方波)连接到CP端为报警,设计方法不限。
3. 在ic9a模块基础上设计14位数字密码锁的顶层电路(参考图2)。
图1.ic9a
三、14位密码锁控制电路原理图
1、顶层电路组成
图2.
Clok为时钟控制信号,clk为ic9a始终控制信号,clk2为开锁控制信号,out1A为声报警输出信号,out1B为光报警输出信号,out2A 为开锁输出信号,out2B为ic9a输出端。
输入密码时,先置clr为1清零,然后置入密码高7位,接着clk 置1,把高7位锁存进锁存器,clk回0,再置低7位,此时out2B输出为1,然后再把clk2置1,out2A为1.因为输入密码是对的,所以,out1A,out1B不响不亮。
2、声光报警
Ic9a器件
Ic9a分为锁存器和译码器
锁存器VHDL源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY SCQ IS
PORT(CLK,CLR: IN STD_LOGIC;
D: IN STD_LOGIC_VECTOR(6 DOWNTO 0);
Q: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END SCQ;
ARCHITECTURE ART OF SCQ IS
BEGIN
PROCESS(CLK,CLR)
BEGIN
IF(CLR='1')THEN
Q<="0000000";
ELSIF(CLK'EVENT AND CLK='1')THEN
Q(6)<=D(6);
Q(5)<=D(5);
Q(4)<=D(4);
Q(3)<=D(3);
Q(2)<=D(2);
Q(1)<=D(1);
Q(0)<=D(0);
END IF;
END PROCESS;
END ART;
译码器VHDL源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY YM IS
PORT( OUTPUT: OUT STD_LOGIC;
A: IN STD_LOGIC_VECTOR(6 DOWNTO 0);
B: IN STD_LOGIC_VECTOR(6 DOWNTO 0)); END YM;
ARCHITECTURE ART OF YM IS
BEGIN
PROCESS(A,B)
BEGIN
IF(A="1100110" AND B="0011000")THEN OUTPUT<='1';
ELSE
OUTPUT<='0';
END IF;
END PROCESS;
END ART;
锁存器与译码器可以通过元件例化生成ic9a 元件例化VHDL源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity ic9a is
port(clr1,clk1:in std_logic;
d1:in std_logic_vector(6 downto 0);
out2:out std_logic);
end ic9a;
architecture art1 of ic9a is
signal a1:std_logic_vector(6 downto 0); component SCQ is
port(CLK,CLR:in std_logic;
D: in std_logic_vector(6 downto 0);
Q: out std_logic_vector(6 downto 0)); end component;
component YM is
port(A,B: in std_logic_vector(6 downto 0);
OUTPUT: OUT STD_LOGIC);
end component;
begin
u1: SCQ port map(clk1,clr1,d1,a1);
u2: YM port map(a1,d1,out2);
end art1;
3、报警电路(分频)
分频元器件fp10k
Fp10k VHDL源程序(20分频)
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity fp10k is
Port(clk:in std_logic;
Q:out std_logic
);
End fp10k;
Architecture art of fp10k is
signal i: std_logic_vector(17 downto 0):=(others=>'0'); Begin
Process(clk)
Begin
if clk'event and clk='1' then
If(i=20) then
i<=(others=>'0');
else
i<=i+1;
end if;
end if;
End process;
Q<='1'when i>10 else '0';
End art;
四、Modelsim 模拟仿真
4.1 ic9a密码输对仿真
4.2 ic9a密码输错仿真
4.3、20分频仿真
4.4、总体密码输对仿真
4.5、总体密码输错仿真
五、课设心得
通过一周的EDA技术课程设计,我们按照指导书做了一个14二进制建议密码锁控制电路,我们一周课设的成果不仅仅是一个控制电路,重要的是通过一周课设加深了我对EDA技术的理解与运用,,使我更加熟悉和了解了Modelsim6.5的用法。
在学习任何一种东西时都要保持一种谦虚谨慎的态度,在实践中发现自己的不足再不断的学习中进步,学会如何处理团队协作精神,每人都要表明自己的观点,尽管可能不正确,甚至看起来是很荒谬的,大家在一起相互学习,不断发现自己的不足之处,每一个软件都有许多好的用法,必须多多练习才能灵活运用,许多知识只靠看书是不行的,尽管书上说的很完善,但是不经过自己的实际操作是远远不够的,在课设过程中遇到了很多问题,通过自己不断的总结和摸索,一步步找到了问题症结所在,在大家的帮助下共同攻克了种种难题。
通过本次课程设计,既加深了对高频电路内容的了解,也培养了我们的实践技能。
通过完成课题的理论设计和实验调试任务,进一步提高了我们分析问题解决问题的能力,为以后从事科研工作打下坚实基础。