电子密码锁设计

合集下载

电子密码锁设计方案

电子密码锁设计方案

电子密码锁设计方案背景介绍随着科技的不断进步和人们安全意识的增强,电子密码锁越来越受到人们的关注和喜爱。

电子密码锁通过使用密码或其他身份验证方式,代替传统的钥匙,提供了更高的安全性和便利性。

本文将详细介绍电子密码锁的设计方案。

设计目标电子密码锁设计方案的目标是满足以下需求:1.高安全性:保护用户的财产和隐私信息不受到未授权的访问。

2.方便使用:提供便捷的密码输入方式,并且易于管理和维护。

3.灵活可扩展:支持多种密码输入方式,以适应不同用户的需求。

设计原理电子密码锁的设计基于以下原理:1.用户身份验证:用户需要提供正确的密码才能解锁。

可以使用数字密码、指纹、声音等多种身份验证方式。

2.加密算法:为了确保密码的安全性,设计一个强大的加密算法对用户的密码进行保护。

3.门锁控制:根据用户身份验证的结果,控制电子门锁的开闭状态。

设计流程电子密码锁的设计流程包括:1.用户身份注册:用户首次使用电子密码锁时,需要进行身份注册。

注册过程中,用户需要提供相关身份信息,并设置一个密码。

2.身份验证:用户在解锁电子密码锁时,需要输入正确的密码进行身份验证。

系统将对输入的密码进行比对,如果验证通过,则开启门锁。

3.控制门锁:根据用户的身份验证结果,控制电子门锁的开闭状态。

如果验证通过,则门锁开启,用户可以进入;否则门锁保持关闭。

设计方案1. 身份注册在首次使用电子密码锁之前,用户需要完成身份注册。

注册流程如下:•用户进入电子密码锁的注册模式,按照提示完成身份信息的录入。

•用户设置一个初始密码,并进行验证。

设计方案可以提供多种密码设置方式,例如数字密码、指纹等。

•注册完成后,用户的身份信息和密码将被存储在电子密码锁的存储设备中,以便后续的身份验证。

2. 身份验证用户通过输入密码进行身份验证。

验证流程如下:•用户进入电子密码锁的解锁模式,系统提示输入密码。

•用户输入密码,并进行验证。

•系统对用户输入的密码进行比对,如果验证通过,则开启门锁;否则提示密码错误。

电子密码锁的电路设计

电子密码锁的电路设计

千里之行,始于足下。

电子密码锁的电路设计电子密码锁是一种基于数字密码输入的锁,它利用电子电路技术实现了对锁的控制和解锁功能。

下面将介绍如何设计一个简单的电子密码锁电路。

整个电子密码锁电路设计主要包括以下几个部分:1. 数码键盘模块:用于输入密码的模块,一般采用矩阵键盘或单片机带有键盘的模块。

2. 输入密码存储模块:用于存储用户设置的密码,可以采用EEPROM、FLASH等非易失性存储器。

3. 控制逻辑模块:用于控制电子锁的解锁和上锁功能,可以采用CMOS逻辑门电路实现。

4. 驱动模块:用于驱动电子锁的解锁和上锁功能,可以采用继电器、场效应管等。

5. 电源供电模块:为整个电路提供稳定的电源,可以采用适配器、电池等。

下面将详细介绍每个模块的设计原理和具体实现方法:1. 数码键盘模块:常见的数码键盘有4x4或4x3结构,可以使用针对数码键盘的扫描编码技术,通过扫描按键状态来确定按键的值。

2. 输入密码存储模块:采用非易失性存储器,如EEPROM、FLASH等,可以在电源关闭后依然保存数据,这样可以避免用户密码丢失的情况。

第1页/共2页锲而不舍,金石可镂。

3. 控制逻辑模块:控制逻辑模块根据输入密码和已存储的密码进行比较,如果匹配则解锁,这里可以使用CMOS逻辑门电路实现比较功能,比如采用与门和非门组合。

4. 驱动模块:驱动模块用于控制电子锁的解锁和上锁功能,可以采用继电器、场效应管等。

当密码匹配正确时,驱动模块接通电子锁电路,实现解锁功能。

5. 电源供电模块:为整个电路提供稳定的电源,可以采用适配器、电池等,要保证电源电压稳定,并且能够支持电子锁的工作电压。

总结:电子密码锁电路的设计主要包括数码键盘模块、输入密码存储模块、控制逻辑模块、驱动模块和电源供电模块。

