14位数字密码锁两种设计方案
14位数字密码锁控制电路设计

EDA课程实习报告电子信息学院指导老师:姓名:学号:目录一.设计目的-----------------------------------3 二.设计要求------------------------------------4 三.14位密码锁控制电路原理-------------------5四、maxlpus2模拟仿真--------------------13五、课设心得----------------------------------15题目:简易14位数字密码锁控制电路摘要:数字密码锁的基本原理是,通过寄存器存储预置密码,输入密码后将数据寄存在另外的寄存器中。
然后分别将预置密码与输入密码通过比较器比较,如果相同,锁被打开,否则,不能打开。
本方案的以以上原理为基础,通过门电路与触发器的辅助,实现了预置密码,验证密码,修改密码的功能。
关键字:数字密码锁一、设计目的1、14数字密码分成高7位(DH6-DH0)和低7位(DL6-DH0),用数字逻辑开关预置,输出信号out表示开锁,否则关闭。
2、14位数字密码分时操作,先预置高7位,然后再置入低7位。
3、要求电路工作可靠,保密性强,开锁出错立即报警,用声光两种形式同时报警。
4、利用maxplus2软件进行设计、编译、并在FPGA 芯片上实现。
5、14位密码自己设定,比如:“10001010100010”。
本次设计采用本人学号后三位二进制8421码+两位:一班是01,二班10,三班11,四班00.二、设计要求1、设计简易14位数字密码模块IC9A模块,模块IC9A 采用VHDL实现。
2、设计一个报警信号电路,方法不限3、在IC9A模块基础上设计14位数字密码锁的顶层电路。
三、14位密码锁控制电路原理1、顶层电路组成CLK为时钟控制信号,CLR为清零信号,D6-D0为7位密码输入端,OP为开锁键。
输入密码时,先置CLR为1进行清零,然后将高7位密码置入D6-D0,然后给CLK一个脉冲,高7位密码被锁存,然后再把低7位置入D6-D0,然后给开锁键OP一个脉冲,如果密码正确的话OPLOCK输出为1进行开锁,如果密码错误则LED和VOICE输出为1,进行声光报警。
EDA课程设计--简易14位数字密码锁控制电路设计

要 同时报警)
求
利用 MAXPLUS2 软件进行设计、编译、并在 FPGA 芯片上实现
14 位密码自己设定。本次设计采用本人所在班级+本人学号后三位
二进制,一班为 01.
时
间 进
1周
度
主
要 参 《EDA 实验指导书》 主编:电子信息教研室 考 《EDA 技术与 CPLD/FPGA 开发应用简明教程》 主编:刘爱荣、王振成 资 出版社:清华大学出版社
2.3EDA 的应用
随着计算机技术和应用的发展,计算机辅助设计
(CAD)和设计自动化(DA)技术已在电子产品(系统)
的设计领域得到广泛应用。自对电子产品的概念级设计
之始,直至产品的物理级设计,EDA 技术借助计算机存 储量大、运行速度快的特点,可对设计方案进行人工难 以完成的模拟评估、设计检验、设计优化和数据处理等 工作。目前,不同厂商、不同技术等级的 EDA 系统都在 应用流行。根据国内煤炭行业对电子系统的实际需求, 本文着重对 EDA 的基本工具作介绍。
主要针对电子电路设计、PCB 设计和 IC 设计。
2.2EDA 技术的历史与发展
20 世纪 90 年代,国际上电子和计算机技术较先进的国家,一直在积极 探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的 变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如 CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设 计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和 工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快 捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观 念,促进了 EDA 技术的迅速发展。 EDA 是电子设计自动化(Electronic Design Automation)的缩写,在 20 世纪 90 年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、 计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。 EDA 技术就是以计算机为工具,设计者在 EDA 软件平台上,用硬件描 述语言 HDL 完成设计文件,然后由计算机自动地完成逻辑编译、化简、 分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配 编译、逻辑映射和编程下载等工作。EDA 技术的出现,极大地提高了电 路设计的效率和可*性,减轻了设计者的劳动强度。
毕业设计(论文)-基于51单片机控制的电子密码锁设计

