可编程器件及数字系统设计实习报告(DOC)_第1页
可编程器件及数字系统设计实习报告(DOC)_第2页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告-i -可编程器件及数字系统设计基于VHDL的数字密码锁设计F匸r1学号:65120437姓名:孙喆日期:2013-9-5仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告-2-目录一、设计目的与任务.31、.设计目的32、. 设计任务:设计一个6位串行数字锁。3二、设计方案.3三、设计实现.51、.密码锁的显示模块52、.密码锁控制模块52.1输入密码.52.2修改密码.6四、实验结果及分析 .6五、实习总结.6六、附录(程序或电路图).7仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告-3-一、设

2、计目的与任务1、 设计目的1学习层次化设计方法。2初步学会分析设计较为复杂的的数字逻辑。2、 设计任务:设计一个6位串行数字锁。(1)开锁代码为6位二进制,当输入代码的位数与锁内给定的密码一致,且 按规定程序开锁时,方可开锁,并点亮绿色的指示灯。否则进入“错误”状态, 并点亮红色指示灯。(2)锁内的密码可调,当开锁后方可修改密码。修改功能为:输入旧密码,在输入新密码确认。二、设计方案电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电 路。作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘 输入等多种。拨码与按键和触摸式2*4键盘相比简单方便而且成本低

3、,构成的电路简 单,本设计中采用拨码与按键来作为该设计的输入设备。数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。液晶显 示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、 对复杂环境适应能力差的特点,但是在本设计中任意使用LED数码管。根据以上选定的输入设备与与显示器件,并考虑到现实各项密码锁功能的具体要 求,与系统的设计要求,系统设计采用自顶向下的设计方案。整个密码锁系统的 总体总体框图如图1.1所示。仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告-4-图 1.1 电子密码锁系统总体框图仪电学院 2013 年夏季短学期可编程器件

4、及数字系统设计实习报告-5-三、设计实现1、密码锁的显示模块七段数码管是电子开发过程中常用的输出显示设备。在本设计中使用的是8个四位一体、共阳极型七段数码管。由于七段数码管公共端连接到GND(共阴极型),当数码管的中的一个段被输 入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相反。 四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码 管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。2、密码锁控制模块该模块的作用是将输入的密码(暂时寄存于ACC中)跟已经存储

5、的密码(REG中的密码信息)进行对比,如果一样,则密码锁开锁。而在通过密码验证后可以 按按键设定密码。在这里值得注意的是有一个密码“000000”为开始密码,如果 改名密码了但是又忘记了密码,重新下载之后的初始密码只要输入的密码为“000000”则都可通过密码锁。“当输入代码的位数和位值与锁内给定的密码一 致,且按规定程序开锁时,方可开锁,并点亮开锁指示灯(緑灯)亮。否则,系统进 入“错误”状态,并发出报警信号。串行数字锁的报警方式是点亮指示灯(红灯)。 该6位串行电子密码锁设置6位二进制密码,要求锁内给定的密码是可调的,且设 置方便,保密性好。其具体操作分为输入密码和修改密码两部分。2.1输

6、入密码仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告-6-密码输入值的比较主要有两部分,密码位数和内容,任何一个条件不满足 都不能打开锁。若锁内密码为 “000000”, key2和keyl置低电平,分别表示输入“T和“0”。输入密码时按着从密码最低位到最高位的顺序依次正确输入000000会在数码管逐一显示。经检验,输入的密码等于锁内预先设置的密码密码 锁开启信号,锁开启。同时,密码修改控制信号Ctrl置低电平。若在输入密码的过 程中,6位二进制密码出现输入错误,那么锁不能开启,同时,指示灯红灯亮。2.2修改密码为防止任意进行密码修改,必须在正确输入密码后,才能重新设置密码。

7、输入 正确密码后,锁打开,同时,密码修改控制信号按键Ctrl置低电平,就可直接进行修 改密码的操作。修改密码实质就是用输入的新密码去取代原来的旧密码,按确定 按键ok存储新密码。四、实验结果及分析这次密码锁的设计过程表明,用VHDL可以快速、灵活地设计出符合要求的 密码锁控制器,而且操作简单。可以实现密码输入、密码校验、密码设置和更改 等功能。设计过程能够在设计完成后在QuartusH环境下进行电路的模拟仿真, 反馈结果可以验证程序设计的可行性与可靠性。本密码锁控制器设置的是6位密码,在系统复位后,输入一个完整的密码串, 输入完后,系统会进行比对,如果发现密码吻合,则开门,否则要求用户继续输

8、入,如果输入的密码串都是错误的,则系统报警,直到输入正确的密码,报警停 止。这样的设计可以很好的满足人们的日常需求。同时,密码锁还具有密码修改 功能,方便操作,使得密码锁的使用更加安全、便捷。五、实习总结仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告-7-历时四周的可编程逻辑器件及数字系统设计终于结束。实习过程中,无论在 电路板焊接、软硬件设计还是仿真过程中我都遇到不少问题。其中经常遇到的问 题就是VHDL编程问题,有时候经过几天呕心沥血编出来的程序依然会出现各种 各样的阻碍,无论如何修改编译都无法通过,搞得自己连续几天都特别失落。当 然如果修改成功还是会特别的高兴。可以说,

