电子密码锁的设计与实现
单片机电子密码锁设计
单片机电子密码锁设计一、设计背景随着科技的不断发展,传统的机械锁已经不能满足人们对于安全性和便捷性的需求。
电子密码锁具有保密性好、操作方便等优点,逐渐取代了传统机械锁。
单片机作为一种集成度高、功能强大的微控制器,为电子密码锁的设计提供了良好的硬件基础。
二、系统总体设计本电子密码锁系统主要由单片机控制模块、键盘输入模块、显示模块、存储模块和开锁控制模块等部分组成。
单片机控制模块是整个系统的核心,负责处理输入信息、控制各个模块的工作以及进行密码的验证和存储。
键盘输入模块用于用户输入密码,通常采用 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)数码清除:按下此键可清除前面所有的输入值,清除成为“0000”。
(3)密码更改:按下此键时会将目前的数字设定成新的密码。
(4)激活电锁:按下此键可将密码锁上锁。
(5)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。
二、设计原理1、接口设计根据系统功能,具体输入输出接口设计如图3-7-1所示。
LockKEYIN[11..0]ENLOCKCLKLED_DATA[15..0]RST图3-7-1电子密码锁输入输出接口图输入信号:CLK是1KHz的时钟信号,KEYIN[11..0]是模拟键盘输入信号,RST是清零输入信号。
输出信号:ENLOCK是上锁指示灯(点亮代表已上锁)。
LED_DATA[15..0]是密码显示输出,直接接在七段数码管上显示。
2、系统构成通用电子密码锁一般由三个部分组成:数字密码输入部分、密码锁控制部分和密码锁显示部分。
数字密码输入部分一般用键盘加防抖动电路和键盘译码电路组成。
这里结合SE-3实验箱,采用十二路开关来模拟0~9十个数字和加锁按钮、解锁按钮。
输入部分由输入译编码器组成,用四位信号来模拟十二个数字信号。
密码锁控制部分包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路,密码核对,解锁电路等。
该部分由加/解锁和密码输入两个进程组成。
密码锁显示模块由七段数码管译码器组成,将要显示的BCD码转换为数码管的七段显示码。
系统总体结构框图如图3-7-2所示。
图3-7-2电子密码器结构图3、VHDL参考程序如下:(1)密码输入电路:KEYBOARD.VHD--KEYBOARD.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYKEYBOARDISPORT(CLK:INSTD_LOGIC;KEYIN:INSTD_LOGIC_VECTOR(11DOWNTO0);DA TA_N:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DA TA_F:OUTSTD_LOGIC_VECTOR(3DOWNTO0);FLAG_N:OUTSTD_LOGIC);ENDENTITYKEYBOARD; ARCHITECTUREARTOFKEYBOARDISSIGNALN,F:STD_LOGIC_VECTOR(3DOWNTO0); SIGNALFN:STD_LOGIC;BEGINDA TA_N<=N;DA TA_F<=F;FLAG_N<=FN;PROCESS(CLK,KEYIN)BEGINIFCLK'EVENTANDCLK='1'THENCASEKEYINISWHEN"100000000000"=>N<="0000";--0 WHEN"010*********"=>N<="0001";--1 WHEN"001000000000"=>N<="0010";--2 WHEN"000100000000"=>N<="0011";--3 WHEN"000010000000"=>N<="0100"; --4 WHEN"000001000000"=>N<="0101";--5 WHEN"000000100000"=>N<="0110";--6 WHEN"000000010000"=>N<="0111";--7 WHEN"000000001000"=>N<="1000";--8 WHEN"000000000100"=>N<="1001";--9 WHENOTHERS=>N<="1111";ENDCASE;ENDIF;IFCLK'EVENTANDCLK='1'THENCASEKEYINIS WHEN"000000000010"=>F<="1010";--*LOCK WHEN"000000000001"=>F<="0101";--#_UNLOCK WHENOTHERS=>F<="0000";ENDCASE;ENDIF;ENDPROCESS;FN<=NOT(N(3)ANDN(2)ANDN(1)ANDN(0)); ENDARCHITECTUREART;(2)密码锁控制电路:CTRL.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL; ENTITYCTRLISPORT(DATA_N:INSTD_LOGIC_VECTOR(3DOWNTO0); DA TA_F:INSTD_LOGIC_VECTOR(3DOWNTO0);FLAG_N:INSTD_LOGIC;CLK:INSTD_LOGIC;RST:INSTD_LOGIC;ENLOCK:OUTSTD_LOGIC;DA TA_BCD:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDENTITYCTRL; ARCHITECTUREARTOFCTRLiSSIGNALACC,REG:STD_LOGIC_VECTOR(15DOWNTO0); SIGNALNC:STD_LOGIC_VECTOR(2DOWNTO0); SIGNALQA,QB:STD_LOGIC;BEGINPROCESS(FLAG_N,RST)ISBEGINIFRST='1'THENACC<="0000000000000000";NC<="000";ELSEIFFLAG_N'EVENTANDFLAG_N='1'THENIFNC<4THENACC<=ACC(11DOWNTO0)&DA TA_N;NC<=NC+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK,DATA_F,NC)ISBEGINIF(CLK'EVENTANDCLK='1')THENIFNC=4THENIF(DATA_F="1010")THENREG<=ACC;QA<='1';QB<='0';ELSIF(DATA_F="0101")THENIFREG=ACCORACC="1000100010001000"THENQA<='0';QB<='1';ENDIF;ENDIF;ENDIF;ENDIF;ENDPROCESS;ENLOCK<=QAANDNOTQB;DA TA_BCD<=ACC;ENDARCHITECTUREART;(3)总程序:LOCK.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYLOCKISPORT(CLK:INSTD_LOGIC;KEYIN:INSTD_LOGIC_VECTOR(11DOWNTO0);RST:INSTD_LOGIC;ENLOCK:OUTSTD_LOGIC;DA TA_BCD:OUTSTD_LOGIC_VECTOR(15DOWNTO0));END;ARCHITECTUREXOFLOCKISCOMPONENTKEYBOARDISPORT(CLK:INSTD_LOGIC;KEYIN:INSTD_LOGIC_VECTOR(11DOWNTO0);DA TA_N:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DA TA_F:OUTSTD_LOGIC_VECTOR(3DOWNTO0);FLAG_N:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTCTRLISPORT(DATA_N:INSTD_LOGIC_VECTOR(3DOWNTO0);DA TA_F:INSTD_LOGIC_VECTOR(3DOWNTO0);FLAG_N:INSTD_LOGIC;CLK:INSTD_LOGIC;ENLOCK:OUTSTD_LOGIC;RST:INSTD_LOGIC;DA TA_BCD:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDCOMPONENT;SIGNALDAT_N,DAT_F:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALFLA_N:STD_LOGIC;BEGINU1:KEYBOARDPORTMAP(CLK,KEYIN,DAT_N,DA T_F,FLA_N);U2:CTRLPORTMAP(DAT_N,DA T_F,FLA_N,CLK,ENLOCK,RST,DATA_BCD);END;三、设计说明与建议1.用SE-3实验箱上的按键S1~SC作为输入信号,具体引脚分配建议:数字键KEYIN2~KEYIN11(36~41、45~48)、解锁键KEYIN0(34)、加锁键KEYIN1(35)、复位键(49)、时钟输入脚CLK(20)。
电子密码锁的设计、仿真及实验
课题一电子密码锁设计、仿真与实验学习目标:学会采用由SSI、MSI器件构建电子密码锁电路,掌握组合逻辑电路的一般设计方法;学会利用EDA软件(Proteus)对电子密码锁电路进行仿真;掌握电子密码锁电路的安装及调试方法。
一、任务与要求设计由编码器、集成逻辑门电路、声光报警指示电路构成的密码锁电路,研究门电路的接口与驱动技术、学习组合逻辑电路的设计方法;用Proteus软件仿真;实验测试逻辑功能。
具体要求如下:(1)密码锁电路由密码输入电路、密码设置电路和密码控制电路组成,密码输入及密码设置均采用十进制数形式,密码输入通过键盘或按键输入。
密码设置通过开关输入。
(2)如果输入的密码与预先设定的密码相同,则保险箱被打开,密码控制电路的输出端E=1,F=0;否则电路发出声、光报警信号,即输出端E=0,F=1。
(3)实验时,“锁被打开”的状态可用绿色发光二极管指示;声、光报警可分别用红色发光二极管及蜂鸣器指示。
(4)写出设计步骤,画出最简的逻辑电路图。
(5)对设计的电路进行仿真、修改,使仿真结果达到设计要求。
(6)安装并测试电路的逻辑功能。
(7)选做内容:如果考虑一个开锁用的钥匙插孔输入端G,当开箱时(G=1),密码输入才有效,试在上述电路基础上修改该电路。
二、课题分析及设计思路(1)密码输入电路及密码设置电路的设计思路由于密码输入及密码设置均采用十进制数形式,故可利用8421BCD码编码器分别实现,以一位密码输入及密码设置为例,其实现框图如下:图1 密码输入及密码设置电路的实现框图8421BCD码输出ABCD(2)密码控制电路的设计思路分析以上设计任务与要求,密码控制电路的实现框图如下:图2 密码控制电路的实现框图相应的真值表如表1所示,由此可得输出逻辑函数表达式:+⋅==1111D C B A D C B A F E +⋅1111D C B A D C B A +⋅1111D C B A D C B A1111D C B A ABCD ⋅+采用代数化简可得:)()()()(1111D D C C B B A A F E ⊕⋅⊕⋅⊕⋅⊕==当然,根据上述密码控制电路的功能和异或门的特点,也很容易直接得到上述输出函数的逻辑表达式,由上述逻辑表达式可得到相应的逻辑电路图。
最新电子密码锁的设计与实现
宁夏大学新华学院课程设计目录摘要........................................................................2 Abstract...................................................................2 第1章绪论.............................................................3 §1.1 国内外现状.........................................................3 §1.2 设计目标...........................................................3第2章电子密码锁的系统设计.........................................4 §2.1 方案论证与比较.....................................................4 §2.2 硬件总体设计.......................................................4 §2.3 控制芯片部分.......................................................5 §2.4 键盘接口部分.......................................................6 §2.5 外部存储器电路.....................................................6 §2.6 小结...............................................................9 第3章控制系统软件设计.............................................10 §3.1 系统软件总体设计.................................................10 §3.2 I2C通讯子程序.....................................................10 第4章系统抗干扰措施...............................................14 §4.1 硬件系统设计原则..................................................14 §4.2 系统抗干扰措施....................................................14 第5章总结与展望.....................................................16 参考文献..................................................................18电子密码锁的设计与实现摘要:随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。
智能电子密码锁的设计与实现-开题报告
起止日期 2021 年 12 月 20 日-12 月 31 日 2022 年 01 月 01 日-02 月 28 日
2022 年 3 月 01 日-4 月 05 日 2022 年 4 月 06 日-4 月 19 日 2022 年 4 月 20 日-4 月 26 日 2022 年 4 月 27 日-6 月 10 日
毕业设计开题报告
系
部:
专
业:
题
目:
电子工程系 电子信息工程 智能电子密码锁的设计与实现
2022 年 03 月 03 日
毕业设计开题报告
一.研究目的及意义 电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、
财务报表以及一些个人资料的保存等多种场合使用,大大提高了主人物资的安全性。 电子密码锁的种类有很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
毕业设计开题报告
三.本课题要研究或解决的问题和拟采用的研究手段(途径) 要研究或解决的问题:
1.密码锁的输入功能。 2.电子密码锁具有密码存储功能。 3.使电子密码锁具有系统提示及状态显示等功能。 4.密码锁的警报提示功能。 拟采用的研究手段: 1.采用 4*4 键盘输入模块,分为密码输入键和几个功能按键。 2.采用 24C04 掉电存储电路,使电子密码锁具有密码存储功能。 3.通过 LCD1602 液晶显示电路模块来对系统状态进行实时显示。 4.采用蜂鸣器报警电路来实现密码锁的警报提示功能。 该设计由 AT89C51 单片机,24C04 掉电存储电路,单片机时钟电路,LCD1602 显 示电路,键盘和继电器模拟开锁电路组成。单片机负责控制整个系统的执行过程。 键盘矩阵模块分为密码输入按键与几个功能按键,用于完成密码锁输入功能; LCD1602 液晶显示电路模块用于完成对系统状态显示及操作提示功能和辅助报警与输 入提示;蜂鸣器报警电路用于完成输错密码时候的警报功能;密码存储模块用于完成掉 电存储功能,使修改的密码断电后仍能保存;复位电路用于完成系统的复位;单片机时 钟电路为单片机产生时序脉冲,单片机所有运算和控制过程都在同一时钟脉冲下驱动。
电子密码锁设计方案
电子密码锁设计方案电子密码锁是一种以电子技术为基础的智能门锁系统,它通过电子芯片和密码输入来实现对门锁的开启和关闭,具备高安全性和便捷性的特点。
下面是一种电子密码锁的设计方案。
1. 硬件设计:- 使用单片机作为控制核心,可选择常见的ARM、AVR等型号。
- 采用芯片级密码芯片,实现密码输入和验证的功能。
- 使用继电器或电子开关控制门锁的开启和关闭。
- 采用LCD显示屏或LED指示灯显示输入密码和开锁状态。
- 使用电池或电源适配器供电。
2. 软件设计:- 编写单片机的固件程序,实现密码输入、验证和开锁的逻辑。
- 设计密码管理系统,包括密码的设置和修改功能。
- 添加防撬警报系统,当门锁被非法破坏时触发报警。
- 支持远程控制,通过手机或电脑连接网络,实现远程开锁和密码管理的功能。
- 添加开锁日志记录,记录每次开锁的时间和密码,以便追踪和管理。
3. 安全性设计:- 使用多种加密算法对密码进行加密存储,防止密码泄露。
- 设计密码错误次数限制机制,连续输入错误密码达到一定次数后自动锁定一段时间。
- 采用物理隔离设计,防止针对针脚的攻击。
- 添加声音提示系统,当输入错误密码或开锁时间超过设定范围时发出警报,防止他人盗窃或篡改密码。
4. 用户友好性设计:- 设计人性化的界面,使用按键输入密码,并在显示屏或指示灯上显示输入的密码和开锁状态。
- 支持多种开锁方式,包括密码、指纹和刷卡等,方便用户选择。
- 提供密码保护功能,每次输入密码后自动清空密码,防止他人偷看。
- 支持语音提示功能,给予用户使用指导和提示。
以上是一种电子密码锁的设计方案,通过合理的硬件和软件设计,可以实现高安全性和便捷性的目标。
但需要注意,电子密码锁的设计和制造需要考虑到产品的稳定性、可靠性和成本等因素,并且还要充分测试和验证设计的各项功能。
电子密码锁设计课程设计
电子密码锁设计课程设计电子密码锁的设计与实现一、引言随着科技的发展和人们生活水平的提高,电子密码锁在日常生活和工业生产中的应用越来越广泛。
电子密码锁是一种通过密码输入来控制机械锁的开启的设备,具有安全、方便、耐用等优点。
本课程设计旨在让我们了解和掌握电子密码锁的设计原理和实现方法。
二、系统组成和工作原理电子密码锁主要由密码输入模块、控制模块和机械锁机构三部分组成。
1.密码输入模块:用户通过键盘输入密码,键盘将输入的密码转换成电信号,传输给控制模块。
2.控制模块:控制模块是电子密码锁的核心部分,它主要包括CPU、存储器和输入/输出接口等。
CPU接收来自键盘的电信号,并将其存储在存储器中。
当输入的密码与存储器中的密码匹配时,CPU控制机械锁机构开启。
3.机械锁机构:机械锁机构包括锁体、锁芯和电机等部件。
当控制模块接收到正确的密码后,电机运转带动锁芯转动,从而打开锁体。
三、系统硬件设计1.密码输入模块:采用矩阵键盘作为输入设备,可以输入数字、字母等密码。
2.控制模块:采用Arduino UNO板作为主控器,具有丰富的输入输出接口和强大的编程能力。
3.机械锁机构:采用电动式锁芯和电机,通过控制电机的正反转来实现锁体的开关。
四、系统软件设计1.密码存储:将正确的密码存储在Arduino板的EEPROM中,掉电后数据不会丢失。
2.密码匹配:当用户输入密码后,程序将输入的密码与存储器中的密码进行比较,如果匹配则控制电机运转开启锁体。
3.报警功能:如果输入密码错误次数超过设定值,程序将启动报警装置发出警报。
五、系统调试与优化1.硬件调试:检查电路连接是否正确,确保电源稳定可靠,各模块之间通信正常。
2.软件调试:通过串口输出调试信息,检查程序运行是否正确,密码匹配是否准确。
3.优化设计:针对硬件资源和性能进行优化,如采用更小的元件、降低功耗等;针对用户体验进行优化,如增加语音提示、优化操作流程等。
六、结论与展望通过本次课程设计,我们深入了解了电子密码锁的设计原理和实现方法。
电子密码锁设计与实现
南阳理工学院本科生毕业设计(论文)学院:电子与电气工程学院专业:自动化学生:指导教师:完成日期2014 年 5 月南阳理工学院本科生毕业设计(论文)电子密码锁设计与实现Design and implementation of Electric Password Lock总计:29页表格:2个插图:21幅南阳理工学院本科毕业设计(论文)电子密码锁设计与实现Design and implementation of Electric Password Lock学院:电子与电气工程学院专业:自动化学生姓名:学号:指导教师(职称):评阅教师:完成日期:南阳理工学院Nanyang Institute of Technology电子密码锁设计与实现[摘要]随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。
在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。
系统由AT89S51与 AT24C02作为主控芯片与数据存储器单元,结合外围的矩阵键盘输入、LCD显示、报警、开锁等电路模块。
它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。
用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。
[关键词]电子密码锁;报警;LCD显示;矩阵键盘Design and implementation of Electric Password LockAutomation Specialty JIANG Zhong-yangAbstract:As people's living standards improve, the question how to achieve home security has become particularly prominent. In science and technology is developing continuously, electronic code lock as a security guard's role is increasingly important. This article from the economical point of view, the system by the AT89S51 he master chip and the data memory unit, combined with the external keyboard, LCD display, alarm, unlock and other circuit modules. It performs the following functions: enter the password correctly under the premise of unlocking; wrong password case the alarm; password can be changed according to user needs. Master in C language control program and EEPROM AT24C02 chip to read and write process are combined and compiled with the Keil software, designed a number you can change the password, the password with an electronic alarm control system. Key Words:Electric Password lock; Alarm; LCD Display; Matrix keyboard目录1 引言 (1)1.1 课题背景和意义 (1)1.2 国内外发展现状 (2)1.3 电子密码锁的特点 (2)2 系统整体方案设计 (3)2.1 设计方案 (3)2.2 主控部分的选择 (3)3 硬件系统设计 (4)3.1 主控芯片AT89S51 (4)3.2 液晶显示模块电路设计 (5)3.3 存储模块电路设计 (6)3.4 矩阵键盘电路的设计 (7)3.5 报警电路设计 (8)3.6 开锁模块的设计 (8)4 软件程序设计 (10)4.1主程序设计 (10)4.2 按键软件设计 (11)4.3 密码设置软件设计 (12)4.4 开锁软件设计 (12)5 系统仿真、调试 (13)5.1 程序调试 (13)5.2 仿真调试 (15)5.3 调试结果及分析 (15)附录A (17)附录B (18)结束语 (27)参考文献 (28)致谢 (29)1 引言在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。
电子行业电子密码锁的电路设计
电子行业电子密码锁的电路设计一、引言电子密码锁是一种常见的应用于安全领域的电子设备,它通过输入正确的密码来解锁,并可以提供对门锁的电源控制。
本文将详细介绍电子行业电子密码锁的电路设计方案。
二、电子密码锁的工作原理电子密码锁的工作原理主要包括输入模块、控制模块、驱动模块和电源模块。
其中,输入模块用于接收用户输入的密码,控制模块对输入密码进行验证,驱动模块用于控制门锁的开关,电源模块为整个电子密码锁提供电能。
三、电路设计要点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等。
毕业设计电子密码锁(基于AT89C51)
毕业设计电子密码锁(基于AT89C51)1000字电子密码锁是一种非接触式的密码验证系统,可用于保护门锁、保险柜等的安全。
本文将介绍一个基于AT89C51单片机的电子密码锁的设计和实现。
1. 系统设计本电子密码锁系统由输入模块、验证模块和控制模块组成。
整个系统的工作流程如下:1) 当用户输入密码时,输入模块将密码传递给验证模块;2) 验证模块将密码与预设的密码进行比较验证;3) 如果验证通过,控制模块将开启门锁;4) 如果验证失败,控制模块将不做任何操作。
具体的系统设计如下:1) 输入模块:输入模块使用12个按钮组成一个键盘,用户通过按下不同的按钮来输入数字密码。
按下按钮时,按钮会发送一个电平信号,经过一定处理之后,输入模块将会将该信号转化为数字密码,并传递给验证模块。
2) 验证模块:验证模块将用户输入的数字密码与预设的密码进行比较。
系统中有一个EEPROM芯片,用于保存预设密码。
当用户输入密码后,验证模块将从EEPROM中读取预设密码,然后与用户输入的密码进行比较验证。
如果密码匹配,验证模块会向控制模块发送一个开锁的信号。
3) 控制模块:控制模块用于控制门锁的开关。
当接收到验证模块发来的开锁信号时,控制模块将开启电子密码锁的门锁,否则应保持关闭。
2. 系统实现本系统的具体实现采用基于AT89C51单片机的架构。
下面分别从输入模块、验证模块和控制模块三个方面来介绍系统的实现。
1) 输入模块:输入模块包含一个12个按键的键盘。
在按键按下时,按键输出端的电平将发生变化,因此需要使用中断来处理。
具体的实现方法是:首先将按键输出端连接到单片机的外部中断端口。
当按键按下时,外部中断端口会触发一个中断,中断处理程序会将按下的按键号存储到一个称作“键值缓存”的变量中。
2) 验证模块:验证模块主要涉及EEPROM的读写操作。
具体地,当用户输入密码后,输入模块将用户输入的密码通过验证模块传递给控制模块。
控制模块通过读取EEPROM中的预设密码与用户输入的密码进行比较,判断是否匹配。
电子密码锁总体设计方案
电子密码锁总体设计方案一、概述电子密码锁是现代家庭和公共场所常见的门锁类型之一。
与传统的机械锁相比,电子密码锁具有更为先进的智能化和安全性能,可以实现钥匙无需携带、密码可随时更换、记录进出记录等功能。
因此,电子密码锁的应用范围越来越广泛,在住宅、酒店、办公楼、医院等场所得到了广泛应用。
本文将针对电子密码锁的总体设计方案进行探讨。
二、设计要求(1)安全性要求作为门锁的一种,电子密码锁的最基本要求是安全。
电子密码锁要能够防止翻译、撬门、撞击等常见的破坏手段,能够保障门的安全性。
此外,电子密码锁在密码设置方面也要求高度安全,要求随机生成、自动更改、不重复等设计,以防止密码轻易被盗取或破解。
(2)操作便捷性要求考虑到电子密码锁的应用场景一般是家庭、办公室等公共场所,因此对于操作的便捷性也是一个很重要的要求。
设计电子密码锁时应该尽量避免一些复杂的操作,保证使用者能够方便快捷的开门、关门。
(3)耐用性要求电子密码锁是门锁中的一种,其使用频率比较高,因此对于耐用性要求也是很高的。
电子密码锁需要经受住高频率、常规的使用,和突发的外部攻击,能够保持长时间的使用寿命。
三、总体设计方案(1)硬件方案硬件方案是电子密码锁设计的核心。
现代电子密码锁一般采用微控制器芯片作为核心控制单元,驱动各个硬件模块的工作。
硬件方案需要涵盖以下几个方面:① 密码输入模块:提供数字键盘输入功能,可以通过输入正确的密码解锁。
同时,还可以在功能上实现新密码修改、密码恢复、锁定等基本操作。
② 锁芯模块:负责对门进行实时锁定和解锁,控制总锁舌存储和释放,保障门的安全性。
③ 电源部分:这一部分是电子密码锁的基础,包括电池加装、电量检测、省电功能设计、插电式应急备用等。
④ 数据传输:如果需要,例如医院配备药柜,就需要将数据上传到后台数据中心,需要进行网络通讯接口的设置。
⑤ 硬件外观:同样,要考虑使用者的操作方便性,外观的保守、优雅也是很重要的(需要与建筑物风格相结合)。
电子密码锁总体设计方案
电子密码锁总体设计方案电子密码锁是一种无钥匙开锁的安全锁具,比传统的机械锁更加安全可靠。
它采用密码验证方式来进行身份验证和门锁开启操作。
本文将介绍关于电子密码锁总体设计方案的相关内容。
一、设计要求电子密码锁的设计要求主要包括以下几个方面:1. 开锁方式:支持数字密码和指纹识别两种开锁方式。
2. 安全性:保证锁具具有较强的安全性,能够有效防止非法进入。
3. 可靠性:确保锁具可以长期稳定运行,而不会出现一些故障擦等问题。
4. 便携性:尺寸小巧便于携带,方便用户使用。
5. 电池寿命:尽量延长电池寿命,以减少用户更换电池的频率。
二、硬件设计1. 电源管理模块:设计合理的电源管理模块,确保电池供电充足并延长电池寿命。
2. 处理器:选择性能较强的32位处理器进行锁体控制。
3. 锁体设计:考虑锁体的设计以及材料选择,确保锁体结构牢固且不易被攻破。
4. 输入模块:设计合理的输入模块,包括数字按键和指纹识别模块,确保用户可以方便地输入密码并进行指纹识别。
5. 显示模块:设计合理的显示模块,在锁体上集成显示器,显示开锁状态及密码输入状态。
三、软件设计1. 编写控制程序:使用C语言等编写控制程序,实现锁具的控制逻辑和认证流程。
2. 加密算法:使用AES加密算法等确保锁具的数据传输和存储安全可靠。
3. 嵌入式操作系统:使用嵌入式操作系统确保锁具稳定性。
4. 用户界面:提供友好的用户界面,便于用户操作。
四、测试和验收1. 设计并进行测试计划,确保锁具功能正确且安全可靠。
2. 对锁具进行安全性测试,确保锁具无法被非法人员解锁。
3. 给用户提供使用说明书,进行使用效果和用户满意度评价。
五、结论电子密码锁总体设计方案应该综合考虑硬件和软件设计,兼顾安全性和易用性,在测试和验收过程中不断优化。
这种新一代无钥匙开锁的锁具应用广泛,可以应用于家庭、办公场所、酒店等地方,满足人们对于安全锁具的需求。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计基于单片机的电子密码锁设计在日常生活中,密码锁是一种常见的安全设备,被广泛应用于家庭、办公室等场所。
随着科技的发展,传统的机械密码锁已经不能完全满足人们对安全性和便捷性的需求。
为了提高密码锁的安全性和实用性,许多基于单片机的电子密码锁被设计出来。
本文将介绍一种基于单片机的电子密码锁设计,并详细说明其工作原理和实现过程。
1. 设计思路基于单片机的电子密码锁的设计目标是提高安全性和便捷性。
传统的机械密码锁容易被暴力破解,而且如果密码被泄露,需要更换整个锁体。
因此,采用电子密码锁可以提供更高的安全性和方便的密码管理功能。
2. 系统组成基于单片机的电子密码锁主要由以下几个部分组成:(1)输入模块:用于输入密码的设备,可以是键盘、触摸屏等。
(2)单片机控制模块:使用单片机作为核心控制器,接收输入密码并进行验证。
(3)驱动模块:通过驱动模块对电子锁进行控制开关。
(4)显示模块:以LED或LCD等形式显示相关信息。
(5)电源模块:为电子密码锁系统提供电能供应。
3. 工作原理基于单片机的电子密码锁的工作原理如下:(1)初始状态下,用户可以通过输入密码进行解锁或锁定。
输入模块接收用户输入的密码。
(2)输入模块将密码发送给单片机控制模块。
(3)单片机控制模块使用事先设定的密码进行比对。
如果密码匹配,单片机控制模块将发出控制信号给驱动模块。
(4)驱动模块接收到控制信号后,将根据信号的指示打开或关闭电子锁。
(5)同时,单片机控制模块会发出指令给显示模块,将结果显示给用户。
4. 实现过程基于单片机的电子密码锁的实现过程如下:(1)选择合适的单片机,如AT89C51。
(2)设计电路板,将输入模块、单片机控制模块、驱动模块、显示模块和电源模块连接在一起。
(3)编写单片机的控制程序,实现密码验证和控制信号的生成。
(4)制作密码锁外壳,将电子密码锁系统组装在一起。
(5)测试电子密码锁的各个功能是否正常。
电子密码锁设计方案
电子密码锁设计方案1. 引言随着科技的不断进步,电子密码锁作为一种新型的安全措施逐渐被广泛应用于家庭、办公室和商业场所等地方。
电子密码锁通过使用数字代码或密码来代替传统的机械钥匙,提供更方便、灵活和安全的进出方式。
本文主要介绍了一个基于数字密码的电子密码锁的设计方案,包括硬件设计和软件实现。
2. 硬件设计2.1 主控芯片选型电子密码锁的主要控制部分由单片机实现,我们选择了市场上较为常见的ARM Cortex-M系列的微控制器作为主控芯片,例如STM32系列。
这些芯片具有高性能、低功耗和丰富的外设接口,能够满足电子密码锁的需求。
2.2 电源设计电子密码锁需要一定的供电电源,我们考虑使用电池作为电源。
通过合理的功耗优化设计,电池的寿命可以达到较长时间。
同时,在电池电量低下时,需要通过低电量指示灯或者声音提醒用户更换电池。
2.3 锁体设计电子密码锁的锁体部分需要结合传统机械锁的设计,确保安全性和可靠性。
我们可以使用电磁或者电动锁芯,通过电子控制方式实现开关锁的功能。
2.4 用户界面设计电子密码锁需要一个用户界面,用户能够通过该界面输入密码和操作锁的开关。
一种常见的设计方式是使用液晶显示屏、按键等组合,用户通过按键输入密码,然后在显示屏上显示操作结果。
3. 软件实现3.1 系统架构电子密码锁的软件系统可以分为输入密码、验证密码和控制锁体三个模块。
输入密码模块负责获取用户输入的密码;验证密码模块负责比对用户输入的密码和预设密码是否一致;控制锁体模块负责开关锁体。
3.2 密码验证算法在密码验证模块中,我们需要选择一个适当的密码验证算法来确保密码的安全性。
常见的算法有单向散列函数算法(例如MD5或SHA)、加密算法(例如AES)等。
我们可以根据需求选择合适的算法,并结合安全性要求进行适当的设计。
3.3 控制锁体驱动程序控制锁体模块需要编写相应的驱动程序来控制锁体的开关。
根据锁体的设计类型不同,可以选择相应的驱动方式,例如通过IO口控制电磁或电动锁芯的开关。
南邮电子密码锁设计实验报告
1.3 设计条件
1.3.1 电源条件:稳压电源提供+5V 电压。
1.3.2 可供选择的元器件如表 1-1 所示
型号
名称及功能
数量
74374
八 D 触发器
1片
7474
双 D 触发器
2片
28C64B
EEPROM 存贮器
1片
7485
4 位比较器
1片
74161
4 位二进制计数器
2片
74164
8 位移位寄存器
3.6 整机电路图··························································· 12
3.7 元件清单····························································· 13
1
第四章、电路测试
12
从图中看出,在 D 触发输出后,毛刺被有效去除了。
3.6 整机电路图
图 3-5-1 消抖效果图
13
3.7 元件清单 本设计除了老师建议的一些芯片,我还使用了少量其他数字芯片,完成了要求外的一些
指标,使用的芯片如下: 表 3-7 所用元件清单
型号
名称及功能
数量
74374
八 D 触发器
1
2
第一章、系统结构与技术指标
1.1 系统功能结构 密码锁:用数字键方式输入开锁密码,输入密码时开锁;如果输入密码有误或者输入时
间过长,则发出警报。 密码锁的系统结构框图如下图 1-1 所示,其中数字键盘用于输入密码,密码锁用于判
断密码的正误,也可用于修改密码。开锁绿亮表示输入密码正确并开锁,报警红亮表示密码
电子密码锁总体设计方案
电子密码锁总体设计方案引言:电子密码锁是一种常见的安全装置,旨在提供一种方便而安全的进出门方式。
本文将针对电子密码锁的总体设计方案进行详细阐述,包括硬件和软件系统设计等方面的内容。
一、硬件设计:1. 主控板设计:主控板是电子密码锁的核心部件,负责控制整个系统的运行。
设计一个稳定且可靠的主控板至关重要。
主控板应包括至少一个微处理器、存储器、输入输出接口等,以满足系统的各种功能需求。
2. 密码输入界面设计:密码输入界面是用户与电子密码锁进行交互的重要媒介。
设计一个易用且安全的密码输入界面是必要的。
可以采用数字键盘、触摸屏或其他输入设备来实现密码的输入。
3. 电子锁体设计:电子锁体是电子密码锁的重要组成部分,负责实现锁定和解锁的功能。
设计一个坚固耐用、无法轻易破解的电子锁体是关键。
可以采用电机、电磁铁等机械或电子设备来完成锁体的动作控制。
4. 电源供应设计:电子密码锁需要稳定的电源供应,以保证其正常运行。
设计一个稳定、高效的电源供应系统是必要的。
可以采用电池、电源适配器等不同方式来满足电源供应的需求。
二、软件系统设计:1. 密码验证算法设计:密码验证算法是电子密码锁的核心功能之一,负责校验用户输入的密码是否正确。
设计一个安全可靠的密码验证算法是关键。
可以采用哈希算法、对称加密算法或其他密码学算法来实现密码的验证。
2. 用户管理系统设计:用户管理系统用于管理电子密码锁的用户信息。
设计一个灵活、扩展性强的用户管理系统是必要的。
可以采用数据库、文件系统等方式来存储和管理用户的信息。
3. 锁定和解锁控制设计:锁定和解锁控制是电子密码锁的基本功能之一,负责实现对门锁的控制。
设计一个快速、可靠的锁定和解锁控制系统是关键。
可以采用实时操作系统、多线程编程等方式来实现锁定和解锁控制的功能。
4. 安全防护设计:安全防护是电子密码锁的重要组成部分,负责抵御各种安全威胁。
设计一个安全可靠的防护系统是关键。
可以采用加密通信、安全协议等方式来加强电子密码锁的安全性。
电子密码锁的设计与实现
目录1 背景与意义 (1)2 功能设计 (2)3 总体方案设计 (3)4 电路原理图设计 (5)4.1 键盘电路设计 (5)4.2数码管显示电路设计 (6)4.3 开锁电路设计 (7)5 程序设计 (9)5.1 基本设计思路 (9)5.2 各子程序设计 (9)6 软件仿真结果 (15)7 硬件制作与调试 (17)8 结论 (19)参考文献 (19)电子密码锁的设计与实现1 背景与意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。
由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。
本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高学生对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。
随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。
锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。
随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。
据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。
这种锁是通过键盘输入一组密码完成开锁过程。
研究这种锁的初衷,就是为提高锁的安全性。
由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。
电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。
电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。
但较实用的还是按键式电子密码锁。
20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子密码锁的设计与实现
一、实验目的
1.进一步掌握键盘扫描和LED显示的程序设计。
2.了解按键消抖的方法。
3.综合运用微机原理的软硬件知识。
二、实验内容与要求
1.基本要求
(1)具有密码输入功能,密码最多为6位;
(2)设置退格键,以便删除输入错误的密码;
(3)在输入的密码时数码管上只显示8,并根据输入位数依次横移;
(4)设置确认键,当确认键按下后,判断输入密码是否正确;
(5)当输入密码正确时,点亮发光二极管;当输入密码不正确时,发光二极管不亮并且蜂鸣器报警,重新输入,当三次密码输入不正确时,系统应锁定键盘10s。
2.提高要求
将用户分为管理者和使用者,管理者拥有超级密码,可以修改其他人的密码。
使用者不能修改密码。
三、实验报告要求
1.设计目的和内容
2.总体设计
3.硬件设计:原理图(接线图)及简要说明
4.软件设计框图及程序清单
5.设计结果和体会(包括遇到的问题及解决的方法)
四、总体设计
电子密码锁的原理是:从键盘输入一组密码,CPU把该密码和设置密码比较,对则将锁打开(不同锁的控制方式不一样,比如加电控制电磁铁抽回,从而打开),错则要求重新输入,并记录错误次数,如果三次错误,则被强制锁定并报警,除非超级密码或者其他的
手段打开,比如延时一段时间。
初步设计思路如下:
1.输入密码用矩形键盘,包括数字键和功能键,功能键包括退格键和确认键。
2.LED数码管显示输入密码,但是只是输出显示符号8。
采用动态扫描输出。
3.用发光二极管模拟锁的情况,锁关时发光二极管灭,打开时发光二极管亮。
4.输入密码错误时报警,3次输入错误时键盘锁定10s,键盘无法接收数据。
软件的设计主要包括矩形键盘键值的读取、LED动态扫描输出程序、密码判断程序和
报警程序。
五、硬件设计
根据设计思路,硬件电路可通过实验平台上的一些功能模块电路组成,由于实验平台上的各个功能模块已经设计好,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
完整系统的硬件连接如图1所示。
硬件电路由LED 数码管显示模块、按键模块、发光二极管电路和蜂鸣器模块组成。
各个模块的详细说明:
1.LED数码管模块
实验平台上提供一组六个LED数码管。
插孔CS1用于数码管段选的输出选通,插孔
CS2用于数码管位选信号的输出选通。
本设计用6个数码管来动态显示时分秒,动态显示
的定时时间由8253定时/计数器来实现。
8253主要是实现每位显示时间1ms,由8253的
计数器0来实现。
Clk0接实验平台分频电路输出Q6,f=46875hz。
GATE0接8255 的PA0,由8255的PA0输出来控制计数器的起停。
OUT0 接8259的IRQ2,定时完成请求中断,进入中断服务程序。
软件在中断服务程序中LED数码管显示。
Q6
IRQ2
路
8259
图 1 系统硬件电路图
2.按键模块
按键模块包括有数字键和功能键。
数字键包括 0-9 键,用于密码的输入。
功能键有退 格键和确认键。
具体的功能定义如下表。
键盘电路和 8255 的连接见图 2 所示。
具体的功能 定义如下表。
按键 键名 功能说明 1-9 键 数字键 输入密码
A 键 退格键 取消刚才输入的密码
B 键
确认键
密码输入完成
8255
PA0 PB0 PB1 PC
数码管显示模块
键盘电路
8253
OUT0 GATE0 Clk0
地址 CS1 译码 CS2 电路 CS3
CS4
PC BUS 蜂鸣器
发光二极管
图2 键盘电路和8255的连接图
3.报警模块和发光二极管模块
报警模块由蜂鸣器驱动电路和8255组成。
选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。
蜂鸣器电路如图4所示。
当8255的PB0口输出为高电平时,蜂鸣器产生蜂鸣音,8255输出为低电平时,蜂鸣器不发声。
发光二极管也是用8255输出来驱动亮灭。
图3 蜂鸣器电路
六、软件设计
1.软件设计思路
电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。
当输入密码连续输入错误3次时,锁定键盘10s。
程序将分为主程序和中断服务子程序。
主程序负责键盘键值读取,密码判断和开锁或
报警处理。
中断服务子程序主要是负责LED数码管显示。
根据程序功能,程序主要分为以下几部分:
a)键盘键值读取程序
键盘键值读取程序包括键盘扫描、消除抖动、键译码等内容。
按键的识别主要有两种
方法:行反转法和行扫描法。
因为键盘为机械开关,容易引入抖动。
为了消除抖动干扰,在程序中要加入消除抖动的部分。
b) LED 数码显示程序
LED数码显示器是一种应用很普遍的显示器。
程序主要负责把要显示的数字或字母对应的显示码送到相应的LED显示管。
有多位需要同时显示时,可以采用动态刷新的方法,就可以得到稳定的输出。
在程序中用8253来定时1ms,定时时间到时请求中断服务,进入中断服务程序输出1位显示数据。
循环显示6 个数码管,可以实现稳定的数字显示。
中断服务程序只负责数据的输出显示,主程序根据所处的状态修正显示数据。
c)密码判断程序
密码判断程序放在主程序中,有按键时读取,当确定键按下时作出判断。
在程序中设置6 字节的空间存放设定的密码和6字节存放键盘输入的数据。
根据读取的键盘数据和预先设定的密码逐位比较就可以判断输入密码的正确性。
d)开锁和报警程序
通过8255相应位的输出数据然后延时一段时间就可以控制发光二极管的亮灭和蜂鸣器的鸣叫。
2.程序流程图
1)主程序流程图见图4所示。
开始
提示输入密
有键按下
数字键
退格键
确认键
Y
正确
Y
退出
N
N
Y
图4 主程序流程图
2) 中断服务程序流程图见图 5 所示。
错误3次
系统初始化
码
键盘扫描
密码判断
开锁
延时10s
存储键值
字键输入
N N N Y
Y Y
刷新L ED 输出数据
清除上次数 报警
中断程序
获得第i 位的 i==6?
Y N
中断返回
图5 中断程序流程图
保护现场
位码和段码
输出位码
输出段码 i=0
中断恢复
i++。