密码锁设计
- 格式:doc
- 大小:97.50 KB
- 文档页数:12
电子密码锁设计方案背景介绍随着科技的不断进步和人们安全意识的增强,电子密码锁越来越受到人们的关注和喜爱。
电子密码锁通过使用密码或其他身份验证方式,代替传统的钥匙,提供了更高的安全性和便利性。
本文将详细介绍电子密码锁的设计方案。
设计目标电子密码锁设计方案的目标是满足以下需求:1.高安全性:保护用户的财产和隐私信息不受到未授权的访问。
2.方便使用:提供便捷的密码输入方式,并且易于管理和维护。
3.灵活可扩展:支持多种密码输入方式,以适应不同用户的需求。
设计原理电子密码锁的设计基于以下原理:1.用户身份验证:用户需要提供正确的密码才能解锁。
可以使用数字密码、指纹、声音等多种身份验证方式。
2.加密算法:为了确保密码的安全性,设计一个强大的加密算法对用户的密码进行保护。
3.门锁控制:根据用户身份验证的结果,控制电子门锁的开闭状态。
设计流程电子密码锁的设计流程包括:1.用户身份注册:用户首次使用电子密码锁时,需要进行身份注册。
注册过程中,用户需要提供相关身份信息,并设置一个密码。
2.身份验证:用户在解锁电子密码锁时,需要输入正确的密码进行身份验证。
系统将对输入的密码进行比对,如果验证通过,则开启门锁。
3.控制门锁:根据用户的身份验证结果,控制电子门锁的开闭状态。
如果验证通过,则门锁开启,用户可以进入;否则门锁保持关闭。
设计方案1. 身份注册在首次使用电子密码锁之前,用户需要完成身份注册。
注册流程如下:•用户进入电子密码锁的注册模式,按照提示完成身份信息的录入。
•用户设置一个初始密码,并进行验证。
设计方案可以提供多种密码设置方式,例如数字密码、指纹等。
•注册完成后,用户的身份信息和密码将被存储在电子密码锁的存储设备中,以便后续的身份验证。
2. 身份验证用户通过输入密码进行身份验证。
验证流程如下:•用户进入电子密码锁的解锁模式,系统提示输入密码。
•用户输入密码,并进行验证。
•系统对用户输入的密码进行比对,如果验证通过,则开启门锁;否则提示密码错误。
智能密码锁设计智能密码锁设计第一章引言在现代社会中,人们对于家庭及财产安全的需求越来越高。
传统的机械锁往往存在一些不便和安全性低的问题,因此智能密码锁应运而生。
智能密码锁利用先进的技术手段,结合密码和电子芯片等元素,提供了更方便、更安全的门锁解决方案。
本文档将详细介绍智能密码锁的设计内容,包括硬件结构、软件算法、通讯协议等方面的细节。
通过阅读本文档,您将了解到智能密码锁的设计原理和实现方法。
第二章硬件设计1.主控芯片选择1.1 芯片A介绍1.2 芯片B介绍1.3 芯片选择依据2.电源模块设计2.1 电源模块参数要求2.2 选用电源模块的考虑因素3.锁体设计3.1 锁体结构设计3.2 锁舌设计3.3 锁体材料选择4.外壳设计4.1 外壳材料选择4.2 外壳结构设计4.3 外壳外观设计5.按键设计5.1 按键数量和布局5.2 按键材料选择5.3 按键接触处理第三章软件设计1.密码验证算法1.1 密码存储方式1.2 密码验证流程1.3 防止密码的安全措施2.电子钥匙算法2.1 电子钥匙流程2.2 电子钥匙保存和传输方式2.3 防止电子钥匙被复制的安全措施3.门锁状态监测算法3.1 门锁状态监测流程3.2 报警机制设计3.3 远程监控功能设计第四章通讯协议设计1.蓝牙通讯协议1.1 协议基本原理1.2 协议数据格式1.3 协议实现方法2.Wi-Fi通讯协议2.1 协议基本原理2.2 协议数据格式2.3 协议实现方法第五章附件本文档涉及的附件如下:________1.芯片规格书2.电源模块选型表3.锁体材料相关文献4.外壳CAD设计图5.按键数据表格6.密码验证算法代码7.通讯协议文档第六章法律名词及注释1.智能密码锁:________指利用密码及电子技术实现安全门锁功能的锁具。
2.主控芯片:________智能密码锁中的核心部件,负责控制整个锁的操作和功能。
3.电源模块:________提供电力供应给智能密码锁的模块,可以使用电池或者外部电源。
单片机电子密码锁设计一、设计背景随着科技的不断发展,传统的机械锁已经不能满足人们对于安全性和便捷性的需求。
电子密码锁具有保密性好、操作方便等优点,逐渐取代了传统机械锁。
单片机作为一种集成度高、功能强大的微控制器,为电子密码锁的设计提供了良好的硬件基础。
二、系统总体设计本电子密码锁系统主要由单片机控制模块、键盘输入模块、显示模块、存储模块和开锁控制模块等部分组成。
单片机控制模块是整个系统的核心,负责处理输入信息、控制各个模块的工作以及进行密码的验证和存储。
键盘输入模块用于用户输入密码,通常采用 4×4 矩阵键盘,可实现数字 0 9 以及确认、取消等功能按键的输入。
显示模块用于显示系统的相关信息,如输入的密码、提示信息等。
常见的显示方式有液晶显示屏(LCD)和数码管显示。
存储模块用于存储设置的密码,以便系统在断电后仍能保存密码信息。
EEPROM 存储器具有掉电不丢失数据的特点,适合用于密码存储。
开锁控制模块在密码验证通过后,控制电磁锁或电机等执行机构完成开锁动作。
三、硬件设计1、单片机选型选择一款合适的单片机是系统设计的关键。
常用的单片机有 51 系列、STM32 系列等。
51 系列单片机价格低廉、开发简单,适合本设计的需求。
2、键盘接口电路采用行列式扫描的方式实现 4×4 矩阵键盘的接口电路。
通过单片机的 I/O 口依次扫描行线和列线,判断按键的按下状态。
3、显示电路如果选择液晶显示屏(LCD),则需要通过单片机的并行接口或串行接口与 LCD 控制器进行通信,实现字符和图形的显示。
数码管显示则相对简单,通过单片机控制数码管的段选和位选信号即可。
4、存储电路EEPROM 存储器通过 I2C 总线与单片机连接,单片机通过发送特定的指令和数据来实现对 EEPROM 的读写操作。
5、开锁控制电路使用继电器或三极管驱动电磁锁或电机,单片机输出高电平或低电平来控制开锁电路的通断。
四、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机内部资源的初始化、显示模块的初始化、存储模块的初始化等。
千里之行,始于足下。
电子密码锁的电路设计电子密码锁是一种基于数字密码输入的锁,它利用电子电路技术实现了对锁的控制和解锁功能。
下面将介绍如何设计一个简单的电子密码锁电路。
整个电子密码锁电路设计主要包括以下几个部分:1. 数码键盘模块:用于输入密码的模块,一般采用矩阵键盘或单片机带有键盘的模块。
2. 输入密码存储模块:用于存储用户设置的密码,可以采用EEPROM、FLASH等非易失性存储器。
3. 控制逻辑模块:用于控制电子锁的解锁和上锁功能,可以采用CMOS逻辑门电路实现。
4. 驱动模块:用于驱动电子锁的解锁和上锁功能,可以采用继电器、场效应管等。
5. 电源供电模块:为整个电路提供稳定的电源,可以采用适配器、电池等。
下面将详细介绍每个模块的设计原理和具体实现方法:1. 数码键盘模块:常见的数码键盘有4x4或4x3结构,可以使用针对数码键盘的扫描编码技术,通过扫描按键状态来确定按键的值。
2. 输入密码存储模块:采用非易失性存储器,如EEPROM、FLASH等,可以在电源关闭后依然保存数据,这样可以避免用户密码丢失的情况。
第1页/共2页锲而不舍,金石可镂。
3. 控制逻辑模块:控制逻辑模块根据输入密码和已存储的密码进行比较,如果匹配则解锁,这里可以使用CMOS逻辑门电路实现比较功能,比如采用与门和非门组合。
4. 驱动模块:驱动模块用于控制电子锁的解锁和上锁功能,可以采用继电器、场效应管等。
当密码匹配正确时,驱动模块接通电子锁电路,实现解锁功能。
5. 电源供电模块:为整个电路提供稳定的电源,可以采用适配器、电池等,要保证电源电压稳定,并且能够支持电子锁的工作电压。
总结:电子密码锁电路的设计主要包括数码键盘模块、输入密码存储模块、控制逻辑模块、驱动模块和电源供电模块。
需要注意的是,电子密码锁电路的安全性非常重要,密码存储模块需要保护好,以防止密码泄露。
此外,为了增加密码的复杂度,可以加入密码长度和重试次数的限制等措施。
数字电路课程设计设计报告课题名称:密码锁设计成员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输入。
当多过输入端同时出现时,只对其中优先权最高的一个进行编码,这个编码就是我们要的对应的十进制数。
单片机课程设计密码锁设计在当今社会,安全问题越来越受到人们的重视,密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。
本次单片机课程设计的任务就是设计一款基于单片机的密码锁。
一、设计要求本次设计的密码锁需要具备以下功能:1、能够设置和修改 4 位数字密码。
2、输入密码正确时,锁打开,并有相应的指示灯提示。
3、输入密码错误时,有错误提示,且错误次数超过 3 次则报警。
4、具备密码重置功能。
二、系统方案设计1、硬件设计单片机选型:选择 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
输入模块:采用 4×4 矩阵键盘作为密码输入设备,可方便地输入数字和功能按键。
显示模块:选用 1602 液晶显示屏,用于显示密码输入状态、提示信息等。
存储模块:使用 EEPROM 芯片 AT24C02 来存储密码,以保证断电后密码不丢失。
报警模块:当密码输入错误次数超过 3 次时,通过蜂鸣器发出报警声音。
2、软件设计主程序:负责系统的初始化、键盘扫描、密码输入处理、密码验证、显示控制等。
键盘扫描程序:检测矩阵键盘上的按键动作,并将按键值返回给主程序。
密码处理程序:包括密码设置、修改、存储和验证等功能。
显示程序:控制 1602 液晶显示屏的显示内容。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振为单片机提供时钟信号,复位电路用于系统的初始化。
2、矩阵键盘电路由16 个按键组成 4×4 矩阵,通过行线和列线的扫描来确定按键值。
3、显示电路1602 液晶显示屏通过数据总线和控制总线与单片机相连,实现数据的传输和显示控制。
4、存储电路AT24C02 通过 I2C 总线与单片机进行通信,用于存储密码数据。
5、报警电路蜂鸣器通过三极管驱动,当单片机输出高电平时,蜂鸣器发声报警。
四、软件程序设计1、主程序流程系统初始化,包括单片机端口初始化、液晶显示屏初始化、EEPROM 初始化等。
电子密码锁设计方案电子密码锁是一种以电子技术为基础的智能门锁系统,它通过电子芯片和密码输入来实现对门锁的开启和关闭,具备高安全性和便捷性的特点。
下面是一种电子密码锁的设计方案。
1. 硬件设计:- 使用单片机作为控制核心,可选择常见的ARM、AVR等型号。
- 采用芯片级密码芯片,实现密码输入和验证的功能。
- 使用继电器或电子开关控制门锁的开启和关闭。
- 采用LCD显示屏或LED指示灯显示输入密码和开锁状态。
- 使用电池或电源适配器供电。
2. 软件设计:- 编写单片机的固件程序,实现密码输入、验证和开锁的逻辑。
- 设计密码管理系统,包括密码的设置和修改功能。
- 添加防撬警报系统,当门锁被非法破坏时触发报警。
- 支持远程控制,通过手机或电脑连接网络,实现远程开锁和密码管理的功能。
- 添加开锁日志记录,记录每次开锁的时间和密码,以便追踪和管理。
3. 安全性设计:- 使用多种加密算法对密码进行加密存储,防止密码泄露。
- 设计密码错误次数限制机制,连续输入错误密码达到一定次数后自动锁定一段时间。
- 采用物理隔离设计,防止针对针脚的攻击。
- 添加声音提示系统,当输入错误密码或开锁时间超过设定范围时发出警报,防止他人盗窃或篡改密码。
4. 用户友好性设计:- 设计人性化的界面,使用按键输入密码,并在显示屏或指示灯上显示输入的密码和开锁状态。
- 支持多种开锁方式,包括密码、指纹和刷卡等,方便用户选择。
- 提供密码保护功能,每次输入密码后自动清空密码,防止他人偷看。
- 支持语音提示功能,给予用户使用指导和提示。
以上是一种电子密码锁的设计方案,通过合理的硬件和软件设计,可以实现高安全性和便捷性的目标。
但需要注意,电子密码锁的设计和制造需要考虑到产品的稳定性、可靠性和成本等因素,并且还要充分测试和验证设计的各项功能。
电子密码锁设计1.实验任务根据设定好的密码,采用二个按键实现密码的输入功能,当密码输入正确之后,锁就打开,如果输入的三次的密码不正确,就锁定按键3秒钟,同时发现报警声,直到没有按键按下3种后,才打开按键锁定功能;否则在3秒钟内仍有按键按下,就重新锁定按键3秒时间并报警。
2.电路原理图3.系统板上硬件连线(1)把“单片机系统”区域中的P0.0/AD0用导线连接到“音频放大模块”区域中的SPK IN端子上;(2)把“音频放大模块”区域中的SPK OUT端子接喇叭和;(3)把“单片机系统”区域中的P2.0/A8-P2.7/A15用8芯排线连接到“四路静态数码显示”区域中的任一个ABCDEFGH端子上;(4)把“单片机系统“区域中的P1.0用导线连接到“八路发光二极管模块”区域中的L1端子上;(5)把“单片机系统”区域中的P3.6/WR、P3.7/RD用导线连接到“独立式键盘”区域中的SP1和SP2端子上;4.程序设计内容(1)密码的设定,在此程序中密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。
(2)密码的输入问题:由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。
在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。
进入密码的判断比较处理状态并给出相应的处理过程。
(3)按键禁止功能:初始化时,是允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态在3次密码输入不正确的情况下发生的。
5.体会与感悟关于单片机,我还是这学期才开始接触的,在这之前只是听过有种芯片叫单片机,但具体是什么样子,有哪些应用却是不太清楚。
原来,单片机就是一块在集成电路芯片上集成了一台有一定规模的微型计算机。
简称为:单片微型计算机或单片机。
单片机具有优异的性价比;集成度高、体积小、可靠性高;控制功能强;低电压、低功耗。
基于PLC的一种密码锁控制系统设计全文共四篇示例,供读者参考第一篇示例:基于PLC的一种密码锁控制系统设计一、引言本文将基于PLC的密码锁控制系统进行设计,通过对密码锁控制系统的功能需求分析、PLC的基本原理介绍、系统结构设计和具体实现方案的探讨,为密码锁控制系统的设计提供一种基于PLC的解决方案。
二、密码锁控制系统的功能需求分析密码锁控制系统主要实现以下功能:1.开锁功能:用户输入正确的密码后,密码锁可以自动开启门锁,实现进出门的功能。
2.密码管理功能:系统可以支持对密码进行增加、修改、删除等管理操作。
3.报警功能:当用户输入错误密码超过一定次数时,系统将会发出报警信号。
4.记录功能:系统可以记录用户的开锁记录,以便后期查询和管理。
5.远程控制功能:系统可以支持远程控制,用户可以通过手机APP等方式对密码锁进行控制。
三、PLC的基本原理介绍PLC是一种专门用于工业控制的可编程控制器,其基本工作原理是通过对输入信号的采集和处理来控制输出信号。
PLC的工作过程主要分为三个步骤:1.输入信号采集:PLC通过输入模块采集外部传感器、按钮等设备的信号,例如传感器检测门锁的开闭状态、键盘输入密码等。
2.程序运行:PLC根据预先编写的控制程序,对输入信号进行逻辑运算、计算等处理,并根据处理结果控制输出模块的工作状态。
3.输出信号控制:PLC通过输出模块控制执行器、电磁锁等设备的工作状态,从而实现对门锁的控制。
基于上述功能需求和PLC的基本原理,我们可以设计一种基于PLC的密码锁控制系统。
1.系统结构设计:密码锁控制系统由输入模块、PLC主控模块、输出模块和电磁锁等组成。
输入模块负责采集用户的密码输入和门锁状态等信号,通过PLC主控模块进行逻辑处理后,控制输出模块对电磁锁等设备进行控制。
2.控制程序设计:通过PLC编程软件编写控制程序,实现对密码输入的逻辑判断、报警信号的触发、开锁指令的输出等功能。
在编写控制程序时,需要考虑安全性、稳定性等因素,确保系统的可靠性和稳定性。
引言:智能密码锁是一种结合了传统锁具和现代科技的安全设备,其具备密码识别、指纹识别、人脸识别等多重身份验证方式,为用户提供安全便捷的门锁解决方案。
本文是《智能密码锁设计与开发》系列的第二篇,将详细介绍智能密码锁的设计与开发,包括硬件设计、软件开发以及系统集成等方面的内容。
概述:正文:一、锁体结构设计1.锁体结构的稳固性要求2.锁舌和锁芯的设计原理3.智能密码锁与传统锁具的差异4.锁体材料的选择与用途5.防水、防火等特殊环境下的设计考虑二、指纹识别模块集成1.指纹识别技术的原理与发展2.指纹采集与特征提取算法3.指纹数据库的管理与维护4.指纹识别模块与锁体的集成方法5.指纹识别模块的性能评估与优化三、密码验证算法实现1.基本密码验证算法的原理与实现2.密码安全性评估与提升3.动态密码验证算法的设计思路4.多因素身份验证的实现方法5.密码保护与安全存储技术四、用户管理系统开发1.用户管理系统的功能需求分析2.用户注册与身份验证流程设计3.用户权限和权限管理4.用户信息的存储与管理5.用户身份认证的维护与更新五、系统集成与功能测试1.不同模块间的通信与协作2.硬件与软件的接口设计3.功能测试用例的设计与执行4.性能评估与优化5.整体系统的稳定性与可靠性评估总结:智能密码锁的设计与开发是一个复杂而且涉及多个技术领域的过程。
通过良好的锁体结构设计、指纹识别模块集成、密码验证算法实现、用户管理系统开发以及系统集成与功能测试,可以实现智能密码锁的高效安全运行。
随着智能科技的不断发展,智能密码锁的设计与开发将会迎来更多的挑战和机遇,为用户提供更加安全便捷的门锁解决方案。
引言概述:智能密码锁是一种集合了先进技术和便利性的安全设备,旨在提供一种更加安全和便捷的方式来保护财产和个人隐私。
随着科技的不断发展,智能密码锁的设计和开发也在不断创新,以满足人们对更高安全水平和用户体验的需求。
本文将探讨智能密码锁的设计与开发过程,从硬件设计到软件开发的各个方面进行详细的阐述。
完整程序en bit p3.0;rw bit p3.1;rs bit p3.2;display equ p0;speaker bit P1.0;led bit P1.2;open bit P1.1;returnbit bit 20h.1;ORG 0000h;LJMP start;ORG 000bh;LJMP intermit_t0;ORG 001bh;LJMP intermit_t1;ORG 0030h;start:MOV sp,#60h;lcall sys_initialization;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;主程序main0: lcall strat_display;main:MOV 52h,#0; 52h判断输入错误次数储存地址setb led;setb tr0;lcall key;cjne a,#'A',next1;LJMP set_password;next1: cjne a,#'B',next2;LJMP input_password;next2: ajmp main;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;系统初始化sys_initialization:clr led;setb open;clr speaker;MOV 34h,#'1';MOV 35h,#'2';MOV 36h,#'3';MOV 37h,#'4';MOV 38h,#'5';MOV 39h,#'6';;存放初始密码MOV r7,#12;MOV r0,#40h;loop: MOV @r0,#10h;inc r0;djnz r7,loop;;密码键值存放区清零完毕lcall delay0_1s;MOV p0,#03h;call write_instruction; 液晶软复位MOV p0,#01h;call write_instruction;MOV p0,#3fh;call write_instruction;MOV p0,#0fh;call write_instruction;MOV p0,#06h;call write_instruction;;液晶初始化完毕MOV r4,#10;MOV tmod,#11h;MOV th0,#3ch;MOV tl0,#0b0h;setb ea;setb et0;;定时器T0,0.5S定时中断初始化完毕ret;;系统初始化完毕;;;;;;;;;;;;;;;;;;;;;;中断服务程序intermit_t0:push acc;push psw;MOV th0,#3ch;MOV tl0,#0b0h;djnz r4,return;cpl led;MOV r4,#10; return: pop psw;pop acc;reti;intermit_t1:push acc;push psw;MOV th1,#9eh;MOV tl1,#58h;djnz r4,return_t1;cpl led;cpl speaker;MOV r4,#10; return_t1:pop psw;pop acc;reti;;;;;;;;;;;;;;;;;;;;;;;;;;;;;键盘扫描key: call ks;jnz k1;jmp key;k1:call delay;call ks;jnz k2;jmp key;k2:clr tr0;clr led;MOV r2,#0feh;MOV r6,#00h;k3: MOV a,r2;MOV p2,a;MOV a,p2;jb acc.4,l1;MOV a,#0;LJMP lk;l1: jb acc.5,l2;MOV a,#4;LJMP lk;l2: jb acc.6,l3;MOV a,#8;LJMP lk;l3: jb acc.7,next_key;MOV a,#12;lk: add a,r6;MOV r6,a;k4: call ks;jnz k4;MOV a,r6;MOV dptr,#table0;MOVc a,@a+dptr;MOV 50h,a; 查表取值存入50h,保护键值ret;next_key: inc r6;MOV a,r2;jnb acc.7,key;rl a;MOV r2,a;jmp k3;;;;;;;;;;;;;;;;;;;;;;;;;;;ks: MOV p2,#0f0h;MOV a,p2;xrl a,#0f0h;ret;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;设置密码程序set_password:call clear_display;MOV dptr,#table4;call input_hint;MOV r0,#40h;call password;jbc returnbit,set_password;;先输入原密码完毕MOV r5,#6;MOV r0,#40h;MOV r1,#34h;input_compere:MOV a,@r0;xrl a,@r1;jnz input_error;inc r0;inc r1;nop;nop;djnz r5,input_compere;;验证输入密码完毕jmp set_password0;input_error:setb speaker;setb led;call clear_display;MOV dptr,#table5;call input_hint;call delay1_5s;clr speaker;clr led;inc 52h;MOV a,52h;cjne a,#3,set_password;sjmp $;;输入密码错误次数超过3次,锁死set_password0:call clear_display;MOV dptr,#table2;call input_hint;MOV r0,#40h;call password;jbc returnbit,set_password;;第一次输入新密码完毕call clear_display;MOV dptr,#table3;call input_hint;call delay1_5s;;显示再次输入新密码完毕call clear_display;MOV dptr,#table4;call input_hint;MOV r0,#46h;call password;jbc returnbit,set_password;;第二次输入新密码完毕MOV r5,#6;MOV r0,#40h;MOV r1,#46h;set_compere:MOV a,@r0;xrl a,@r1;jnz set_error;inc r0;inc r1;djnz r5,set_compere;MOV 34h,40h;MOV 35h,41h;MOV 36h,42h;MOV 37h,43h;MOV 38h,44h;MOV 39h,45h;;存入新密码完毕jmp main0;;设置新密码成功,返回主程序set_error:setb speaker;setb led;call clear_display;MOV dptr,#table5;call input_hint;call delay1_5s;clr speaker;clr led;LJMP set_password0;;前后两次输入新密码不一致,返回重设;;;;;;;;;;;;;;;;;;输入密码开锁程序input_password:call clear_display;MOV dptr,#table4;call input_hint;MOV r0,#40h;call password;jbc returnbit,input_password;;输入原密码完毕MOV r5,#6;MOV r0,#40h;MOV r1,#34h;input_compere0:MOV a,@r0;xrl a,@r1;jnz input_error22;inc r0;inc r1;nop;nop;djnz r5,input_compere0;;验证输入密码完毕jmp display_right;input_error22:setb speaker;setb led;call clear_display;MOV dptr,#table5;call input_hint;call delay1_5s;clr speaker;clr led;inc 52h;MOV a,52h;cjne a,#3,input_password;sjmp $;;输入密码错误超过3次,锁死display_right:call clear_display;MOV dptr,#table6;call input_hint; 显示输入密码正确提示完毕setb open; 开锁next_key1:call key;nop;nop;cjne a,#'F',next_key1;clr open; 按下关锁键,关锁jmp main0; 返回主程序;;;;;;;;;;;;;;;;;;;;;;;;strat_display:MOV p0,#80h;call write_instruction;MOV dptr,#table1;call input_hint;MOV p0,#0c0h;call write_instruction;MOV dptr,#table11;call input_hint;ret;clear_display:MOV display,#01h;call write_instruction;MOV p0,#06h;call write_instruction;ret;input_hint:MOV r5,#16;MOV a,#00h;all_or_not:MOVc a,@a+dptr;MOV display,a;call writedata;inc dptr;clr a;nop;nop;djnz r5,all_or_not;ret;password:MOV r5,#6;MOV r1,#0c0h;MOV a,r1;MOV p0,a;call write_instruction; loop1: call key;nop;nop;cjne a,#'C',next_to;setb returnbit;jmp endt;next_to:MOV a,50h;MOV @r0,a;MOV display,#'*';a;call writedata;inc r1;inc r0;djnz r5,loop1; endt: ret;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;写数据指令writedata: SETB rs;CLR rw;clr en;setb en;nop;nop;clr en;call delay;ret; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;写指令write_instruction:CLR rs;CLR rw;clr en;setb en;nop;nop;clr en;call delay;ret;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;延时程序delay1_5s: push 07h;push 02h;push 03h;MOV r7,#15; del22s: MOV r3,#0;del11s: MOV r2,#0;djnz r2,$;djnz r3,del11s;djnz r7,del22s;pop 03h;pop 02h;pop 07h;ret;delay0_1s: push 02h;push 03h;MOV r3,#0;del21s: MOV r2,#0;nop;nop;djnz r2,$;djnz r3,del21s;pop 03h;pop 02h;ret;delay: push 07h;push 06h;MOV r7,#10;d1: MOV r6,#248;nopnopdjnz r6,$;djnz r7,d1;pop 06h;pop 07h;ret;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;table0: db 'C','B','0','A';db 'D','9','8','7';db 'E','6','5','4';db 'F','3','2','1';table1: db 'PASSWORD: A gmi'; table11: db ' B kai'; table2: db 'SET PASSWORD: '; table3: db 'INPUT AGAIN! '; table4: db 'INPUT PASSWROD: '; table5: db 'PASSWORD ERROR! '; table6: db 'PASSWORD RIGHT! '; ;;;;;;;;;;;;;;;;;;;;;;;;;;End电路图设计。