ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:84.72KB ,
资源ID:4728416      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4728416.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA考试设计报告电子锁码器样本.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA考试设计报告电子锁码器样本.docx

1、EDA考试设计报告电子锁码器样本广 东 海 洋 大 学EDA考试设计报告调研题目:电子锁码器 院系班级:信息学院电子系电子1081班 小构成员:袁伟龙 指引教师:郭晓云 时 间:.5.14 联系方式:(66) 评阅成绩: 电子锁码器Electronic lock transcoder【 abstract 】 :in response to the requirements of the test subjects teachers do design. This design can realize the eight decimal number lock code,lock within

2、a output that can signal (high level effective).【 key words 】 :lock code,decimal ,make can【摘要】:为响应科目教师对考试规定而做设计。本设计能实现八位十进制数以内锁码,锁定一种输出使能信号(高电平有效)。【核心词】:锁码 十进制 使能引言该锁码器分主状态分三个(待机状态,密码状态,结束状态),密码状态再分三个次状态(输入状态,修改状态,运营状态),可以设立8位以内十进制数任何密码,每个状态均有不同状态灯显示,当输入密码对的可以选取变化密码或者调至运营状态输出一种使能信号。正文一、待机状态待机状态中,除输入

3、对的状态灯外四个状态灯显示为“0001”,当使用者拨动回车键(enter、上升沿有效),使go信号置1,锁码器会从待机状态进入密码状态,进行输码、改码等功能。二、密码状态密码状态可用前提是go信号为高电平,且密码输入状态及时可用。1)密码输入状态密码输入状态四个状态灯显示为“0010”。当状态灯这样显示时使用者可以输入想要输入八位以内十进制数然后拨动回车键,当输入暂时数(temp_password)等于已存储密码(password)时,对的输入状态灯亮。当输入暂时数不等于已存储锁定密码,对的输入状态灯不亮且及时跳至主状态中结束状态。当对的输入状态灯亮时,有两种选取。拨动回车键调至运营状态;拨动

4、变化键(change_password、上升沿有效)进入密码修改状态。2)密码修改状态密码修改状态四个状态灯显示为“0100”,这是对的输入状态灯依然在亮。当状态灯这样显示时使用者可以输入想要八位以内十进制数。当输入完毕时,使用者有两个选取:拨动变化键,把已输入数存储为密码;拨动回车键,直接进入运营状态,由于对的输入状态灯依然亮,对的输入依然有效(当使用者觉得所修改密码不适当状况下需要用到)。当使用者输入完毕,并拨动变化键把想要密码存储完后,拨动回车键就可进入运营状态。(只要对的输入状态灯亮时,拨动回车键都能是锁码器进入运营状态)3)运营状态运营状态四个状态灯显示为“1000”,这时对的输入状

5、态灯已熄灭。当锁码器处在运营状态时,锁定输出使能信号为1。当使用者觉得已经完毕运营时拨动回车键就能使锁码器进入主状态中结束状态,并使输出使能信号、go信号置0,且使次状态回到输入状态。三、结束状态结束状态没有任何操作,会有一种简朴流水灯效果,倒数一段不长时间后自动返回待机状态。四、结束语在设计基本完毕时,还存在诸多细节上问题。例如在对的输入之后想要进入变化密码状态而未拨动变化键时,如果拨动数字选项键,会使到进入变化状态后暂时数初始值不为空(全0)。虽然比较繁琐,但是通过一步步耐心在modelsim仿真验证后,基本上已经能让使用者正常、以便使用该锁码器了。由于de2板上开关存在严重抖动现象,因此

