《密码锁.docxVIP

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

汕 头 大 学 实 验 报 告_____________________________________________________________________ 四位数电子密码锁实验目的学习查找相关资料,并对小型项目开发有一定的认识;掌握能进行模块化设计的能力;学会对各部分电路,进行讨论、说明与仿真验证,最后在整合起来。硬件要求1、拨位开关。2、FPGA主芯片:EP1K30QC208。3、LED显示模块。4、4*4键盘。5、七段数码管实验原理通过对4×4键盘进行扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出4行为高电平,然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的4行均为高电平,那么肯定没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配。两功能键:在开锁状态时,一个用于清除数字,一个用于激活电锁。在上锁状态,一个用于清除,一个用于解除电锁。四、实验内容及步骤1、编写4*4数字密码锁的VHDL代码。2、用MaxPlusII对其进行编译仿真。3、在仿真确定无误后,选择芯片ACEX1K EP1K30QC208。4、给芯片进行管脚绑定,在此进行编译。5、根据自己绑定的管脚,在实验箱上对键盘接口、显示接口和FPGA之间进行正确连线。6、给目标板下载代码,在4×4键盘输入键值,观看实验结果。五、程序代码及说明LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; LIBRARY altera; ----这是利用库编译成的去拌电路。USE altera.maxplus2.ALL; entity debouncing isport(D_IN,CLK :IN STD_LOGIC;D_OUT:OUT STD_LOGIC);END DEBOUNCING;ARCHITECTURE A OF debouncing ISSIGNAL VCC,INV_D:STD_LOGIC;SIGNAL D1,D0:STD_LOGIC;signal Q0,Q1: STD_LOGIC;BEGINVCC=1;INV_D=NOT D_IN;DFF1: DFF PORT MAP(D=VCC,Q=Q0,CLK=CLK,CLRN=INV_D,PRN=VCC);DFF2: DFF PORT MAP(D=VCC,Q=Q1,CLK=CLK,CLRN=Q0,PRN=VCC);PROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THEND0=NOT Q1;D1=D0;END IF;END PROCESS;D_OUT=NOT(D1 AND NOT D0);END A;--***************************************************************--这里密码锁的主程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; LIBRARY altera; USE altera.maxplus2.ALL; --********************************************* ENTITY elec_lock IS PORT ( CLK_4M : IN STD_LOGIC ; --system original clock 4M CLK_SCAN,outnum : OUT STD_LOGIC_VECTOR (3 downto 0) ; --scan sequence KEY_IN : IN STD_LOGIC_VECTOR (3 downto 0) ; --KEY IN button code FLAG_NUMB : OUT STD_LOGIC ; 判断按下的是数字键FLAG_FUNC : OUT STD_LOGIC ; 判

文档评论(0)

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

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

1亿VIP精品文档

相关文档