




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
邵阳学院课程设计(论文)目 录摘要:- 2 -第一章:系统设计总述- 3 -1.1设计要求- 3 -1.2 设计方案- 4 -第二章:总体程序设计- 6 -2.1整体组装设计原理图- 6 -2.2 顶层模块程序调用- 7 -2.2.1程序部分- 7 -2.2.2 整体原理文件- 9 -2.2.3 顶层模块仿真- 10 -第三章:单元模块程序设计- 11 -3.1 输入模块- 11 -3.1.1 输入模块程序- 12 -3.1.2输入模块元件- 14 -3.1.3输入模块仿真- 15 -3.2 电子密码锁系统控制模块- 15 -3.2.1控制模块程序- 16 -3.2.2控制模块元件- 18 -3.2.3控制模块仿真- 18 -3.3 电子密码锁系统显示模块- 19 -3.2.1显示模块程序- 20 -3.2.2显示模块元件- 21 -3.2.3显示模块仿真- 22 -第五章:收获与体验- 23 -参考文献- 24 -摘要:随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。电子电路设计常用的方法是试验设计法,一般都包括设计方案提出、方案验证、方案修改3个阶段。传统的试验设计法通常采用手工搭接实验电路来完 成,往往需要经过试验和修改的反复过程,直到设计出正确的电路。随着电子和计算机技术的发展,产生了在计算机平台上的EDA(电子设计自动化)技术,这种 技术除了具有强大的设计功能外,还具有测试、仿真分析、管理等功能。在EAD桌面设计环境下用计算机来完成电路的系统综合设计和仿真。第一章:系统设计总述1.1设计要求 设计一个具有较高安全性和较低成本的通用电子密码锁,其具体功能要求如下: (1) 数码输入:每按下一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,同时将先前输入的数据依序左移一个数字位置。 (2) 数码清除:按下此键可清除前面所有的输入值,清除成为“0000”。 (3) 密码更改:按下此键时会将目前的数字设定成新的密码。 (4) 激活电锁:按下此键可将密码锁上锁。 (5) 解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。1.2 设计方案 作为通用电子密码锁,主要由三个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。 作为电子密码锁的输入电路,可供选择的方案有数字机械式键盘和触摸式数字键盘等多种。 根据以上选定的输入设备和显示器件,并考虑到实现各项数字密码锁功能的具体要求,整个电子密码锁系统的总体组成框图如图1.1所示。 (1) 密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个小的功能电路。 (2) 密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。 (3) 七段数码管显示电路主要将待显示数据的BCD码转换成数码器的七段显示驱动编码。 (4)总体设计如(图1.1)所示。键盘扫描电路时序产生电路时钟发生器键盘弹跳消除电路键盘译码电路寄存器清除信号发生器电路开/关门锁电路数值比较器按键数据缓存器BCD七段译码电路密码锁输入模块显示模块密码锁控制模块图1.1(电子密码锁总体方框图)(5)系统组成根据系统的设计要求,系统设计采用自顶向下的设计方案。顶层设计采用原理图设计方案,系统的整体组装设计有密码输入模块、密码控制模块、密码显示模块三部分组成。第二章:总体程序设计 2.1整体组装设计原理图 系统的整体组装设计有密码输入模块、密码控制模块、密码显示模块三部分组成,故如(图2.1)所示。图2.1(电子密码锁整体组装原理图)2.2 顶层模块程序调用2.2.1程序部分LIBRARY ieee;USE ieee.std_logic_1164.all; LIBRARY work;ENTITY string IS PORT( CLK : IN STD_LOGIC;KEY : IN STD_LOGIC_VECTOR(2 DOWNTO 0);MIMAIN : OUT STD_LOGIC;SETIN : OUT STD_LOGIC;OLD : OUT STD_LOGIC;ENLOCK : OUT STD_LOGIC;CRS : OUT STD_LOGIC_VECTOR(1 DOWNTO 0);SEG_SM1 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SEG_SM2 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SEG_SM3 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SEG_SM4 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SEL : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END string;ARCHITECTURE bdf_type OF string IS COMPONENT ymPORT(DATA_BCD : IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT7 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END COMPONENT;COMPONENT srPORT(CLK_1K : IN STD_LOGIC; KEY_IN : IN STD_LOGIC_VECTOR(2 DOWNTO 0); DATA_M : OUT STD_LOGIC; DATA_B : OUT STD_LOGIC; CQD : OUT STD_LOGIC; CSR : OUT STD_LOGIC_VECTOR(1 DOWNTO 0); DATA_F : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); DATA_N : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); KSEL : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT ctrlPORT(DATA_M : IN STD_LOGIC; DATA_B : IN STD_LOGIC; CQD : IN STD_LOGIC; DATA_F : IN STD_LOGIC_VECTOR(3 DOWNTO 0); DATA_N : IN STD_LOGIC_VECTOR(3 DOWNTO 0); MIMAIN : OUT STD_LOGIC; SETIN : OUT STD_LOGIC; OLD : OUT STD_LOGIC; ENLOCK : OUT STD_LOGIC; DATA_BCD : OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END COMPONENT;SIGNALDATA_BCD : STD_LOGIC_VECTOR(15 DOWNTO 0);SIGNALSYNTHESIZED_WIRE_0 : STD_LOGIC;SIGNALSYNTHESIZED_WIRE_1 : STD_LOGIC;SIGNALSYNTHESIZED_WIRE_2 : STD_LOGIC;SIGNALSYNTHESIZED_WIRE_3 : STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNALSYNTHESIZED_WIRE_4 : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN b2v_inst1 : ymPORT MAP(DATA_BCD = DATA_BCD(3 DOWNTO 0), DOUT7 = SEG_SM1);b2v_inst2 : srPORT MAP(CLK_1K = CLK, KEY_IN = KEY, DATA_M = SYNTHESIZED_WIRE_0, DATA_B = SYNTHESIZED_WIRE_1, CQD = SYNTHESIZED_WIRE_2, CSR = CRS, DATA_F = SYNTHESIZED_WIRE_3, DATA_N = SYNTHESIZED_WIRE_4, KSEL = SEL);b2v_inst3 : ctrlPORT MAP(DATA_M = SYNTHESIZED_WIRE_0, DATA_B = SYNTHESIZED_WIRE_1, CQD = SYNTHESIZED_WIRE_2, DATA_F = SYNTHESIZED_WIRE_3, DATA_N = SYNTHESIZED_WIRE_4, MIMAIN = MIMAIN, SETIN = SETIN, OLD = OLD, ENLOCK = ENLOCK, DATA_BCD = DATA_BCD);b2v_inst4 : ymPORT MAP(DATA_BCD = DATA_BCD(15 DOWNTO 12), DOUT7 = SEG_SM4);b2v_inst5 : ymPORT MAP(DATA_BCD = DATA_BCD(11 DOWNTO 8), DOUT7 = SEG_SM3);b2v_inst6 : ymPORT MAP(DATA_BCD = DATA_BCD(7 DOWNTO 4), DOUT7 = SEG_SM2);END bdf_type;2.2.2 整体原理文件图2.2顶层模块原理图2.2.3 顶层模块仿真图2.3顶层文件仿真第三章:单元模块程序设计 本章节介绍的是单独模块的程序、原理图、仿真以及功能说明,共有三个模块,分别是电子密码锁输入模块、电子密码锁控制模块以及显示模块。3.1 输入模块1.时序产生电路 本时序产生电路中使用了三种不同频率的工作脉冲波形:系统时钟脉冲(它是系统内部所有时钟脉冲的源头,且其频率最高)、弹跳消除取样信号、键盘扫描信号。2.键盘扫描电路扫描电路的作用是用来提供键盘扫描信号(表4.1中的KY3KY0)的,扫描信号变化的顺序依次为11101101101101111110.依序地周而复始。 3.弹跳消除电路由于本设计中采用的矩阵式键盘是机械开关结构,因此在开关切换的瞬间会在接触点出现信号来回弹跳的现象,对于电子密码锁这种灵敏度较高的电路这种弹跳将很可能会造成误动作输入,从而影响到密码锁操作的正确性。3.1.2输入模块元件 有上面的程序通过quartus II 9.0,我们可以得到下面这个封装元件。原理图元件如图2.1所示,它是一个矩阵式键盘,矩阵式键盘是一种常见的输入装置,在日常的生活中,矩阵式键盘在计算机、电话、手机、微波炉等各式电子产品上已经被广泛应用。图4.3是一个34矩阵式键盘的面板配置图,其中数字09作为密码数字输入按键,*作为“上锁”功能按键,#作为“解锁/清除”功能按键。图3.1(电子密码锁键盘输入) 3.1.3输入模块仿真图3.2(键盘输入仿真)3.2 电子密码锁系统控制模块密码锁的控制电路是整个电路的控制中心,主要完成对数字按键输入和功能按键输入的响应控制。1数字按键输入的响应控制(1) 如果按下数字键,第一个数字会从显示器的最右端开始显示,此后每新按一个数字时,显示器上的数字必须左移一格,以便将新的数字显示出来。(2) 假如要更改输入的数字,可以按倒退按键来清除前一个输入的数字,或者按清除键清除所有输入的数字,再重新输入四位数。(3) 由于这里设计的是一个四位的电子密码锁,所以当输入的数字键超过四个时,电路不予理会,而且不再显示第四个以后的数字。2功能按键输入的响应控制 (1) 清除键:清除所有的输入数字,即做归零动作。(2) 激活电锁键:按下此键时可将密码锁的门上锁。(上锁前必须预先设定一个四位的数字密码。)(3) 解除电锁键:按下此键会检查输入的密码是否正确,若密码正确无误则开门。 3.2.2控制模块元件 控制原理封装元件如(图3.3)所示。图3.3(电子密码锁控制) 3.2.3控制模块仿真图3.4(控制模块仿真)3.3 电子密码锁系统显示模块 密码显示电路主要将显示数据的BCD码转换成相对应的编码。如,若选用七段数码管显示电路,主要将待显示数据的BCD码转换成数码器的七段显示驱动编码。 密码锁显示电路的设计比较简单,这里直接采用四个4-7译码器来实现。 密码锁的整体组装设计,将前面各个设计好的功能模块进行整合,可得到一个完整的电子密码锁系统所示,如(图3.5)所示。图3.5(组装) 注释:图3.7是有输入、控制和显示模块组成 ,其中显示模块有四个相同的模块并行串接而成,分别于数码管相接,输入模块有CLK和KEY信号输入控制。3.2.2显示模块元件图3.6(电子密码锁显示模块) 上图是显示模块的封装元件,有一个输入端和一个输出端组成,输入端有四个信号控制,输出端是分别连接七段数码显示管的a、b、c、d、e、f、g和h七个端口,高电平有效。3.2.3显示模块仿真图3.7(电子密码锁显示模块仿真)图3.8(电子密码锁显示模块仿真)续 由上图可以知道,当输入是“0000”时,则输出“1111111”,即在0ps时状态下的输出情况,当输入是“1111”时,则全部输出“0000000”,当输入“0011”时,则输出的是“1001111”,依次可以推知。第五章:收获与体验这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,数字秒表开始计数,但是始终看不到秒和小时的循环计数。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。经过屡次调试,终于找到了比较合适的输入数值:时钟周期设置在15秒左右比较合适。另外,Endtime的值需要设置的长一点:10us左右,这样就可以观察到完整的仿真结果。其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 火灾人身伤害应急预案(3篇)
- 加油车火灾应急预案(3篇)
- 信息处理技术员考试实操题目及答案
- 活动室火灾应急疏散预案(3篇)
- 行政法规与内部管理规章关系试题及答案
- 行政法学备考过程中的情绪管理技巧:试题及答案
- 企业文化与战略执行的协同试题及答案
- 行政管理中客户关系与法律服务的整合试题及答案
- 平台即服务与基础设施即服务试题及答案
- 2025年技术革新与风险管理试题及答案
- 基于STM32的输电线路状态监测系统的研究
- 环卫规范作业培训
- AI系列培训课件-人工智能技术及应用课件第3章
- 2025年贵州都匀市城镇供水有限公司招聘笔试参考题库含答案解析
- 2025年江西宜春市丰城发展投资控股集团有限公司招聘笔试参考题库附带答案详解
- 《中央空调系统培训资料》课件
- 2025年新兴际华集团有限公司招聘笔试参考题库含答案解析
- 中国干眼临床诊疗专家共识(2024年)解读
- 2025年华润电力招聘笔试参考题库含答案解析
- 2025年云南省广播电视局直属事业单位招聘62人管理单位笔试遴选500模拟题附带答案详解
- 2025届苏教版高考仿真模拟英语试卷含解析
评论
0/150
提交评论