需要注意的是,电子密码锁电路的安全性非常重要,密码存储模块需要保护好,以防止密码泄露。

此外,为了增加密码的复杂度,可以加入密码长度和重试次数的限制等措施。

电子密码锁设计课程设计

电子密码锁设计课程设计

电子密码锁设计课程设计电子密码锁的设计与实现一、引言随着科技的发展和人们生活水平的提高,电子密码锁在日常生活和工业生产中的应用越来越广泛。

电子密码锁是一种通过密码输入来控制机械锁的开启的设备,具有安全、方便、耐用等优点。

本课程设计旨在让我们了解和掌握电子密码锁的设计原理和实现方法。

二、系统组成和工作原理电子密码锁主要由密码输入模块、控制模块和机械锁机构三部分组成。

1.密码输入模块:用户通过键盘输入密码,键盘将输入的密码转换成电信号,传输给控制模块。

2.控制模块:控制模块是电子密码锁的核心部分,它主要包括CPU、存储器和输入/输出接口等。

CPU接收来自键盘的电信号,并将其存储在存储器中。

当输入的密码与存储器中的密码匹配时,CPU控制机械锁机构开启。

3.机械锁机构:机械锁机构包括锁体、锁芯和电机等部件。

当控制模块接收到正确的密码后,电机运转带动锁芯转动,从而打开锁体。

三、系统硬件设计1.密码输入模块:采用矩阵键盘作为输入设备,可以输入数字、字母等密码。

2.控制模块:采用Arduino UNO板作为主控器,具有丰富的输入输出接口和强大的编程能力。

3.机械锁机构:采用电动式锁芯和电机,通过控制电机的正反转来实现锁体的开关。

四、系统软件设计1.密码存储:将正确的密码存储在Arduino板的EEPROM中,掉电后数据不会丢失。

2.密码匹配:当用户输入密码后,程序将输入的密码与存储器中的密码进行比较,如果匹配则控制电机运转开启锁体。

3.报警功能:如果输入密码错误次数超过设定值,程序将启动报警装置发出警报。

五、系统调试与优化1.硬件调试:检查电路连接是否正确,确保电源稳定可靠,各模块之间通信正常。

2.软件调试:通过串口输出调试信息,检查程序运行是否正确,密码匹配是否准确。

3.优化设计:针对硬件资源和性能进行优化,如采用更小的元件、降低功耗等;针对用户体验进行优化,如增加语音提示、优化操作流程等。

六、结论与展望通过本次课程设计,我们深入了解了电子密码锁的设计原理和实现方法。

基于单片机电子密码锁设计论文

基于单片机电子密码锁设计论文

第1节引言1.1 电子密码锁概述随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。

而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。

传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。

另外,如:宾馆、办公大楼、仓库、保险柜等,由于装修施工等人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。

随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。

从而使密码锁具有很高的安全性、可靠性。

目前西方发达国家已经大量应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。

但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的体现。

很多行业的许多地方都要用到密码锁,随着人们生活水平的提高,如何实现家庭或公司的防盗这一问题也变的尤其突出,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,再者,普通密码锁的密码容易被多次试探而破译,所以,考虑到单片机的优越性,一种基于单片机的电子密码锁应运而生。

电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲睐。

设计本课题时构思的方案:采用以AT89C2051为核心的单片机控制方案;能防止多次试探而不被破译,从而有效地克服了现实生活中存在的许多缺点。

1.2 本设计主要任务(1)共8位密码,每位的取值范围为1~8。

(2)用户可以自行设定和修改密码。

(3)按每个密码键时都有声、光提示。

(4)若键入的8位开锁密码不完全正确,则报警5秒钟,以提醒他人注意。

(5)开锁密码错3次要报警10分钟,报警期间输入密码无效,以防窃贼多次试探密码。

(6)键入的8位开锁密码完全正确才能开锁,开锁时要有1秒的提示音。

(7)密码键盘上只允许有8个密码按键和1个发光管。

multisim电子密码锁课程设计

multisim电子密码锁课程设计

multisim电子密码锁课程设计一、课程目标知识目标:1. 学生能够理解电子密码锁的基本原理,掌握Multisim软件中相关电路设计与仿真操作;2. 学生能够描述数字电路的基础知识,包括逻辑门、触发器等,并运用到电子密码锁的设计中;3. 学生能够掌握电子密码锁的电路组成及其功能,理解各部分电路模块的工作原理。