基于51单片机控制的电子密码锁设计摘要:本设计以单片机以AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构,实现要是信息在主机的初步认证注册、密码信息的加密、钥匙丢失报废等功能。
根据51单片机之间的串行通信原理,这便对于密码信息的随机加密和保护。
而且采用键盘输入的电子密码锁具有较高的优势。
采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。
软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统可扩展性和运行的稳定性。
测试结果表明,本系统各功能已达到本设计的所有要求。
关键词:AT89C51;密码锁;单片机设计;电子锁目录摘要 (1)关键词 (1)第一章密码锁的简介及现况 (1)1.1引言 (1)1.2电子密码锁的简介 (1)1.3电子密码锁发展趋势 (2)1.4本设计所要实现的目标 (2)1.5设计的密码锁的功能 (2)第二章设计方案的选择 (3)2.1方案的论证与比较 (3)第三章单片机的组成 (4)3.1AT89C51单片机的简介 (4)3.2电路图的绘制 (7)第四章单片机硬件资源 (7)4.1开锁机构 (7)4.2按键电路设计 (8)4.3显示电路设计 (10)4.4AT89C51单片机复位方式 (11)4.5密码锁的电源电路设计 (12)第五章程序调试 (13)5.1程序调试用到的软件及工具 (13)5.2KEIL C51简介 (14)5.3调试过程 (14)5.4调试、仿真与实现 (15)第六章软件设计 (16)6.1系统软件设计的总统思想 (16)6.2各子程序设计 (17)1 键盘扫描子程序 (17)2 LED显示子程序 (18)3 密码比较和报警程序 (19)设计总结与展望 (21)致谢 (22)附录:总原理图 (22)参考文献 (24)第一章密码锁的简介及现况1.1引言在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
数字电路课程设计(密码锁)

数字电路课程设计设计报告课题名称:密码锁设计成员1:设计成员2:设计成员3:密码锁一、目录1、设计项目综述 (2)2、设计方案及分析 (3)2.1设计方案 (3)2.2设计分析 (4)2.3方案优缺点 (4)3、电路原理分析 (5)3.1模块1:八进制优先编码器74ls148 (5)3.2模块2:4位双稳锁存器74LS75 (6)3.3模块3:4位数字比较器74LS85 (8)3.4模块4:可预置bcd计数器74LS160 (9)3.5 总图 (14)4、总结 (16)4.1设计中遇到的问题及解决方法 (17)4.2设计方案中需要改进的地方 (17)4.3这次设计中的收获和教训 (17)二、设计项目综述:1、可以预置1位十进制数密码,并保存密码。
2、开锁时,输入正确密码,按开锁键,锁打开。
3、当输入密码时,数码管显示相应的输入数字。
密码输入错误时计数一次,当输入错误密码连续达到四次,拒绝再输入密码。
需用复位键将其还原才能再次输入。
4、输入密码时,数码管8显示密码的数值。
拒绝输入密码时,只显示0。
按开锁键时,数码管5显示密码输入错误的次数;当错误次数连续少于4次以下时,则当输入密码正确时数码管5清“0”。
5、开锁指示灯亮表示锁已经打开。
三、设计方案及分析1、设计方案根据以上密码锁的设计任务,我们拟定的方案可以简略的如以下框图所示:2、方案分析(1)密码输入:由于要求通过每按一个输入键时直接显示为对应的十进制数密码,所以需要将二进制数转换为对应的十进制数。
根据前面这个要求,我们有两个选择74ls147和74ls148。
74ls147与74ls148比较,74ls148比74ls147多一个功能端。
使用74ls148可以实现输入四次错误自动锁定。
虽74ls148总的输入键只有8个,使用两块74ls148,并他们通过级联可以解决0~9输入。
当多过输入端同时出现时,只对其中优先权最高的一个进行编码,这个编码就是我们要的对应的十进制数。
【冀教版】六年级下册数学:5.2数字密码锁教案

