- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
word格式文档
专业整理
华南师范大学
课程设计实验报告
课程名称:
可编程数字系统设计
课程设计题目:
电子密码锁
姓 名:
程硕
学院:
物理与电信工程学院
专 业:
理综一班
年 级:
2011
学 号:
20112600104
一、设计原理
用VHDL设计电子密码锁方案:作为通用电子密码锁,主要由 3 个部分组成:数字密码按键输入电路、密码锁控制电路和密码锁显示电路,作为电子密码锁的输入电路。可供选择的方案有数字机械式键盘和触摸式数字键盘等多种。
(1)密码锁输入电路包括时序产生电路、键盘检测电路、键盘消抖电路等几个小的功能电路。
(2)密码锁控制电路包括按键数据存储电路,恢复出厂密码、两次正确输入后可修改密码、密码核对,多次错误报警,清屏等几个小的功能电路。
(3)八段数码管显示电路主要将待显示数据的BCD码转换成数码器的八段显示驱动编码。
二、系统分析
本次课程设计成功地设计了一个简单的数字电子密码锁,密码为 4 位。将电子密码锁分为以下几个模块:按键消抖模块、密码锁逻辑控制模块和密码锁显示模块,实现了以下功能:
(1)密码输入:KEY1按下一次,数码管上显示数字加一,相应位置输入密码加一
(2)位置选择:KEY2按下一次,数码管选择位左移一位
(3)密码确认:KEY3按下一次,比较外部输入密码与原密码,正确LED长亮,错误LED变暗,同时显示密码置0;
(4)密码修改:正确输入两次密码后,按下KEY4一次,将当前输入设为新的密码;
(5)清屏:KEY5按下一次,外部输入置0;
(6)恢复出厂设置:连续按下KEY5三次后恢复出厂密码“1234”;
三、程序设计
由于程序稍显庞大,故采取分层次设计的方法,顶层采用画图法设计,底层采用VHDL语言进行设计。顶层电路图如图1所示
图1
Xiao_dou模块为按键消抖模块,main为密码锁控制模块,yima为数码管显示译码模块。Set_shuma端口为数码管段选端口,用于选择数码管。Led端口为led灯端口,key1,key2,key3,key4,key5为五个按键接口,show_shuma端口为数码管位选选择端口。
底层设计
由于按键为机械按键,故按下一次会产生多次脉冲,当产生第一次下降沿的时候延时一段时间后,再继续检测是否有下降沿产生。主体程序如下:
数码管译码显示进程:将0至9的4位矢量型数字转化为相应8位数码管显示数字
电子密码锁控制电路:
数码管位置选择进程:当数码管位置选择时钟到来时,数码管显示位左移一位,利用人眼的视觉余辉效果,产生4位数码管同时点亮的效果。
数码管位置选择时钟信号发生进程:将系统时钟分频,产生500HZ占空比为1:1的方波,用于控制数码管位置选择。
整型密码转化为矢量型密码,位选选择进程:利用CASE语句将不同位置的密码值显示在相应的数码管上。
外部输入密码变更进程:当KEY1按下时外部输入密码加1,并在数码管上显示出来,数字从1至9循环;后半部分为当清屏信号到来时,外部输入密码置0。
按键位置选择进程:KEY2按下时数码管位置选择端左移一位,后半部分为当清屏信号到来时,位置置0。
密码设置,重置进程:当密码连续正确两次后,按下KEY4键,将现在显示的密码置为新密码。后半部分为恢复出厂设置密码。
清屏,恢复出厂设置进程:当KEY5按下时产生清屏信号,当KEY5连续按下三次后产生恢复出厂设置信号。后半部分为清屏与恢复出厂设置信号的清除程序,用于清除产生的清屏与恢复出厂设置信号。
密码比较进程:比较当前输入密码与内部密码的值,如相同则LED长亮,如不同则LED暗,如连续3次输入错误密码则LED闪烁报警。
LED闪烁脉冲发生进程:用于产生LED闪烁所需方波脉冲
四、仿真/实验结果
密码正确:
密码错误:
清屏:
五、结论或分析
各项实验结果均成功,能够很好的实现,密码比较,设置密码,清屏,恢复出厂设置等各项功能。
六、使用说明
S5:KEY1按下后外部输入密码加1;
S4:KEY2按下后输入选择位置左移一位;
S3:KEY3按下后比较输入密码与内部密码;
S4:KEY4连续输入两次正确密码后按下,将当前显示密码设为新密码;
S5:KEY5按下一次清屏,连续按下三次后恢复出厂设置。
七、源程序
控制电路源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity main is
port(key1,key2,key3,key4,key5 :in std_l
您可能关注的文档
最近下载
- 报废汽车逆向物流回收模式的选择研究物流工程专业论文.docx VIP
- JJF(新) 94-2023 蒸气流量计在线校准规范.pdf VIP
- 燃气检修工模拟试题(附答案).docx VIP
- 华师大版九年级上册初三数学(提高版)(全册知识点考点梳理、重点题型分类巩固练习)(家教、补习、复习用).docx VIP
- 最全产前超声筛查培训试题及答案.doc VIP
- 2025版高血压诊疗指南解读PPT.pptx VIP
- 《新课标讲座》标准课件.pptx VIP
- 2023年开放大学社会学概论记分作业三.pdf VIP
- 提高住院患者大小便标本送检率PDCA.pptx VIP
- 江苏省民用建筑施工图绿色设计文件编制深度(2021年版).pdf VIP
原创力文档


文档评论(0)