技能目标:1. 学生能够运用Multisim软件设计简单的电子密码锁电路,并进行功能仿真;2. 学生通过实践操作,提高动手能力,培养问题发现与解决能力;3. 学生能够通过小组合作,提高沟通协调能力,培养团队协作精神。

情感态度价值观目标:1. 学生在学习过程中,培养对电子技术的兴趣,激发创新意识;2. 学生能够认识到电子技术在生活中的应用,增强学以致用的意识;3. 学生通过课程学习,培养严谨的科学态度和良好的学习习惯。

分析课程性质、学生特点和教学要求,本课程旨在使学生在掌握电子密码锁相关知识的基础上,提高实际操作能力和团队合作能力,培养对电子技术的热爱,为后续相关课程的学习打下坚实基础。

通过具体的学习成果分解,教师可进行针对性的教学设计和评估,确保课程目标的实现。

二、教学内容根据课程目标,教学内容主要包括以下几部分:1. 数字电路基础知识回顾:逻辑门、触发器、计数器等基本概念和工作原理。

- 教材章节:第五章 数字电路基础2. 电子密码锁原理介绍:密码锁的工作原理、电路组成及其功能。

- 教材章节:第七章 数字电路应用实例3. Multisim软件操作与仿真:Multisim软件的基本操作、电路设计与仿真步骤。

- 教材章节:第十章 电子设计自动化(EDA)工具4. 电子密码锁电路设计:运用Multisim软件设计电子密码锁电路,包括输入模块、处理模块、输出模块等。

- 教材章节:第七章 数字电路应用实例、第十章 电子设计自动化(EDA)工具5. 电路功能仿真与调试:对设计的电子密码锁电路进行功能仿真,分析并解决可能出现的问题。

电子行业电子密码锁的电路设计

电子行业电子密码锁的电路设计

电子行业电子密码锁的电路设计一、引言电子密码锁是一种常见的应用于安全领域的电子设备,它通过输入正确的密码来解锁,并可以提供对门锁的电源控制。

本文将详细介绍电子行业电子密码锁的电路设计方案。

二、电子密码锁的工作原理电子密码锁的工作原理主要包括输入模块、控制模块、驱动模块和电源模块。

其中,输入模块用于接收用户输入的密码,控制模块对输入密码进行验证,驱动模块用于控制门锁的开关,电源模块为整个电子密码锁提供电能。

三、电路设计要点1. 输入模块输入模块一般采用键盘进行密码输入,常见的键盘有矩阵键盘和薄膜键盘。

在设计过程中需要考虑键盘的防护性能、抗干扰能力和稳定性等因素。

2. 控制模块控制模块是电子密码锁的核心部分,其功能主要是对用户输入的密码进行验证,并根据验证结果控制门锁的开关。

在控制模块设计中,需要考虑密码验证算法的安全性和可靠性,同时还需要考虑对密码位数和错误次数的限制。

3. 驱动模块驱动模块用于控制门锁的开关,一般通过继电器或者功率场效应管来实现。

在驱动模块设计中,需要考虑门锁的电流和电压需求,以及门锁锁芯的安全性能。

4. 电源模块电源模块为整个电子密码锁提供稳定的电能。

一般可以采用直流电源或者电池供电。

在电源模块设计中,需要考虑电源的容量、电源的续航时间和对电池充电的保护等因素。

四、电子密码锁的电路设计示例1. 输入模块设计以矩阵键盘为例,采用4行4列的键盘布局。

键盘的输出通过独立按键接口连接到控制模块,以实现对按键的读取。

// 键盘输入模块的C代码示例#include <stdio.h>#define KEY_ROWS 4#define KEY_COLS 4char keymap[KEY_ROWS][KEY_COLS] = { {'1', '2', '3', 'A'},{'4', '5', '6', 'B'},{'7', '8', '9', 'C'},{'*', '0', '#', 'D'}};char getKeyPressed() {int row, col;char key = 0;// 通过扫描矩阵键盘获取按键// 省略具体实现细节return key;}2. 控制模块设计控制模块采用微控制器进行实现,常见的微控制器有STM32、Arduino等。

简易电子密码锁课程设计

简易电子密码锁课程设计

简易电子密码锁课程设计一、课程目标知识目标:1. 学生能理解电子密码锁的基本原理,掌握其组成结构和功能。

2. 学生能掌握二进制计数原理及其在电子密码锁中的应用。

3. 学生能了解简易电子密码锁的电路设计与搭建。