2 数字密码锁教学内容教材第51~52页,数字密码锁教学提示《数字密码锁》是冀教版第十二册探索乐园中的一节实践活动课,主要是向学生渗透一些重要的数学思想方法,是通过日常生活中的一些事例,使学生初步体会数字编码方法在解决实际问题中的应用,并通过观察、比较、猜测来探索数字编码的简单方法,让学生学会运用数字进行编码,初步培养学生的抽象、概括能力。
《标准》中指出,第二学段要让学生“进一步体会数在日常生活中的作用,会运用数表示事物,并能进行交流”。
在日常生活中,数有着非常广泛的应用,在第一学段学生已经有了初步体会,特别是在一年级上册认数的时候,教材在“生活中的数”版块中就已经出现了像邮政编码、门牌号、车牌号这样的数在生活中的应用实例。
数可以用来表示数量和顺序,这一知识点学生是已经知道的,而数还可以用来编码,这对学生来说是不大熟悉的,本节课就是在学生的生活经验和已有知识的基础上,进一步体会数字编码在日常生活中的应用,并通过实践活动进行简单的数字编码,培养学生的数学思维能力。
教学目标教学目标:1.结合具体事例,经历探索数字密码的组成规律的过程。
2.掌握数字密码的组成规律,知道数字密码的一些用处。
3.体验数学活动充满着探索性和创造性,体会数字的价值。
重点、难点重点1、初步体会数字编码思想在解决实际问题中的应用,了解用符号和数字组合进行编码的方法。
难点1、尝试用数学的方法来解决实际生活中的简单问题。
教学准备教师准备:实物投影仪;多媒体课件;钥匙。
教学过程²(一)新课导入一、问题情境1.教师拿出自己的钥匙,并引出密码锁。
分别说一说在什么地方或物品见过密码锁,见过几个数字的密码锁。
师:同学们,看老师手里拿的是什么?生:钥匙。
师:对,这些都是用来开锁的钥匙。
现实生活中,还有一种锁是不用钥匙的,你们知道是什么锁吗?生:密码锁师:谁知道什么地方或物品上经常用密码锁?学生可能说出:保险柜、保险箱、旅行箱,等等。
师:看来同学们知道的不少,那谁来说一说你在什么东西上见过几个数字的密码锁学生可能会说:●我在旅行箱上见过三位数的密码锁。
电子密码锁设计

{
case 0x0010: KeyVal=13; break;
case 0x0020: KeyVal=9; break;
case 0x0040: KeyVal=5; break;
case 0x0080: KeyVal=1; break;
}
GPIO_Write(GPIOA,(GPIOA->ODR&0xfff0|0x8)); switch(GPIOA->IDR&0x00f0)
图1.2 stm32控制方案
通过比较以上两种方案stm32有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
初步设计思路如下:
基于以上思路,本次设计使用stm32设计,其主要具有如下功能:
密码通过键盘输入,若密码正确,则将锁打开。
{
case 0x0010: KeyVal=12; break;
case 0x0020: KeyVal=8; break;
case 0x0040: KeyVal=4; break;
case 0x0080: KeyVal=0; break;
}
return KeyVal;
}
void Delay(__IO uint32_t nCount)//简单的延时函数
密码的设定,假设预设的密码为"123456"共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。
密码锁-课程设计

《单片机原理与应用》课程设计报告基于单片机的密码锁的设计院系:专业(班级):姓名:学号:指导教师:职称:完成日期:《单片机原理与应用》课程设计任务书院(系):专业:指导教师:目录1 课题设计 (1)1.1 课题背景 (1)1.2 课题设计目标 (1)2系统方案论证 (2)2.1 主控部分的选择 (2)2.2 密码输入方式的选择 (2)3 系统总体设计和主要芯片介绍 (3)3.1 系统总体设计 (3)3.2 主要芯片介绍 (3)4 系统硬件构成 (10)4.1 系统整体电路图 (10)4.2 单片机最小系统原理图 (10)4.3 电源输入部分 (11)4.4 键盘输入部分 (12)4.5 密码存储部分 (12)4.6 显示部分 (13)4.7 报警部分 (14)5软件的设计与实现 (14)5.1 设计原理 (15)5.2 主程序流程图 (15)6 结论 (16)[参考文献] (17)7 附录 (18)1课题设计随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。
锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。
随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。
1.1 课题背景由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。
电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。
电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。
但较实用的还是按键式电子密码锁。
1.2 课题设计目标本设计采用AT89S51单片机为主控芯片,通过软件程序组成电子密码锁系统,能够实现:1.正确输入密码前提下,开锁提示;2.错误输入密码情况下,蜂鸣器报警;3.密码可以根据用户需要更改;4.断电存储功能;5. 完成实际实物的焊接;2系统方案论证系统从主控部分和密码输入方式两方面进行论证2.1 主控部分的选择方案一:采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合。
简易14位数字密码锁控制电路设计实验报告

