




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要:本课题设计的主要是基于CPLD/FPGA来实现电子密码锁的设计,主要包括输入、控制和输出三大模块。其中输出部分由显示缓冲器、多路选通器、显示模块、时钟发生器、 扫描信号发生器组成。 显示缓存器是一个存储量为16位的寄存器,它用于存储 LED显示的内容。多路选通器用于从显示缓存器中选择出某一个LED的内容用于显示。扫描信号用于选择片选信号,片选信号依次并循环地选通各个 LED管时钟发生器,通过对全局时钟的分频得到扫描模块所需的时钟。显示模块由七段译码器和七段显示器组成。 总体上输出部分电路的设计都是基于 VHDL 语言来实现的。关键词:电子密码锁FPGA硬件描述语言EDA- 1 -目录1
2、引言 .32 概述 .42.1 MAX+PLUS 的概述 .42.1.1设计输入 .52.1.2设计处理 .62.1.3设计校验 .72.2 MAX+PLUS II 软件的设计流程 .82.3VHDL 语言简介 .92.3.1 CPLD/FPGA .112.3.2 VHDL 的优点 .123 总体设计 .133.1系统框图 .133.2系统说明 .143.2.1系统原理 .143.2.2各部分作用 .143.3总体电路说明 .183.3.1总体电路图 .183.3.2总体原理说明 .194 单元电路设计 .204.1单元电路图 .204.2原理说明 .295 总结 .315.1设计的优缺点 .
3、315.2可以改进的地方 .315.3结语 .31参考文献.33致谢 .34- 2 -1 引言随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便, 这也是制锁者长期以来研制的主题。 随着电子技术的发展, 各类电子产品应运而生, 电子密码锁就是其中之一。 据有关资料介绍, 电子密码锁的研究从 20 世纪 30 年代就开始了, 在一些特殊场所早就有所应用。 这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以
4、避免因钥匙被仿制而留下安全隐患。 电子锁只需记住一组密码, 无需携带金属钥匙, 免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁, IC 卡锁,生物锁等。但较实用的还是按键式电子密码锁。目前使用的电子密码锁大部分是基于单片机技术, 以单片机为主要器件, 其编码器与解码器的生成为软件方式。 在实际应用中, 由于程序容易跑飞, 系统的可靠性能较差。基于现场可编程逻辑门阵列 FPGA器件的电子密码锁,用 FPGA 器件构造系统, 所有算法完全由硬件电路来实现, 使得系统的工作可靠性大为提高。本课题设计的电子密码锁是基于 CPLD/FPGA。电子密码锁
5、主要由输入部分,控制部分和输出部分组成。其中输入部分包括 44矩阵键盘、弹跳消除电路、键盘译码电路、键盘扫描电路;控制部分包括按键存储电路、密码存储电路、比较电路;输出部分包括多路选通器、七段译码器、扫描信号发生器。该密码锁具有密码输入、密码清除、密码激活、电锁解除和密码更改等功能 , 用一片复杂可编程逻辑芯片 CPLD实现,因此它体积小、功耗低、价格便宜,维护和升级都十分方便,具有较好的应用前景主要应用有:汽车锁,门锁,保险柜,仓库。- 3 -2 概述2.1 MAX+PLUS的概述Altera公司的 MAX+PLUS开发系统是一个完全集成化、易学易用的可编程逻辑器件软件设计环境,可以在多种平
6、台上运行,具有操作灵活、支持器件多、设计输入方法灵活多变的特点,是用户设计、开发以Altera PLD器件为核心的软件开发工具。MAX+PLUS是 MultipleArray Matrixand Programmable Logic User System的缩写,软件版本分基本版、 商业版和学生版, 学生版软件在功能上与商业版类似,仅在可使用的芯片上受到限制。MAX+PLUS的 9.x 版和 10.x 版均可安装在WIN95或 WIN98/2000操作系统上,其中 9.x 版需 32MB内存、1GB以上硬盘,10.x版需 64MB内存、 2GB以上硬盘。MAX+PLUS的设计过程可用图2-1
7、表示:设计输入(可以使用原理图或文本输入设计要求)项目编译(用于检验设计输入是否正确)功能时序仿真项目校正(用于检验所设计的电路功能是否符合设计要求)(将正确的设计通过计算机下载到硬件编程 /配置电路上,使其具有与设计电路相符的逻辑功能)图 2-1 MAX+PLUS设计流程图为使设计者快速掌握 MAX + PLUS II 软件的使用 ,我们首先介绍 MAX + PLUSII 软件的设计流程,它是由设计输入、设计处理、设计校验和器件编程四部分组- 4 -成的。2.1.1设计输入MAX + PLUS II 软件的设计输入方法有多种多样,主要包括文本输入方式、原理图设计输入方式、 波形设计输入方式、
8、 层次设计输入方式和低层设计输入方式。另外还可以利用第三方 EDA 工具生成的网络表文件输入。 输入法不同, 生成的设计文件也不同,设计者可以根据自己的需要灵活掌握。( 1)原理图输入 利用 MAX + PLUS II 提供的各种原理图库进行设计输入是一种最为直接的、 也是我们最容易掌握的一种方法。 使用该方法时, 通过采用自顶向下的设计方式,将大规模的电路分成若干小块进行设计。 该方法虽然效率较低,但容易实现仿真,便于信号的观察和电路的调整。( 2)硬件描述语言输入 MAX + PLUS II 包含一个集成的文本编辑程序,适合与输入和编辑用 Altera硬件描述语言编写的设计文件, MAX
9、+ PLUS II 可以对这些语言表达的逻辑进行综合,并将其映射到 Altera的任何器件中。采用语言描述的优点是效率较高 ,结果也较容易仿真,信号观察也较方便,但语言输入必须依赖综合器。( 3)波形输入 波形编辑程序( MAX+PLUS II Waveform Editor )用于建立和编辑波形设计文件及输入仿真向量和功能测试向量。波形编辑还有分析仪的功能,设计者可以通过它查看仿真结果。波形设计输入最适合于时序和重复的函数。 MAX+PLUS II Compiler 采用先进的波形综合法,可以根据用户定义的输入 /输出波形自动生成逻辑关系。( 4)低层编辑 低层编辑程序( MAX+PLUS
10、II F loorpian Editor )简化了向器件引脚和逻辑单元分配逻辑的过程。 设计方案中使用的表示每种器件的图形很容易进行逻辑布局,高层的和详细器件视图都可以使用设计者可以在对设计进行编译之前分配引脚和逻辑单元, 编译之前分配引脚和逻辑单元, 编译后再来察看或修改结果。低层编译允许设计者观察器件中所有已分配的逻辑。任何节点或引脚都可以被拉到新的位置。 可以把逻辑分配给专用引脚和逻辑单元, 也可以分配给器件中更加合适的区域。- 5 -( 5)层次设计输入 层次设计可包含几种不同格式建立的设计文件,例如原理图输入、 HDL 设计输入、波形设计输入和 EDIF 网络表输入等。 MAX+PL
11、USII 在设计方案中支持多级层次, 这种灵活性设计者可以采用最适合设计中每个部分的设计输入方法。 MAX+PLUSII 层次显示程序可以显示方案的层次结构, 允许设计者穿越层次,自动打开适合于每个设计文件的编辑。( 6)网表输入库 MAX+PLUSII COMPILER 可以与其他 EDA 工具接口。 采用这种方法输入,可以把其他软件系统上设计的电路直接移植起来,不必重新输入。MAX+PLUSII 软件可以接受的网表有 EDIF 格式、VHDL 格式及 VERLIOG 格式等。在用网表输入时, 必须注意在两个系统中所采用库的对应关系, 所有库单元必须一一对应,才可以成功读入网表。2.1.2设
12、计处理MAX+PLUS II 处理一个设计时, MAX+PLUS II Compile 在设计文件中读取信息并产生编辑文件和仿真文件,定时分析程序( Timing Analyzer)可分析设计的定时,信息处理程序( Mesage Processor)可自动定位错误。( 1)自动错位定位 MAX+PLUS II 的 Mesage Processor与 MAX+PLUS II 所有应用程序通信,可以给出信息(错误、警告等) 。设计者可利用他自动打开有错误的文件,并一高亮度方式显示错误位置。( 2)逻辑综合与试配 MAX+PLUS II Compiler 的逻辑综合( Logic Synthesis
13、)模块对设计方案进行逻辑综合并能看到设计实现的真实结果, 该模块选择合适的逻辑化简算法, 去除剩余逻辑, 确保尽可能有效地使用器件的逻辑资源, 还可设计方案中没用的逻辑。逻辑综合选择有助于设计人员引导逻辑综合的结果。 Altera提供, NORMAL (正常)、FAST(快速)、时钟到输出的延时、建立时间、和时钟频率等。设计者可以为选定的逻辑功能指定定时要求, 也可以把设计作为一个事例来指定定时要求。 Fitter的报告文件提供详细信息一说明设计的定时要求是如何实现的。(4)设计规则检查MAX+PLUS II Compiler包括设计规则检查器 (DesignDoctor)。该程序将检查项目中
14、的所有设计文件,以发现在编辑器件中可能存在的可靠性不好的逻辑。- 6 -设计规则可靠性高, 涉及到含有异步输入、 行波时钟、 以时钟为基础的多级逻辑、置位与清除的配置及竞争条件等的逻辑。(5)多器件划分 如果一个设计文件较大, 一个器件放不下的话, 可以自动或由用户控制将一个大的设计文件划分成几个小文件,装人多个器件中。注意:划分时尽量减少器件的数量及减少器件通信的引脚数目。(6)工业标准输出格式 MAX+PLUSII Compiler 可以建立多种仿真环境里的网表,这些网表包含结合后的功能, 以及其他标准校验工具进行器件或板极仿真时使用的定时信息。以下接口可供使用:EDIF 接口建立 EDI
15、F200和 EDIF300网表。Verilog接口建立与 Verilog-XL 仿真器一起使用的 Verilog网表。VHDL 接口建立与 VHDL 仿真器一起使用的 VHDL 网表。( 7)编程文件的产生装配程序( Assembler)模块为一个已编译的设计创建一个或多个编程目标文件 (.pof)、SRAM 目标文件( .sof)或JEDEC文件(.jed)。MAX+PLUSII 编译器使用这些文件和标准的A 硬件对器件进行编程。使用工业标准的其他编程设备也可对器件编程。此外, MAX+PLUSII 可以产生 I格式的十六进制文件( .hex)、T文本文件( .ttf )和配置 FLEX80
16、00 器件使用的串行位流文件( .sbf)。2.1.3 设计校验设计校验过程包括设计仿真和定时分析,其作用是测试逻辑操作和设计的内部定时。( 1)仿真 编译成功的设计不一定完成正确, 只是通过仿真才能验证电路是否正达到设计要求。 Simulation可分为三种仿真,即逻辑特性 (Functional)仿真、时延特性 (Timing) 仿真和链接 (Linked) 仿真,仿真器利用编译器产生的数据文件工作。MAX+PLUS II 提供了功能编译选项。此时,只运行仿真网表的提取,而不作布局线,所以,此时的仿真没有延时信息,所有的延时均为零延时,而可以预测所有内信号,对于初步的功能检测非常方便。-
17、7 -功能检查完成后,需进行后仿真。 MAX+PLUS II 的仿真具有很强的灵活性,可以控制对单器件或多器件设计的仿真, 仿真器使用编译期间生产的二进制仿真网表进行功能和定时的仿真, 或把组和连接起来的多个器件作为一个设计进行仿真。可以使用简明的向量输入语言定义输入激励, 也可以使用 MAX+PLUS II 的波形编辑程序直接画出波形。 仿真结果可以在波形编辑器中看到, 也可以作为波形文件或文本打印出来。( 2)定时分析 MAX+PLUS II 的定时分析器( Timing Analyzer )可以计算点到点的器件延时矩阵, 确定器件引脚上建立时间与保持时间要求, 还可以计算最高的时钟频率。
18、 MAX+PLUS II 的设计输入工具与 Timing Analyzer集成在一起, 这样只需简单地将设计中的起点和终端加上标志即可确定最短与最长的传播延时。 此外,Message Processor可以找出 Timing Analyzer在设计文件中已证实的关键路径,并在适当的设计编辑器中加以显示。2.2 MAX+PLUS II 软件的设计流程由前面叙述可知, MAX+PLUS II软件设计的流程应包括以下几个部分,如图 2-2所示。设计输入项目编译设计修改设计仿真器件编程系统测试图 2-2( 1)设计输入可以采用原理图输入、 HDL 语言描述、 EDIF 网表读入等方式。- 8 -( 2
19、)编译 主要完成器件的选择及适配,逻辑的综合及器件的装入,延时信息的提取。( 3)前仿真此时为 0延时模式,主要为检验输入是否有误。( 4)后仿真 将编译产生的延时信息加入到设计中,进入布局布线后的仿真,是与实际器件工作时情况基本相同的仿真。( 5)编程验证用后仿真确认的配置文件经EPROM或编程电缆配置 CPLD,加入实际激励,进行测试,以检查是否完成预定功能。以上各步如果出现错误的现象, 则需重新回到设计输入阶段, 改成错误输入或调整电路并重上述过程。2.3 VHDL 语言简介VHDL是在 7080 年代中,由美国国防部资助的VHSIC项目开发的产品。在这个语言首次开发出来时, 其目标仅是
20、一个使电路文本化的一种标准,使人们采用文本方式描述的设计能够被其他人所理解。 VHDL于 1987 年由 IEEE 1076 标准所确认, 1993 年 IEEE 1076 标准被升级、更新,新的 VHDL标准为 IEEE 1164, 1996 年 IEEE 1076.3 成为 VHDL综合标准。现在, VHDL已成为一个数字电路和系统的描述、建模、综合的工业标准,在电子产业界,无论是 ASIC 设计人员,还是系统级设计人员, 都需要学习 VHDL来提高他们的工作效率。 利用 VHDL及自顶向下设计方法在大型数字系统设计中被广泛采用, 在设计中可采用较抽象的语言来描述系统结构, 然后细化成各模
21、块, 最后借助编译器将 VHDL描述综合为门级。2.3.1 VHDL 的基本结构1.VHDL的组成一个 VHDL设计由若干个VHDL文件构成,每个文件主要包含如下三个部分中的一个或全部:程序包( Package);实体( Entity );结构体( Architecture)。一个完整的 VHDL设计必须包含一个实体和一个与之对应的结构体,一个实体可对应多个结构体,以说明采用不同方法来描述电路。- 9 -2.程序包( Package)程序包是用来单纯罗列 VHDL语言中所要用到的信号定义、常数定义、数据类型、元件语句、函数定义和过程定义等,它是一个可编译的设计单元,也是库结构中的一个层次。一个
22、程序包由两大部分组成:包头( Header)和包体( Package Body),其中包体是一个可选项, 也就是说, 程序包可以只由包头构成。 一般包头列出所有项的名称,而在包体具体给出各项的细节。3. 库( Library )库是专门存放预先编译好的程序包( package)的地方。在 VHDL语言中,库的说明总是放在设计单元的最前面:LIBRARY 库名;这样,在设计单元内的语句就可以使用库中的数据。 由此可见,库的好处就在于使设计者可以共享已经编译过的设计结果。在 VHDL语言中可以存在多个不同的库,但是库和库之间是独立的, 不能互相嵌套。 实际中一个库就对应一个目录,预编译程序包的文件
23、就放在此目录中。 用户自建的库即为设计文件所在目录,库名与目录名的对应关系可在编译软件中指定。4. 实体( Entity )实体是 VHDL设计中最基本的模块, VHDL表达的所有设计均与实体有关。设计的最顶层是顶层实体。 如果设计分层次, 那么在顶层实体中将包含较低级别的实体。实体中定义了该设计所需的输入 / 输出信号,信号的输入 / 输出类型被称为端口模式,同时实体中还定义他们的数据类型。5. 结构体( Architecture)结构体是 VHDL设计中最主要部分, 它具体地指明了该基本设计单元的行为、元件及内部的连接关系, 也就是说它定义了设计单元具体的功能。 结构体对其基本设计单元的输
24、入输出关系可以用 3 种方式进行描述, 即行为描述(基本设计单元的数学模型描述)、寄存器传输描述(数据流描述)和结构描述(逻辑元件连接描述)。不同的描述方式,只体现在描述语句上,而结构体的结构是完全一样的。- 10 -一个完整的、能被综合实现的VHDL设计必须有一个实体和对应的结构体,一个实体可以对应一个或多个结构体,由于结构体是对实体功能的具体描述,因此它一定要跟在实体的后面,通常先编译实体后才能对结构体进行编译。2.3.1 CPLD/FPGAFPGA(Field Programmable Gates Array 现场可编程门阵列,内部结构为门阵列构成静态存储器( SRAM)。该 SRAM可
25、构成函数发生器,即查找表,通过查找表可实现逻辑函数功能) ,CPLD(Complex Programmable Logic Device 复杂可编程逻辑器件,内部结构为“与或阵列”。该结构来自于典型的PAL、 GAL器件的结构。任意一个组合逻辑都可以用“与或”表达式来描述,所以该“与或阵列”结构能实现大量的组合逻辑功能) 。FPGA具有体系结构和逻辑单元灵活、集成度高以及适用范围宽 FPGA等特点。兼容了 PLD和通用门阵列的优点,可实现较大规模的电路,编程也很灵活。与门阵列等其它 ASIC 相比,它又具有设计开发什么是周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时
26、在线检验等优点, 因此被广泛应用于产品的原型设计和产品生产 ( 一般在 10,000 件以下 ) 之中。几乎所有应用门阵列、 PLD 和中小规模通用数字集成电路的场合均可应用 FPGA。CPLD它具有编程灵活、集成度高、设计开发周期短、适用范围宽、开发工具先进、设计制造成本低、对设计者的硬件经验要求低、标准产品无需测试、保密性强、价格大众化等特点,可实现较大规模的电路设计。硬件描述语言是 EDA技术的重要组成部分, VHDL是电子设计的主流硬件描述语言。VHDL的英文全名是 Very-High-Speed Integrated Circuit HardwareDescriptionLangua
27、ge,诞生于 1982 年。1987 年底,VHDL被 IEEE ( The Instituteof Electrical and Electronics Engineers)和美国国防部确认为标准硬件描述语言。自 IEEE 公布了 VHDL的标准版本( IEEE-1076)之后,各 EDA公司相继推出了自己的 VHDL设计环境,或宣布自己的设计工具可以和 VHDL接口。此后 VHDL 在电子设计领域得到了广泛的接受,并逐步取代了原有的非标准硬件描述语言。1993 年, IEEE 对 VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展- 11 -VHDL的内容,公布了新版本的VHDL,即
28、 IEEE 标准的 1076-1993 版本。现在,VHDL作为 IEEE 的工业标准硬件描述语言,又得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。VHDL主要应用于数字电路的设计中,尤其是在( FPGA/CPLD/ispPLS和 IASIC 等芯片的设计中应用更加广泛。(本次设计是关于 CPLD的设计)2.3.2 VHDL 的优点VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外, VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。 VHDL的程序结构特点是将一项设计实体(可以是一个元件、一个电路模块或一个系统)
29、 分成外部和内部两个基本点部分, 其中外部为可见部分,即系统的端口,而内部则是不可视部分, 即设计实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后, 一旦其内部开发完成后, 其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL系统设计的基本点。应用 VHDL进行工程设计的优点是多方面的,具体如下 :1) 设计技术齐全、方法灵活、支持广泛。 VHDL语言可以支持自上至下和基于库的设计法, 而且还支持同步电路、 异步电路及其他随机电路的设计。 目前大多数 EDA工具都支持 VHDL语言。2) VHDL 具有更强的系统硬件描述能力 , VHDL 具有多层次描述
30、系统硬件功能的能力,其描述对象可从系统的数学模型直到门级电路。3) VHDL 语言可以与工艺无关编程。在用 VHDL语言设计系统硬件时,没有嵌入与工艺有关的信息。 当门级或门级以上层次的描述通过仿真检验以后, 再用相应的工具将设计映射成不同的工艺。 这样,在工艺更新时, 就无须修改原设计程序,只要改变相应的映射工具。4) VHDL 语言标准、规范,易于共享和复用- 12 -3 总体设计3.1 系统框图键盘输入弹跳消除电路按键数据缓键盘译码电冲器路工作时钟脉冲信号键盘扫描电路修改密码时输入密码锁存器比较结果输出开锁时输入比较器多路选通器七段码输出七段译码器CLK扫描信号发生器时钟发生器图 3-1
31、系统框图- 13 -3.2 系统说明3.2.1 系统原理键盘扫描电路用来产生扫描信号,扫描信号KY32KY0按照 1110 - 1101 -1011 - 0111 - 1110?的规律依次变化,通过输出KX22KX0来检测是否有键按下,如扫描信号示1101,表示正在扫描4 ,5 ,6这三个键,如果这三个键多没被按下,则 KX20 输出为 111,如果数字键 4 按下, KX20 将会输出为 011。按键输入信号,若被按下的是数字键, 则解码成相应的BCD 码,若被按下的是功能键,则解码成4 位二进制的码字,由密码锁控制电路作相应的动作。为防止每次扫描产生新的按键数据覆盖前面的数据,通过按键数据
32、缓冲器将整个键盘扫描后的结果记录下来。当按下数字键时,输入的数字在最右边的数码管中显示,数码管原先的数据向左移动一位; 如果不慎输入错误, 则按清除键清除所输入的数字,重新开始输入四位数字。由于此处密码设置为四位,如果超过四位,则后面的被忽略。 输入四位密码后, 按下激活电锁键, 则将所输入的四位设置为电锁密码。解锁的过程是先输入四位数字, 然后按下解除电锁键, 如果输入的四位数字与密码相同, 则开锁。反之打不开锁。 按键数据缓冲器所存储的数据经由多路选通器到七段译码电路 , 将其转换成七段显示器的显示码 , 转送到七段显示器 , 多路选通器与显示管选择必须同步。 由于设计的是 4 位数的数字
33、密码锁 , 一位十进制数需要 4 个二进制位表示 , 所以寄存器必须是 16 位的。因为是以扫描的方式轮流被点亮的 ,因此显示缓冲器上的数据必须一组一组地分开传送,每次送4 个位。3.2.2 各部分作用( 1)键盘输入本设计选用的是 43矩阵键盘,它是用 4 条 I/O 线作为行线, 3 条 I/O 线作为列线组成的键盘。 在行线和列线的每一个交叉点上, 设置一个按键, 当某键被按下时,该按键的接点会连接行线和列线,这样有按键按下时行线呈现逻辑 0 的状态,未按下时则呈现逻辑 1 状态。键盘电路的工作原理是通过行线送入扫描信号,然后从列线读取状态判断是否有按键按下。 其方法是依次给行线送低电平
34、,- 14 -检查列线的输出。 如果列线信号为高电平, 则代表低电平信号所在的行中无按键按下;如果列线输入为低电平, 则低电平信号所在的行和出现低电平的列的交点处有按键按下 。 扫描信号由KY3KYO 进入键盘,变化的顺序依次是:11101101101101111110,每次扫描一行, 依序循环。假设现在扫描信号为 1101,即扫描“ 4”、“ 5”、“ 6 ”这一排按键,如果这排当中没有按键被按下的话,则列扫描信号KX2-KXO读出的值为111;反之,当“ 6”按键被按下时则由 KX2-KXO读出的值为110, 其它依次类推。由于矩阵式键盘是无法独自地完成按键工作的,要搭配时序产生电路、键盘
35、扫描电路、弹跳消除电路、键盘译码电路才能可靠工作。键盘上的有效数据是0 到 9 这十个数字键和两个功能键 (*键:修改密码键; #键:输入数字小于四位时按下此键表示清除键,输入数字等于四位时表示开锁键)。( 2)弹跳消除电路因为本次设计的按键采用机械式开关结构, 在开关切换的瞬间会在接触点出现来回弹跳的现象 , 这种弹跳现象可能造成误动作而影响到正确性。本设计中采用延时的软件方法消除抖动 , 若采样信号检测到输入由“ 1”变到“ 0”或由“0”变为“ 1”, 先延时 2 个周期 , 仍旧检测到是“ 0”或“ 1”, 则说明按键状态确实发生了变化 , 否则当作抖动处理 , 不予理会。这样就消除了
36、抖动。( 3)键盘译码电路键盘中的按键可分为数字按键和功能按键,每个按健都有自己相应的作用,比如 #键可以清除密码和开锁, * 键可以设置密码。数字按键主要用来输入数字,键盘所产生的输出 (KX2-KXO)无法直接拿来使用,因此必须由键盘译码电路来规划每个按键的输出形式,以便执行相应的动作。( 4)按键数据缓冲器按键数据缓冲器将整个键盘扫描完毕后的结果记录下来,防止后面所得的数据覆盖前面扫描得到的数据。( 5)键盘扫描电路键盘扫描电路是用于产生KY3-KY0信号,即键盘的行扫描信号。 每扫描一排按键,就检查一次是否有按键被按下,如果这排没有按键被按下就忽略。反之,如果出现被按下的键则立即进行按
37、键编码的动作,且将编码的结果存储于寄存器- 15 -中。扫描停留在每个状态的时间大约为10ms。更短的停留时间容易采集到陡动信号,会干扰判断。而太长的停留时间则容易丢失某些较快的按键动作。( 6)密码锁存器输入控制电路信号由按键数据缓冲器产生的,在按下解锁信号后其全部数据送入比较器, 解锁后,如果按下更改密码按键, 则把所有数据送入预存密码寄存器。密码锁存器是一个16 位的寄存器,负责保存密码。( 7)比较器当按下数字键时 , 输入的数字在最右边的数码管中显示 , 数码管原先的数据向左移动一位 ; 如果不慎输入错误 , 则按清除键清除所输入的数字 , 重新开始输入四位数字。由于此处密码设为四位
38、 , 如果超过四位 , 则后面的被忽略。 输入四位密码后 , 按下激活电锁键 , 则将所输入的四位设置为电锁密码。解锁的过程是先输入四位数字 , 然后按下解除电锁键 , 如果输入的四位数字与密码相同, 则开锁。反之打不开锁。( 8)多路选通器多路选通器将按键数据缓冲器中的输入密码与扫描信号发生器中的密码逐位进行比较 , 当对应位数相同时 , 数值比较器的输出B = 1 然后进行下一位比较 ,否则 B=0 , 密码错误信号 ERROR = 1 ,由计算器 C2记录密码错误次数 , 比较到哪位。用记算器 C1 的输出又作为多路选通器位选线, 当输入到扫描信号发生器中的 4位二进制密码与按键数据缓冲器中设定的 4位二进制密码完全相同 , 比较结束 ,位数比较器输出 M= 1 , 这时 , 如果按开锁按键 TRY = 1 , 密码锁就会打开 OPEN= 1 ,如果开锁时三次密码输入不对 , 则报警。( 9)七段译码器七段译码器用于把多路选通器输出的四位二进制数变为可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年城市照明电力安装与改造合同
- 2025版汽车租赁合同范本(含环保)
- 2025版生猪养殖环境监测与保护合同
- 2025年文化旅游区招商引资合作协议范本
- 2025版水渠工程劳务派遣合同示范文本
- 2025年绿色装修贷款服务合同样本
- 2025年度能源行业财务顾问合同-成本分析与优化
- 2025年度高端全屋定制家具设计施工合同范本
- 2025茶楼承包合同范本:含茶楼环保设施建设协议
- 2025版禽类产品电商平台合作合同
- 复变函数与积分变换教案
- 职工医疗互助保障计划、女职工安康互助保障计划互助金申请表
- 宾馆饭店消防安全排查整治标准
- GB 16869-2005鲜、冻禽产品
- 整机部整机出货检验重点标准
- 混凝土实验室标准规范测试试题1
- 淹溺急救与护理ppt
- 美丽中国中英文字幕
- 城管执法公开课培训材料最新ppt课件
- 年度采购框架合同协议书范本
- 《日汉翻译2》教学大纲
评论
0/150
提交评论