可编程逻辑器件原理与应用综合设计格式.docVIP

可编程逻辑器件原理与应用综合设计格式.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可编程逻辑器件原理与应用综合设计格式可编程逻辑器件原理与应用综合设计格式

信息技术学院 《可编程逻辑器件原理及应用》课程 综合设计报告书 姓 名: 李伟梅 班 级: B1210 学 号: 0915121023 时 间:2014年12月21日 指导教师: 李海成 设计 题目 电子密码锁 设 计 要 求 和 任 务 设计要求: 数据输入:每按一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,并将先前已经输入的数据依序左移一个数字位置。 数码清除:按下此键可清除前面所有的输入值,清除成为“0000”。 密码更改:按下此键时将目前的数字设定成新的密码。 激活电锁:按下此键可将密码锁上锁。 解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。 设计任务: 设计一密码锁,用VHDL语言描述,用QuartusII工具编译和综合,并仿真,撰写实验报告。 ?电子密码锁内有预置密码,如果输入的十进制数与锁内密码一致,锁被打开;否则,应封闭开锁电路。十进制数采用矩阵键盘输入,并实现左移功能。同时要实现密码更改和数码清除。 设 计 过 程 (包括:设计方案、原理、 程序与仿真结果、实验结果、收获和体会等) 一、设计原理及方案 电子密码锁,主要由三部分组成:密码输入电路、密码锁控制电路和密码锁显示电路。 ? 作为电子密码锁的输入电路,可选用的方案有拨码与按键来控制输入和触摸式键盘输入等多种。触摸式4*4键盘相比简单方便而且成本低,构成的电路简单,本设计采用触摸式4*4键盘来作为该设计的输入设备。 ? 数字电子密码锁的显示信息电路可采用LED数码显示管和液晶屏显示两种。液晶显示具有高速显示、可靠性高、易于扩展和升级的特点,但是普通的液晶存在亮度低、对复杂环境适应能力差的特点,但是在本设计中任然使用LED数码管。 ? 根据以上选定的输入设备与显示器件,并考虑到现实各项密码锁功能的体要求,与系统的设计要求,系统设计采用自顶向下的设计方案。整个密码锁系统的总总体框图如图所示。 ? 设 计 过 程 二、设计程序 1、电子密码锁输入模块 1.1 矩阵键盘显示 1.2密码锁输入程序 process(clk) ----键盘列扫描 begin if rising_edge(clk) then --if(Kr=1111) then kflag1=0; kcount=kcount+1; -- if(kcount=0) then keyc=1110; -- elsif(kcount=1) then keyc=1101; -- elsif(kcount=2) then keyc=1011; -- else keyc=0111; -- end if; --else if(Kr=1111) then kflag1=0; else kflag1=1; end if; keyr=Kr; keyc=Kc; --end if; kflag2=kflag1; end if; end process; process(Clk) -- 键值获取 显示左移 begin if rising_edge(clk) then if(kflag1=1 and kflag2=0) then if(keyr=0111) then case keyc is when 0111=buff1=1; when 1011=buff1=4; when 1101=buff1=7; when 1110=buff1=0; when others=buff1=buff1; end case; elsif(keyr=1011) then case keyc is when 0111=buff1=2; when 1011=buff1=5; when 1101=buff1=8; w

文档评论(0)

ganqludp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档