9、四周的实习是苦远远大于甜。其实 归根结底都是我对VHDL语言的掌握不够扎实,才导致每次编译都不能顺利通过。 以后我会在这方面多花一些时间。 在这段时间里我所获得的成功除了自己思考设 计取得之外,与同学的同心协力的合作与讨论是分不开的。相互的探讨使得我们 的思路更加开阔,解决问题的办法也更多。总之,此次实习让我收益良多,同时因为有了实践操作,对数字电路与逻辑设计课程所学内容也有了更深的记忆 和理解,对EDA技术能够更好的掌握和应用,也让我及时发现了自身的不足。从 中懂得了理论知识与实践有机结合的重要性, 谢谢学院为我们提供这样珍贵的实 习机会!六、附录(程序或电路图)library ieee;u

10、se ieee.std_logic_1164.all;use ieee.std_logic_ un sig ned.all;use ieee.std_logic_arith.all;en tity mima isport (clk,clr,sure,ctrl:in stdo gic;fmq:out std_logic;gree n, red:buffer std_logic;seg:out stdo gic_vector(6 dow nto 0);仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告-8-com: out std_logic_vector(5 dow nto 0);

11、keyl:i n stdo gic_vector(3 dow nto 0);keyh:buffer std_logic_vector(1 dow nto 0);end mima;architecture as of mima istype state is (s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11);sig nal s:state;sig nal n:std_logic_vector(3 dow nto 0);sig nal clk1:std_logic;signal q:integer range 0 to 1;sig nal q1:i nteger ra

12、nge 0 to 5;sig nal q2:i nteger range 0 to 20480 ;sig nal W0,w1,w2,w3,w4,w5,z0,z1,z2,z3,z4,z5,b,c:std_logic_vector(5 dow nto 0);beg inb=keyh&keyl;process(clk)beg inif (clkeve nt and clk=1) the nq1=q1+1;if q220480 thenq2=q2+1; elseq2 if(m1111)then s=s11; else s=s0; end if;-9-end if;end if ;end pro

13、cess;clk1 if(m1111)the n s=s1; else s if(m1111)the n s=s2; else s if(m1111)then s=s3; else s if(m1111)the n s=s4; else s if(m1111)the n s=s5; else s if(m1111)the n s=s6; else s if(m1111)the n s=s7; else s if(m1111)the n s=s8; else s if(m1111)then s=s9; else s if(m1111)then s=s10; else s if(m1111)the

14、n s=s11; else ss=s0;仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告-10-end case;end if;end process;n=m whe n s=s11 else process(clk)beg inif clkevent and clk=1 thenif keyl1111 the n q=q;else q=q+1;end if ;end if;end process;keyh=01 when q=0 else 10;process(clk1)beg inif clk1event and clk1=1 thenif clr =1 the nif (

15、s=s10 and b=010111)or (s=s10 and b=011011)or(s=s10 andb二011101)仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告000010 when 4,-11-or(s=s10 and b=011110)or(s=s10 and b=100111)or(s=s10 andb二101011)or(s=s10 and b=101101)or(s=s10 and b二101110) the nif Ctrl二1 thenw0二b;w1二w0;w2v=w1;w3=w2;w4v=w3;w5=w4;elsif Ctrl二0 the nz0二

16、b;z1二z0;z2v=z1;z3=z2;z4v=z3;z5=z4;end if;end if;elsez0=000000;z1=000000;z2=000000;z3=000000;z4=000000;z5=000000;end if ;end if;end process;with q1 selectcom二100000 when 0,010000 when 1,001000 when 2,000100 when 3,仪电学院 2013 年夏季短学期可编程器件及数字系统设计实习报告0000000when c=101110 else-12-000001 when 5,000000 when

17、others;c=w0 whe n q1=5 and Ctrl二1 elsew1 whe n q1=4 and Ctrl =1 elsew2 whe n q1=3 and Ctrl =1 elsew3 when q1=2 and Ctrl =1 elsew4 whe n q1=1 and Ctrl =1 elsew5 whe n q1=0 and Ctrl =1 elsez0 whe n q1=5 and Ctrl =0 elsez1 whe n q1=4 and Ctrl =0 elsez2 whe n q1=3 and Ctrl =0 elsez3 whe n q1=2 and Ctrl =0 elsez4 whe n q1 = 1 and Ctrl =0 elsez5 whe n q1=0 and Ctrl =0 else c;seg=1111001when c=010111 else0100100when c=011011 else0110000when c=011101 else0011001whe n c=011110 else0010010when c=100111 el

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论