- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- “我的韶山行“班会课件ppt.pptx VIP
- 2025至2030中国衣架行业市场深度研究与战略咨询分析报告.docx
- 2022年新教科版四年级上册科学全册实验报告单.docx VIP
- 初中七年级语文(人教版)整本书阅读《朝花夕拾》学习任务单.pdf VIP
- 打造“四有”体育课堂-发展学生核心素养.docx VIP
- 2023届北京市朝阳区高三二模语文试卷讲评资料+课件.pptx VIP
- 中央八项规定精神.pptx VIP
- T∕CGMA033001-2024压缩空气站能效分级指南.pptx VIP
- TCRAAS 1039-2023TCECA 20026-2023高效空调制冷机房系统能效监测与分级标准-20241206113221.docx VIP
- 诺帝菲尔NFS2-3030线路故障.doc VIP
文档评论(0)