简易14位数字密码锁控制电路设计实验报告实验目的:本实验旨在掌握基本的数字锁控制电路设计方法,通过具体实验操作,使学生对数字锁的原理、控制电路以及数字电路的设计方法等有更加深入的了解和认识。
实验器材:1.数字集成电路:CD4017B、CD4069UB、CD4073B、SN74LS08N;2.10K电位器、电容、电阻器、LED灯等。
实验原理:密码锁控制电路是由数字集成电路CD4017B、CD4069UB、CD4073B及SN74LS08N组成的。
其中CD4017B为计数器,CD4069UB、CD4073B和SN74LS08N为逻辑门电路,用于实现密码锁控制功能。
CD4017B为数字集成电路,它是一个10位二进制计数器,可以用于电子时钟、计时器、频率分频器等电路中。
它具有高速、低功耗、可升级性等优点,被广泛地应用于数字电路中。
CD4069UB、CD4073B和SN74LS08N均为逻辑门电路,主要用来实现与门、或门、非门等逻辑运算。
在本实验中,CD4017B接在控制端,用于实现计数和循环控制功能;CD4069UB、CD4073B和SN74LS08N三个逻辑门电路用于实现锁定、解锁功能。
实验步骤:1. 选择合适的元器件,按照电路图连接电路。
将电路连接好后,注意检查电路连接是否正确、元器件是否插紧等。
2. 按照实验要求进行编程。
将编程程序设置为14位数字密码,具体程序如下:3. 按照要求测试实验电路。
输入正确的密码,即可实现锁定或解锁功能。
实验结果:通过实验操作,我们成功地设计出一款14位数字密码锁控制电路,其操作流程为输入密码-验证密码-锁定或解锁。
通过实验可以看出,密码锁控制电路设计简单,操作方便,具有广泛的应用前景。
实验分析:数字密码锁是一种常见的电子密码产品,可以用于保护个人财产、资料等,在家庭、宾馆等场所得到了广泛的应用。
基于数字集成电路和逻辑门电路设计数字密码锁控制电路,具有操作简单、易于维护和升级等优点,被广泛地应用于数字电路中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计方案系统设计方案利用所学的电子技术知识和电子设计方法,设计出一个电子密码锁有以下两种基本方案可以选择:方案一:利用数字逻辑电路,运用各种门电路,计数器,触发器,锁存器,编/译码器等数字逻辑器件实现电子控制。
从而实现想要设计的电子密码锁的功能。
此方法设计简单,但硬件电路比较多,操作起来比较复杂。
方案二:使用MCS-51系列单片机为核心控制附加一些简单的外围电路,利用单片机的一个I/O端口组成4×4键盘作为输入电路,采用汇编语言编写程序来实现电子密码锁的各项功能,程序语言功能强大,调试较为简单。
具有很强的实用性。
设计方案选择综上提出的两种方案,方案一给出的采用数字逻辑电路的设计方法的好处就是设计简单,因为采用数字逻辑电路可以分成各个功能模块来设计,每个模块实现各自的一个功能。
这钟方法设计的密码锁电路大致包含:按键输入、密码核对、密码修改、开锁电路、错误提示电路等功能模块。
采用数字电路虽然设计简单但是操作繁琐,要运用很多数字逻辑器件,硬件电路复杂,而且可能会出现较多器件故障,同时难以检查和维护。
方案二提出的使用单片机为核心控制的方案,利用单片机丰富的I/O端口和灵活的编程设计,不但能实现密码锁的功能,而且控制准确性高,外围电路少硬件电路简单,方便灵活,调试简单不易出错,体积小成本低也利于现实中实现,具有较高的实际意义和实用价值。
这个设计方案的最关键的地方就在于编程,利用程序的执行来实现密码锁的基本功能,因此单片机方案还有较大活动空间,能在很大程度上扩展功能,方便对系统进行升级。
针对第一种方案:系统vhdl设计功能描述:假设设计的密码锁有7个数据输入键,分别用K1到K7表示;一个“确认键”(按一下确认键,密码锁内部就产生一个正脉冲),用CLK_AFFIRM表示;一个“重置和修改密码使能键”,用S/W 表示;一个开锁状态指示灯GREENLED;一个密码输入错误报警器REDLED.1.密码预置。
未使用过的密码锁初始状态为“打开”,内部密码为随机数,故使用前必须进行密码预置。
通过按键将S/W调为“1”,密码锁进入密码预置模式,按照K1~K7→确认键→K1~K7→确认键的顺序输入想要设置的密码,其中K1~K7表示的意思是,给K1到K7赋值,赋值顺序可任意改变,但一旦按下确认键,K1到K7分别对应的数值便不可改变。
整个过程中只要按下两次确认键,密码预置便成功完成。
2.密码验证。
通过按键将S/W调为“0”,密码锁进入密码验证模式。
按照K1~K7→确认键→K1~K7→确认键的顺序输入密码,如果密码与预置的密码(如果修改过密码,则与最后一次修改成功后的密码)相匹配,开锁指示灯GREENLED变亮,同时锁子被打开。
如果没反应,需要重新输入密码,但是输入密码的次数最多为3次,如果3次都输入了错误密码,那么错误报警器REDLED 就会报警,如果继续输入了正确密码,报警器就会解除警报。
3.密码修改。
用户必须提供正确的密码后方能进入密码修改模式,否则,修改无效。
如果用户通过了密码验证,那么此时将S/W调为“1”便可顺利进入密码修改模式。
修改密码过程与重置类似,即按照K1~K7→确认键→K1~K7→确认键的顺序输入更改后的密码,便可顺利完成密码的修改。
电路设计:电路原理图原理图分析主要部分为寄存器与比较器构成。
其中R1与R2分别存储预置密码或修改密码的低七位与高七位;R3和R4分别寄存输入密码的低七位与高七位。
下面主要介绍一下各个模块的功能实现。
1)确认键CLK_AFFIRM与预置或密码修改使能键S/W的功能实现。
确认键每按下一下产生一个正脉冲,作为R1,R2或R3,R4的时钟,实现数据读入相应寄存器的功能。
S/W为“1”时,R3与R4被锁死,无法输入密码;同时与其相连的下面那个与门打开,确认键的信号便能顺利进入⑥中的与门,为密码锁进入预置或密码修改模式提供必要条件。
S/W为“0”时,R1与R2被锁死,R3,R4被打开,确认信号只能进入R3与R4,密码锁进入密码验证模式。
2)由四位减计数器组成,时钟输入为R3与R4的时钟信号,可记录在密码验证过程中用户共按了几下确认键,间接记录密码输入次数。
当用户连续3次输入错误的密码时,计数器由1111计到1010,此时QA’·QB·QC’由0变为1,相当于一个上升沿,作为④中上面那个D触发器的时钟信号,使该触发器输出1,此时如果密码仍不匹配,即与REDLED相连的与门另一个输入端也为1,那么输出REDLED为1,启动报警装置。
如果在3次之内输入了正确密码,③中或非门的输入有1,输出为0,对计数器清零操作。
3)在②中已介绍。
4)当验证密码通过时,比较器输出为1,在⑤中的与非门使能的情况下,最终输入到④中下面的D 触发器的时钟端的信号经历了由0到1的变化,相当于时钟上升沿,D触发器被打开,输出为1,开锁指示灯GREENLED变亮,同时锁被打开。
5)②中计数器的QA端对时钟进行了二分频,即对S/W=0的情况下的确认信号进行了二分频,亦即QA经历一个周期说明用户完成了一次完整的密码输入。
也可以说QA=0的期间都对应用户刚输入了一次完整的密码。
所以在QA=0的情况下,再让后面的电路判断密码的匹配情况并做相应操作,就避免了用户输入密码的过程中就偶然的打开了锁的情况。
6)该模块实现进入密码修改模式前用户是否提供了正确的密码验证的检验功能。
若密码验证通过,该模块中的D触发器的D端就为0,此时如果用户试图进入密码修改模式,即将S/W由0改变成了1,D触发器使能,将D的值送到Q端,此时QN为1,接入该模块中的与门后将与门打开,允许确认信号进入R1,R2,也就是进入了密码修改模式。
否则,如果密码不匹配,D=1,S/W由0变1后,QN=0,将与门锁死,确认信号无法进入R1与R2,也就无法进入密码修改模式。
即使按照修改密码的步骤操作,修改的密码也是无效的。
7)该模块是对S/W取非后接入与GREENLED相连的触发器清零端。
及当S/W为1时,对GREENLED触发器清零,密码锁上锁。
实现在修改密码过程中维持密码锁为关闭的状态。
同时可见,S/W还有“上锁”的功能。
一、基于maxplus的原理图(graphic)仿真原理图与之前的原理图一样。
下面分别仿真几种典型情况。
1.密码预置与报警。
预置密码为0010101 1000011(顺序为K1,K2,…,K7),用户将S/W调为0后,连续按了6次确认键,相当于输错了三次密码,于是在第6个时钟(即确认键CLK_AFFIRM)上升沿处REDLED 由0变为1,启动报警。
此时用户由输入了正确密码,然后REDLED变为0,警报解除,GREENLED 变为1,锁打开。
2.密码修改失败的情况仿真密码预置为0101001 0011001,然后退出密码预置模式,即S/W = 0,然后未进行密码验证相当于密码验证失败,此时就令S/W =1,试图进入密码修改模式,并输入了0000010 0010000,然后令S/W = 0, 用0000010 0010000进行密码验证,结果GREENLED仍为0,然后再以预置密码0101001 0011001进行验证,结果GREENLED变为1,锁打开。
说明密码修改失败,因为修改前未进行密码验证。
3密码修改成功的情况仿真预置密码为0101001 0011001,然后退出密码预置模式,然后使用0101001 0011001进行密码验证,结果GREENLED变为1,说明密码验证通过。
此时将S/W改为1,键入新密码为0010010 1011000,然后将S/W 调为0,使用0010010 1011000进行密码验证,结果GREENLED变为1,说明密码修改成功。
方案改进:1.如果单次输入密码错误,应该有相应的指示灯予以显示。
改进可在3次连续输入错误的基础的进行简化便可实现。
2.由实际应用分析可知,修改密码一般要连续输入两次以保证密码的正确性。
由此可将方案作如下改进:另加入两个8位寄存器R5和R6,连接方式与预置或修改密码寄存器相同。
在预置或密码修改模式下,用门电路对确认信号进行分流,即前两个信号进入R1,R2,后两个信号进入R3,R4, 然后通过数据比较器看R1,R2是否分别与R3,R4的数据相等,将结果用指示灯显示。
如果两次密码不匹配,用户便可根据指示灯的提示重新输入密码。
针对第二种方案:设计拟采用以Intel 公司的8051单片机为核心的单片机控制方案,利用单片机丰富的I/O 端口和灵活的编程设计及其控制的准确性,实现基本密码锁功能。
设计方框图如图:单片机控制方案系统硬件设计系统总体设计原理本设计利用所学电路知识,单片机知识和EDA 方面的知识设计一电子密码锁。
目的是要有较高的安全性, 密码位数高,错误提示,使用方便,显示界面友好等特点。
确定方案与原理框图,设计出硬件线路,给出软件程序。
根据设计目的,本设计以单片机8051AH 为核心,用单片机的通用I/O 接口P1口组成一个4×4键盘作为输入电路,用发光二极管和蜂鸣器作为指示和警报提示设计一个十四位数字电子密码锁电路。
密码锁的开锁密码应是(0-9)中的十四位数字,密码输入完全正才确能控制开锁装置打开密码锁,并且指示灯亮;输入的密码错误则不能打开密码锁,并且发出声音警报提示。
采用单片机来完成此电路设计,硬件电路简单,但是需要编程序来实现相应功能。
完成此密码锁设计主要有几个方面问题需要解决:1、输入的问题,输入键中包含0-9十四位数字键、一个删除键(删除上一个输入的数字)、开锁键、确认键、改密码键和复位键;2、开锁和改密码的问题,密码输入正确了怎样控制电路开锁,密码输入不正确则不能开锁,如何实现修改密码,必须输入了正确的密码后才能修改密码;3、设计出电路图,编出程序,然后仿真,看是否能实现相应功能。
综上所述,决定采用以下思路来完成十四位数字密码锁电路的设计。
用单片机的P1口8根I/O 接口线组成4×4键盘有16个按键,本设计用到其中11个键,这11个键包括0-9十个数字键和A(十)键,将A 键用作确认键。
此外,拟用单片机的外中断0来用作删除(删除上一位输入值),利用单片机的外中断1来修改密码,通过中断优先级寄存器IP 把外中断0的中断优先级顺序设为高,这样外中断0优先级高于外中断1,所以即使在执行外中断1的中断服务程序时可以利用中断嵌套来响应外中断0,即当用户修改密码时一样可以使用删除键。
这样以来,删除(删除上一位输入)程序和改密码程序只需要写作单片机的外中断0和1的中断服务程序即可。
另外要注意的是,改密码只能在输入正确密码后进行改密码,所以外中断1在输入正确的密码时才允许中断,也就是说必须先输入正确的密码后改密码键才能有效,这时按改密码键就可以进行密码修改。