单片机密码.docVIP

  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文档。上传文档
查看更多
单片机密码,单片机密码锁,单片机密码锁程序,单片机电子密码锁,单片机摩斯密码,面包板入门单片机密码,基于单片机的密码锁,单片机密码锁设计,单片机密码锁课程设计,单片机电子密码锁设计

单片机运用系统设计 随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐,电子密码锁的使用体现了人们消费水平、保安意识和科技水平的提高,而且避免了携带甚至丢失钥匙的麻烦。目前设计密码锁的方法很多,例如用传统的PCB板设计、用PLC设计或者用单片机设计等等。而用Verilog可以更加快速、灵活地设计出符合各种要求的密码锁,优于其他设计方法。Verilog是一种符合IEEE标准的硬件描述语言,其最大的特点是借鉴高级程序设计语言的功能特性,对电路的行为与结构进行高度抽象化、规范化的形式描述,并对设计的不同层次、不同领域的模型验证与综合优化等处理,是设计过程延伸到高度自动化。 1绪论 1.1设计内容 设计一个4位数字密码锁子系统 1.2设计要求 能够预设4位密码; 具有密码输入及检测功能; 利用MAXplus对所设计的电路进行仿真并分析结果。 2 系统设计 本设计中,FPGA系统采用硬件描述语言Verilog按模块化方式进行设计,并将各模块集成于FPGA芯片中,然后通过Quartus II9.0软件开发平台对设计文件自动完成逻辑编译、逻辑化简、综合及优化、逻辑布局布线、逻辑仿真,最后对FPGA芯片进行编程,实现系统的设计要求。 2.1 模块划分 密码锁的的构成主要由密码输入、密码设置,此外密码锁必须能够保存已设置的密码,因而需要一个寄存器来保存密码,同时由于控制电路和报警电路要用到不同的时钟,因而需要一个时序产生电路来生成需要的不同信号,采用分频方法实现。 2.1 系统原理框图 根据密码锁的电路特点,选用的是实验箱的模式6电路,根据电路功能,在这里设计的密码锁以4位2进制代码作为密码的电子密码锁。 其原理框图如下图2.1所示: 图2.1电子密码锁原理框图 3功能模块的实现 该模块主要是完成密码设置,密码输入,密码验证功能。 3.1时序电路 在密码锁的电路中,输入计时、报警计时需要的1HZ的时钟脉冲信号,而驱动蜂鸣器工作需要的很高频率的脉冲信号,因而这里采用输入一个高频脉冲(1024HZ)信号来驱动蜂鸣器,采用分频的方法得到1HZ的计时脉冲。 process(clk_1k) variable cnt1:integer:=0; begin if rising_edge(clk_1k) then if cnt1=512 then clk_1=not clk_1; cnt1:=0; else cnt1:=cnt1+1; end if; end if; end process; 程序说明:clk_1k为输入的1024HZ高频脉冲,cnt为分频得到的1HZ计时脉冲。 3.2密码设置 为了安全性,密码锁必须能够重复的设定密码,在设定密码锁后,应该设置一个寄存器来存储设定的密码。 process(rst,password,enter_p) is begin if rst=0 then if enter_p=1 then ram=password; en1=1; end if; end if; end process; 程序说明:rst低电平时所有的模块复位,只有密码设置模块工作; password为设置密码时的输入端,ram就是存储密码的寄存器;enter_p为在这里为密码设置使能端,高电平有效。 密码设置的仿真波形如下图,由图中可以清楚地看到在enter_p高电平时 寄存器ram中得到了输入的密码1001。 3.3密码输入 密码输入部分要求在密码开始输入时进行计时,超时了要求报警,因此在密码输入时设置一个计时使能信号en2,密码开始输入时使能信号en2有效,控制电路的计时器开始计时;而且在密码确认键按下之前,电路不能对输入密码和已设置密码进行比较,因此需要设置一个寄存器,来存储输入的数据,当确认键按下时,就将寄存器里的数据送给控制部分进行比较。 process(rst,enter_c,en1,code) begin if rst=1 then if en1=1 then if enter_c=1 then code_tmp=code; en2=1; end if; else code_tmp=0000;en2=0; end if; else code_tmp=0000;en2=0; end if; end

文档评论(0)

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

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

1亿VIP精品文档

相关文档