6、该锁码器中除了电平触发复位键外,其她所有使用到开关都带有去抖动功能。最后,感谢郭晓云教师悉心指引。参照文献:EDA技术与应用 (张建 邓桃丽 邓锐 朱旭东 编著)单片机技术及系统设计 (周美娟 肖来胜 编著)源程序:-模块名称:程序包模块-模块功能:设立设计中使用到两个类型。library ieee;use ieee.std_logic_1164.all;package My_package is type state1 is (standby_state,password_state,end_state); type state2 is (input_state,change_state,r

7、un_state);end My_package;-模块名称:待机状态、密码输入准备状态、结束状态转换-模块功能:在待机状态下按一下回车键进入密码输入准备状态,-在密码输入准备状态下发出一种complete信号进入结束状态,-结束状态中自动计数一秒后回到待机状态。library ieee;use ieee.std_logic_1164.all;use work.My_package.all;entity Standby_password_end_transition is port ( clk :in std_logic; -时钟输入 reset :in std_logic; -复位键 ent

8、er :in std_logic; -回车键 complete :in std_logic; -完毕运营信号 lkd_state :buffer state1; -模块状态信号 go :out std_logic -密码输入模块准许信号 );end Standby_password_end_transition;architecture behavior of Standby_password_end_transition is signal starting :std_logic:=0; -待机到密码输入准备状态容许信号 signal finishing :std_logic:=0; -密码

9、输入准备状态到结束状态容许信号 signal ending :std_logic:=0; -结束状态到待机状态容许信号 signal count :integer range 0 to 49999999 :=0; -计数器 signal count_delay :integer range 0 to 999999 :=0; signal start :std_logic:=0; begin-进程名称:三状态转换控制进程-进程功能:在不同准许信号下三状态转换 process (reset,clk,starting,finishing,lkd_state) begin if reset=1 the

10、n lkd_state -待机状态解决 if starting=1 then lkd_state=password_state; else lkd_state -密码准备状态解决 if finishing=1 then lkd_state=end_state; else lkd_state -结束状态解决 if ending=1 then lkd_state=standby_state; else lkd_state=end_state; end if; end case; end if; end process; -进程名称:starting容许信号控制-进程功能:starting容许信号控

11、制,附去抖动 process (enter,lkd_state,reset) begin if reset=1 then start=0; elsif lkd_state=standby_state then if rising_edge(enter) then start=1; end if; else start=0; end if; end process; process(clk,start,count_delay,enter) begin if rising_edge(clk) then if start=1 then if count_delay999999 then count_

12、delay=count_delay+1; elsif enter=1 then starting=1; else starting=0; end if; else count_delay=0; starting=0; end if; end if; end process; -进程名称:go信号控制-进程功能:go信号控制 process (lkd_state) begin if lkd_state=password_state then go=1; else go=0; end if; end process; -进程名称:finishing信号控制-进程功能:finishing信号控制 p

13、rocess(lkd_state,complete) begin if lkd_state=password_state then if rising_edge(complete) then finishing=1; end if; else finishing=0; end if; end process;-进程名称:ending信号控制-进程功能:ending信号控制 process (lkd_state,clk,reset,count) begin if rising_edge(clk) then if lkd_state=end_state then if count49999999

14、then count=count+1; else count=0; ending=1; end if; else ending=0; count=0; end if; end if; end process; end behavior;-模块名称:解码锁码-模块功能:按回车键,若密码输入对的可选取变化密码或直接运营(run)- 按回车键跳结束状态(end_state);- 不对的转至结束状态。- 锁定新密码后按回车键跳到运营状态;- 按回车键调至借宿状态。library ieee;use ieee.std_logic_1164.all;use work.My_package.all;entit