技能目标:1. 学生能够运用所学知识,设计并搭建一个简易的电子密码锁。

2. 学生能够运用二进制计数原理,进行密码的组合与破解。

3. 学生能够通过实际操作,培养动手能力和团队协作能力。

情感态度价值观目标:1. 学生能够培养对电子技术的兴趣,激发创新意识和探索精神。

2. 学生能够认识到科技在生活中的应用,提高对科学技术的重视程度。

3. 学生能够在团队协作中,培养沟通能力、责任感和合作精神。

课程性质:本课程为实践性课程,结合电子技术与实际操作,培养学生动手实践能力和创新能力。

学生特点:六年级学生对电子技术有一定的基础,具备初步的动手能力和探究精神。

教学要求:教师应注重理论与实践相结合,引导学生通过实际操作,掌握电子密码锁的相关知识,提高学生的实践能力和创新能力。

在教学过程中,关注学生的个体差异,鼓励学生积极参与,培养团队合作精神。

通过课程目标的分解,使学生在学习过程中达到预期的学习成果。

二、教学内容1. 电子密码锁原理:介绍电子密码锁的基本原理,包括密码的设置与识别、锁的开关控制等。

- 相关教材章节:第四章第二节《电子锁的原理与应用》2. 二进制计数原理:讲解二进制计数的基本方法,及其在电子密码锁中的应用。

- 相关教材章节:第三章《数字逻辑电路基础》3. 简易电子密码锁设计与搭建:a. 设计原理:介绍简易电子密码锁的设计原理,包括电路图绘制、元器件选择等。

- 相关教材章节:第五章《数字电路设计与实践》b. 搭建过程:指导学生进行实际操作,搭建简易电子密码锁。

- 相关教材章节:第五章《数字电路设计与实践》4. 密码组合与破解:教授二进制密码的组合方法,引导学生进行密码破解实践。

- 相关教材章节:第六章《数字电路应用实例》教学进度安排:第一课时:电子密码锁原理与二进制计数原理学习。

fpga电子密码锁课程设计

fpga电子密码锁课程设计

fpga电子密码锁课程设计一、课程目标知识目标:1. 学生能理解FPGA的基本原理和电子密码锁的工作机制;2. 学生能掌握使用硬件描述语言(HDL)进行数字电路设计和实现的方法;3. 学生能了解数字电路中常见的加密算法,并运用到电子密码锁的设计中;4. 学生能分析并解决电子密码锁在实际应用中可能遇到的问题。

技能目标:1. 学生能运用所学知识,设计并实现一个基于FPGA的电子密码锁;2. 学生能熟练使用相关硬件描述语言和开发工具,完成电子密码锁的编程与调试;3. 学生能通过实际操作,提高动手能力和团队协作能力;4. 学生能通过课程项目,培养创新思维和问题解决能力。

情感态度价值观目标:1. 学生能够认识到科技对社会和生活的重要性,增强学习科技的兴趣和责任感;2. 学生能够在课程学习中,培养勇于探索、积极进取的精神;3. 学生能够通过团队协作,学会互相尊重、沟通与协作,培养良好的团队精神;4. 学生能够关注电子密码锁在安全领域的应用,提高对国家和社会安全的意识。

