基于vhdl数字电路设计内容摘要:

复位 信号 喇叭 4 方波生成模块 FEN 分频占空比为 1: 1000 的方波,用于消除抖动。 分频电路的输入时钟CLK是由外部时钟提供的,外部时钟周期取 200ns。 FEN模块程序如下: LIBRARY IEEE。 USE ENTITY fen IS PORT(clk:in std_logic。 clk1:out std_logic)。 END fen。 ARCHITECTURE fen_arc OF fen IS BEGIN PROCESS(clk) VARIABLE t:integer range 0 to 9999。 BEGIN IF clk’event’ AND clk=39。 139。 then IF t=9999 then t=0。 clk1=39。 139。 ELSE t:=t+1。 clk1=39。 039。 END IF END IF。 END PROCESS。 END fen_arc。 消抖同步模块 对于 K1和 K0信号,它们分别代表 1和 0的按键开关,可以直接送入密码锁逻辑控制模块CORNAA。 但由于它们是由按键产生的,其产生时刻和持续时间长短是随机的,并且存在因开关簧片反弹引起的电平抖动现象 .因此,必须在每个开关后面安排一个消抖和同步化电路模块XIAOPRO,目的是保证系统能捕捉到输入脉冲,同时,保证每按一次健只形成一个宽度固定的脉冲。 在 XIAOPRO模块中,因为变量的赋值是直接的,立即生效的,它在某一时刻仅包含一个值,而信号的赋值是有一个值,而信号的赋值是有一定附加时延的,故当时钟脉冲下 降沿到来时,变量 temp2和 temp3在赋值语句执行后立即分别得到新值: tmp1的值和 tmp2的非值,而输入信号a经过一定时延赋值给信号 tmp1,实现了消除抖动并且同步的功能。 用来描述输入消抖同步电路功能的 VHDL语言程序如下: LIBRARY IEEE。 USE。 ENTITY xiaopro IS PORT(a,clk1:in std_logic。 b:out std_logic)。 END xiaopro。 5 ARCHITECTURE xiao_arc OF ziaopro IS SIGNAL tmp1:std_logic。 BEGIN PROCESS(clk1,a) VARIABLE tmp3,tmp2:std_logic。 BEGIN IF clk1 ’event and clk 1=39。 039。 then tmp1=a。 tmp2:=tmp1。 tmp3:=not tmp2。 END IF。 b=tmp1 and tmp3 and clk1。 END PROCESS。 END xiao_arc。 密码锁逻辑控制模块 模块 CORNAA 是整个设计的核心,它实现密码锁的逻辑功能。 管理员有权在任何时候按动密码初始化按键 LC,此时锁内密码设置为程序初始化密码值(在本模块程序中初值为 10010101)。 开锁代码为 8位二进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮开锁指示灯 LT。 否则,系统进入“错误”状态,并发出报警信号。 串行数字锁的报警方式是点亮指示灯 LF,并使喇叭鸣叫,直到按下复位开关,报警才停止。 此时,数字锁又自动进入等待下一次开锁的状态。 该 8位串行电子密码锁设置 8位二进制密码,要求锁内给定的密码是可调的,且设置方便,保密性好。 其具体操作分为输入密码和修改密码两部分[16]。 ( 1) 输入密码 密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足,都不能打开锁。 若锁内密码为“ 10010101”, K1和 K0置低电平,分别表示输入“ 1”和“ 0”。 输入密码前先进行复位操作,再按着从密码最低位到最高位的顺序依次正确输入 10101001。 若采用共阴极 LED接法,当输入第 0位“ 1”后,八个二极管中相对应的二极管点亮(此时二极管指示灯 lamp=“ 10000000” ,输入密码信号 shift=“ 10000000” ) ,接着输入第 1位“ 0”(此时 lamp=“ 11000000” , shift=“ 01000000” )„„依照顺序,将 8 位二进制密码全部正确输入完毕后(此时 lamp=“ 11111111” , shift=“ 10010101” ),经检验,输入的密码 shift等于锁内预先设置的密码lock,密码开锁信号 LT置高电平,锁开启。 同时,密码修改控制信号 LA置高电平。 若在输入密码的过程中, 8位二进制密码出现一位或多位输入错误,那么锁不能开启,同时 ALM置高电平,指示灯 LF 亮,发出报警信号,通知管理员。 直到按下复位开关,报警才停止。 此时,数字锁又自动进入等待下一次开锁的状态。 ( 2) 修改密码 为防止非管理员任意进行密码修改,必须在正确输入密码后,才能重新设置密码。 输入正确。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。