15、y Unlock is port( clk :in std_logic; -时钟输入 change_password :in std_logic; -变化密码键(上升沿有效) enter :in std_logic; -回车键(上升沿有效) reset :in std_logic; -复位开关(高电平电平有效) run :out std_logic; -运营容许信号(高电平有效)-Standby_password_end_transition模块信号 go :in std_logic; -密码输入模块准许信号 complete :out std_logic; -运营完毕信号-暂时密码模块用信号

16、 password_allow :out std_logic; -密码输入容许 clr_t :out std_logic; -暂时密码清零信号 ok :buffer std_logic; -回车键信号 change :buffer std_logic; -change_password信号 count_pn_enable :out std_logic; -count_pn使能信号 set_count_pn :out std_logic; -count_pn置数信号 password :buffer std_logic_vector(31 downto 0); -设定密码 temp_passwo

17、rd :in std_logic_vector(31 downto 0); -暂时密码 p_state :buffer state2; -Unlock状态信号 correct_input :in std_logic; -密码输入对的信号 d_complete :in std_logic -complete控制信号 );end Unlock;architecture behavior2 of Unlock is signal clr_o :std_logic:=0; -ok清零信号 signal clr_c :std_logic:=1; -change清零信号 signal clr_cpl :s

18、td_logic:=1; -complete清零 signal set_cpl :std_logic:=0; -complete置数 signal pass_word :std_logic_vector(31 downto 0):=00000000; -过渡密码 signal count_delay1 :integer range 0 to 999999 :=0; signal count_delay2 :integer range 0 to 999999 :=0; signal oo :std_logic:=0; signal clr_oo :std_logic:=0; signal cc

19、:std_logic:=0; signal clr_cc :std_logic:=0; begin-进程名称:输入状态、变化状态、运营状态转换-进程功能:输入状态、变化状态、运营状态控制、解决 process(clk,reset,p_state,go,correct_input,change,ok,temp_password) begin if rising_edge(clk) then if reset=1 then -复位 p_state=input_state; clr_cpl=1; set_cpl=0; clr_t=1; run=0; pass_word=00000000; count

20、_pn_enable=0; set_count_pn -输入状态解决 run=0; clr_cpl=0; set_cpl=0; count_pn_enable=1; set_count_pn=0; clr_t=0; if correct_input=1 then count_pn_enable=0; set_count_pn=1; if ok=1 then p_state=run_state; clr_t=1; set_count_pn=0; elsif change=1 then p_state=change_state; set_count_pn=0; clr_t -变化状态解决 clr_

21、t=0; count_pn_enable=1; if ok=1 then p_state=run_state; clr_t=1; count_pn_enable=0; elsif change=1 then pass_word=temp_password; if ok=1 then p_state=run_state; clr_t=1; count_pn_enable -运营状态解决 run=1; clr_t=0; if ok=1 then run=0; clr_cpl=0; set_cpl=1; p_state=input_state; clr_t=1; end if; end case;

22、else -go不等于1时解决 run=0; clr_cpl=1; set_cpl=0; p_state=input_state; count_pn_enable=0; set_count_pn=0; end if; end if; end process; -进程名称:ok信号控制-进程功能:通过回车键控制ok信号置1,通过clr_o置零,附去抖动 process(enter,reset,clr_oo,go) begin if reset=1 then oo=0; elsif clr_oo=1 then oo=0; elsif go=1 then if rising_edge(enter)

23、then oo=1; end if; end if; end process; process(clk,clr_o,oo,count_delay1,enter) begin if rising_edge(clk) then if go=1 then if clr_o=1 then ok=0; clr_o=0; elsif oo=1 then if count_delay1999999 then count_delay1=count_delay1+1; elsif enter=1 then ok=1; clr_o=1; clr_oo=1; else ok=0; clr_o=1; clr_oo=1

24、; end if; else count_delay1=0; clr_o=0; clr_oo=0; end if; else ok=0; clr_o=0; clr_oo=0; end if; end if; end process;-进程名称:complete信号控制-进程功能:complete信号控制 process(clr_cpl,set_cpl,clk,d_complete) begin if rising_edge(clk) then if clr_cpl=1 then complete=0; elsif set_cpl=1 then complete=1; else complete=d_complete; end if; end if; end process; -进程名称:password_allow信号控制-进程功能:password_allow信号控制 process(p_stat

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1