二、教学内容1. 数字电路基础:回顾数字电路的基本概念,重点掌握组合逻辑电路和时序逻辑电路的设计原理;教材章节:第一章 数字逻辑基础2. FPGA原理与应用:介绍FPGA的基本结构、工作原理以及编程方法;教材章节:第二章 可编程逻辑器件及其编程技术3. 硬件描述语言(HDL):学习硬件描述语言的基本语法和编程技巧;教材章节:第三章 硬件描述语言VHDL/Verilog基础4. 加密算法:讲解常见的加密算法,如AES、DES等,分析其原理和实现方法;教材章节:第四章 数字信号处理与加密算法5. 电子密码锁设计与实现:结合所学知识,设计并实现一个基于FPGA的电子密码锁;教材章节:第五章 数字系统设计实例分析与综合6. 课程项目与实践:以小组形式进行项目实践,完成电子密码锁的设计、编程、调试和测试;教材章节:第六章 数字系统项目实践教学内容安排和进度:第1周:数字电路基础复习第2周:FPGA原理与应用学习第3-4周:硬件描述语言学习第5周:加密算法学习第6-8周:电子密码锁设计与实现第9-10周:课程项目与实践,成果展示与评价。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
int key(void)
{
int KeyVal=0;
//u16 WriteVal=0;
GPIO_Write(GPIOA,(GPIOA->ODR&0xfff0|0xf)); if((GPIOA->IDR&0x00f0)==0x0000)
(1)键盘扫描子程序如下:
#ifndef _KEY_H
#define _KEY_H
#include "stm32f10x.h"
void Delay(__IO uint32_t nCount);
int key(void);
#endif
#include "stm32f10x.h"
#include "key.h"
{
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)//简单的延时函数
《嵌入式系统》课程设计报告
题 目
院 系:机电学院
学生姓名:任
专 业:
班 级:1 1 1
指导教师:
完成时间:2014-10-17
3 软件设计
摘要:随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。
N=0(读或写一个字符后地址指针减1 &光标减1),
S=1 且 N=1 (当写一个字符后,整屏显示左移)
s=0 当写一个字符后,整屏显示不移动
数据指针设置:
数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)
其他设置:
01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。
case 0x0020: KeyVal=11; break;
case 0x0040: KeyVal=7; break;
case 0x0080: KeyVal=3; break;
}
GPIO_Write(GPIOA,(GPIOA->ODR&0xfff0|0x2));
switch(GPIOA->IDR & 0x00f0)
主要的设计实施过程:首先,选购电子元器件。第二步,使用 DXP 设计硬件电路原理图,并设计 PCB图完成人工布线。第三步,使用 Keil uVision4 软件编写C 语言程序、仿真、软件调试。第四步,使用 PROTEUS 软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:
(1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。
(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。
回顾起此次ARM课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对汇编语言掌握得不好,通过这次课程设计之后,一定把以前所学过的知识重新温故。
void InitKey(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
图1.2 stm32控制方案
通过比较以上两种方案stm32有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。
初步设计思路如下:
基于以上思路,本次设计使用stm32设计,其主要具有如下功能:
密码通过键盘输入,若密码正确,则将锁打开。
关键词:4×4矩阵键盘;stm32;密码锁;LCD1602
1 系统总体方案设计
1.1采用数字电路控制
其原理方框图如图1-1所示。
图1.1 数字密码锁电路方案
密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、键盘输入次数锁定电路。
1.2 采用一种是用以stm32为核心的控制方案
利用其灵活的编程设计及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图1.2所示。
{
for(; nCount != 0; nCount--);
}
(2)密码比较
密码比较流程图如4.2.3
图3.1 密码比较和报警流程
4 系统调试
本次调试采用Protues软件仿真。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件经过仿真调试。依次按下1,2,3,4,5,6后,LCD显示如图4.1
3.3.1 接口信号说明 1602型LCD的接口信号说明如表3-3所示: 表3-3 1602型LCD的接口信号说明
⑵管脚功能
1602采用标准的16脚接口,其中:
第1脚:VSS为电源地
第2脚:VCC接5V电源正极
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
欲重新设定密码,先输入密码在案“*”。
输入密码,再按“D”键。若密码与设定密码相同,则开门。否则显示器清为“000000”。
软件的设计主要包括键盘键值的读取,LCD显示程序,密码比较程序。
2 硬件电路设计
2.1 键盘电路设计
使用矩阵键盘,所以本设计就采用行列式键盘。其原理如图2.1
图2.1 矩阵键盘
指令集
1602通过D0~D7的8位数据端传输数据和指令。
显示模式设置: (初始化)
0011 0000 [0x38] 设置16×2显示,5×7点阵,8位数据接口;
显示开关及光标设置: (初始化)
0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)
0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1),
{
case 0x0010: KeyVal=14; break;
case 0x0020: KeyVal=10; break;
case 0x0040: KeyVal=6; break;
case 0x0080: KeyVal=2; break;
}
GPIO_Write(GPIOA,(GPIOA->ODR&0xfff0|0x4));
密码的设定,假设预设的密码为"123456"共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_Init(GPIOA,&GPIO_InitStructure);
图2.2 1602显示电路
2.3
在本次设计中,基于节省材料的原则,暂时用发光二极管代替,发光管亮,表示开锁;灭,表示没有开锁。电路图如3.3所示。当P2.0口输出低电平时,二极管发光,表示开锁。
图2.3 响应电路
3 软件设计
3.1软件设计思路
电子密码锁工作的主要过程是LCD显示器提示开始输入密码,通过键盘输入密码,同时LCD显示密码输入情况,按下确认键后判断密码的正确性,作出开锁处理。
(3)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。
相关文档
最新文档