电子密码锁设计报告讲解
- 格式:doc
- 大小:1.29 MB
- 文档页数:21
简易电子密码锁设计&我的设计思想联想到日前在安全技术防范领域,具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,并结合近期的学习过程和一些参考书籍,完成了简易的电子密码锁设计学习。
电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
电子密码控制不论性能还是安全性都已大大超过了机械类结,具有良好的应用前景。
一、设计目的与内容设计了一个简易电子密码锁,可按要求从矩阵键盘输入6位数密码如“080874”,输入过程中有按键音提示。
当密码输入正确并按下确认键(“OK”键)后,发光二极管被点亮。
二、工作原理与基本操作过程介绍采用80C51为核心的单片机控制。
利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。
(1)键盘的人工编码给每个按键指定一个按键值,报告设定按键S1~S9对应的按键值分别为“1~9”,S10为数字“0”,S11为“OK”,S12~S16对应的按键值分别为12~16。
(2)根据按键值,指定每个按键对应的输入数字和信息。
如下表为每个按键代表的数字和输入信息。
当键盘扫描程序扫描到S10键被按下时,将其代表的按键值“0”通知CPU,CPU根据事先的规定,就会知道输入的数字是“0”。
矩阵键盘中每个按键所代表的数字和输入信息(3)输入数字和密码对比。
先将设定的密码用一个数组保存,报告中用的密码“080874”和“OK”确认信息可以用如下数组保存:Unsigned char D[ ]={0,8,0,8,7,4,11};在主程序接收到数字和信息后,通过逐位对比的方法进行判断。
输入的数字经对比正确时,程序才会继续顺序执行,否则,程序拒绝继续执行。
(4)执行预期功能。
如果输入密码正确,执行预期功能,报告设计为点亮P3.0口引脚LED。
三、电路图设计(Proteus绘制)四、程序设计(C语言)矩阵式键盘实现的电子密码锁程序#include<reg51.h> //包含51单片机寄存器定义的头文件sbit P14=P1^4; //将P14位定义为P1.4引脚sbit P15=P1^5; //将P15位定义为P1.5引脚sbit P16=P1^6; //将P16位定义为P1.6引脚sbit P17=P1^7; //将P17位定义为P1.7引脚sbit sound=P3^7; //将sound位定义为P3.7unsigned char keyval; //储存按键值/************************************************************** 函数功能:延时输出音频**************************************************************/ void delay(void){unsigned char i;for(i=0;i<200;i++);}/************************************************************** 函数功能:软件延时子程序**************************************************************/ void delay20ms(void){unsigned char i,j;for(i=0;i<100;i++)for(j=0;j<60;j++);}/************************************************************** 函数功能:主函数**************************************************************/ void main(void){unsigned char D[ ]={0,8,0,8,7,4,11}; //设定密码EA=1; //开总中断ET0=1; //定时器T0中断允许TMOD=0x01; //使用定时器T0的模式1TH0=(65536-500)/256; //定时器T0的高8位赋初值TL0=(65536-500)%256; //定时器T0的高8位赋初值TR0=1; //启动定时器T0keyval=0xff; //按键值初始化while(keyval!=D[0]) //第一位密码输入不正确,等待;while(keyval!=D[1]) //第二位密码输入不正确,等待;while(keyval!=D[2]) //第三位密码输入不正确,等待;while(keyval!=D[3]) //第四位密码输入不正确,等待;while(keyval!=D[4]) //第五位密码输入不正确,等待;while(keyval!=D[5]) //第六位密码输入不正确,等待;while(keyval!=D[6]) //没有输入“OK”,等待;P3=0xfe; //P3.0引脚输出低电平,点亮LED}/**************************************************************函数功能:定时器0的中断服务子程序,进行键盘扫描,判断键位**************************************************************/void time0_interserve(void) interrupt 1 using 1 //定时器T0的中断编号为1,使用第一组寄存器{unsigned char i;TR0=0; //关闭定时器T0P1=0xf0; //所有行线置为低电平“0”,所有列线置为高电平“1”if((P1&0xf0)!=0xf0) //列线中有一位为低电平“0”,说明有键按下delay20ms(); //延时一段时间、软件消抖if((P1&0xf0)!=0xf0) //确实有键按下{P1=0xfe; //第一行置为低电平“0”(P1.0输出低电平“0”)if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”keyval=1; //可判断是S1键被按下if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”keyval=2; //可判断是S2键被按下if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”keyval=3; //可判断是S3键被按下if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”keyval=4; //可判断是S4键被按下P1=0xfd; //第二行置为低电平“0”(P1.1输出低电平“0”)if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”keyval=5; //可判断是S5键被按下if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”keyval=6; //可判断是S6键被按下if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”keyval=7; //可判断是S7键被按下if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”keyval=8; //可判断是S8键被按下P1=0xfb; //第三行置为低电平“0”(P1.2输出低电平“0”)if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”keyval=9; //可判断是S9键被按下if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”keyval=0; //可判断是S10键被按下if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”keyval=11; //可判断是S11键被按下if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”keyval=12; //可判断是S12键被按下P1=0xf7; //第四行置为低电平“0”(P1.3输出低电平“0”)if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”keyval=13; //可判断是S13键被按下if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”keyval=14; //可判断是S14键被按下if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”keyval=15; //可判断是S15键被按下if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”keyval=16; //可判断是S16键被按下for(i=0;i<200;i++) //让P3.7引脚电平不断取反输出音频{sound=0;delay();sound=1;delay();}}TR0=1; //开启定时器T0TH0=(65536-500)/256; //定时器T0的高8位赋初值TL0=(65536-500)%256; //定时器T0的高8位赋初值}五、用Proteus软件进行仿真利用Keil软件进行编译通过后,生成hex文件。
实习报告:电子密码锁设计一、实习背景及目的随着科技的不断发展,电子产品在日常生活中扮演着越来越重要的角色。
电子密码锁作为一种安全技术防范产品,具有安全性高、成本低、功耗低、易操作等优点,已广泛应用于家庭、办公室、银行等领域。
本次实习旨在了解并掌握电子密码锁的设计原理,提高自己在电子技术方面的实际操作能力。
二、实习内容与过程1. 了解电子密码锁的原理电子密码锁的核心部分是密码控制器,它通过接收键盘输入的密码,与设定的密码进行比较,根据比较结果控制电路或芯片的工作。
在本实习中,我们采用51单片机作为密码控制器,通过矩阵键盘输入密码,利用数码管显示密码输入情况。
2. 设计电路图根据实习要求,设计电子密码锁的电路图。
电路主要包括51单片机、矩阵键盘、数码管、报警电路、电源等部分。
矩阵键盘用于输入密码,数码管用于显示密码输入情况,报警电路用于提示密码错误,电源为整个电路提供稳定的电压。
3. 编写程序使用C语言编写程序,实现电子密码锁的功能。
程序主要包括主函数、键盘扫描函数、数码管显示函数、报警函数等。
主函数负责初始化硬件设备,循环调用键盘扫描函数,接收并显示密码输入情况。
键盘扫描函数用于检测矩阵键盘按键状态,数码管显示函数负责在数码管上显示输入的密码,报警函数则在密码错误时发出报警。
4. 调试与优化在Proteus仿真软件中进行电路仿真,调试程序。
在仿真过程中,发现键盘输入与数码管显示部分存在问题,通过修改程序代码,解决了这些问题。
同时,对程序进行优化,提高了运行效率。
5. 实物焊接与测试根据电路图,购买元器件,进行实物焊接。
焊接完成后,对电子密码锁进行测试,验证其功能是否符合预期。
在测试过程中,发现报警功能存在问题,经过排查,发现是报警电路部分出现问题,重新焊接后,问题得到解决。
三、实习收获与体会通过本次实习,我对电子密码锁的设计原理和实际操作有了更深入的了解。
在设计过程中,我学会了如何根据实际需求,运用所学知识,设计出符合要求的电路图和程序。
密码锁设计报告摘要:本系统是由键盘和报警系统所组成的密码锁。
系统完成键盘输入、开锁、超时报警、输入位数显示、错误密码报警、复位等数字密码锁的基本功能。
关键字:数字密码锁 GAL16V8 28C64 解锁与报警1目录:一、系统结构与技术指标1、系统功能要求 (4)2、性能和电气指标 (5)3、设计条件 (5)二、整体方案设计1、密码设定 (6)2、密码判断 (6)3、密码录入和判断结果显示 (6)4、系统工作原理框面 (7)三、单元电路设计1、键盘录入和编码电路图 (8)2、地址计数和存储电路 (12)3、密码锁存与比较电路 (12)24、判决与结果显示电路 (14)5、延时电路 (15)6、复位 (17)7、整机电路图 (19)8、元件清单 (19)四、程序清单1、第一片GAL (21)2、第二片GAL (23)五、测试与调整1、单元电路测试 (25)2、整体指标测试 (26)3、测试结果 (26)六、设计总结1、设计任务完成情况 (27)2、问题及改进 (27)3、心得体会 (28)3一、系统结构与技术指标1.系统功能要求密码锁:用数字键方式输入开锁密码,输入密码时开锁;如果输入密码有误或者输入时间过长,则发出警报。
密码锁的系统结构框图如下图所示,其中数字键盘用于输入密码,密码锁用于判断密码的正误,也可用于修改密码。
开锁LED1亮表示输入密码正确并开锁,报警LED2亮表示密码有误或者输入时间超时。
开锁green 键盘密码锁错误red42.性能和电气指标2.1 开锁密码为8位十进制数字,由按键输入,按“确认”键后,输入的数字有效。
2.2 输入的8位数字与预设的密码相同时开锁,用绿灯亮,红灯灭表示。
数据有误时或输入的密码时间过长即报警,红灯亮。
2.3 输入的数字间隔时间小于或等于15s。
超过时限则报警,同时电子锁复位。
2.4 具有手动、自动复位功能。
3. 设计条件3.1 电源条件:稳压电源提供+5V电压。
实验四电子密码锁的设计一、实验任务及要求设计一个通用电子密码锁,其具体功能要求如下:(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)。
基于Multisim的电子密码锁设计报告一、实验目的本次实验的目的是利用Multisim软件来模拟设计一款电子密码锁电路,并运用实验设计与验证技能,实现对其正确性的验证。
二、实验原理1. 采用TTL 74LS161四位二进制可编程计数器芯片来作为密码锁的实现电路。
2.在74LS161中将4个D触发器的引脚Q4、Q3、Q2和Q1相连,形成一个四位二进制计数器。
D0、D1、D2和D3端分别保存四个密码。
J端与K端都接地,保证其无法跳转,输入端(P输入)通过翻转外电平跳转。
3.在密码输入时,将四个D触发器之间的连接管脚断开,用四个单独红色LED灯来表示各自的D触发器的状态。
4.密码输入结束之后要再通过一个译码器,将存储器里的二进制数转换成相应的16进制数,然后用一个比较器和一个与门来完成密码的验证。
三、实验步骤1. 在Multisim中,依次添加TTL 74LS161、LED、Decoder、Comparator、AND gate等元件。
2. 将74LS161的P0-P3引脚连接四个SIN箭头元件,将输入端的SIN箭头也连接到P电平输入端。
3. 将74LS161的Q0-Q3引脚连接到四个LED元件上,并将LED元件连成串。
4. 将Decoder的A0-A3引脚连接74LS161的Q0-Q3,将Out0-Out3引脚与与门的一个端口连接,另一个与门的端口连接密码输入的中转电路。
5. 将与门的输出端口连接Comparator的“+”端口,将一个预先设定的密码与Comparator的“-”端口相连。
6. 输入正确的密码,实验成功。
四、实验结果通过电路模拟,输入正确密码时四个LED灯都会相应亮起来,且输出信号会自动上升至“5V”。
若输入密码错误,则四个LED灯都不会亮,输出信号为“0V”。
五、实验分析本次实验的电子密码锁电路,通过四位二进制可编程计数器芯片,实现用户输入固定密码,验证正确性后输出特定信号,实现门的自主解锁。
1、总体方案设计设计本课题时构思了两种方案:一种是用以A T89C2051为核心的单片机控制方案;另一种是用CMOS数字集成电路控制方案。
考虑到单片机方案原理复杂,而且调试较为繁琐,所以本文采用后一种方案。
1:采用数字电路控制。
其原理方框图如图数字电路控制方案采用数字密码锁电路的好处就是设计简单。
用以CMOS构成的数字逻辑电路作为密码锁的核心控制,共设了8个用户输入键;如果用户输入密码的时间超过5秒(一般情况下,用户不会超过5秒,若用户觉得不便,还可以修改)电路将报警20秒。
通过比较以上两种方案,单片机方案有较大的活动空间,但是成本昂贵;采用数字密码锁电路只要设计合理,仍然能够满足保密性要求。
所以我们采用后一种方案。
2.1设计说明要求用电子器件设计制作密码锁的控制电路,使之在输入正确的代码时输出信号,以启动执行机构动作,并用红,绿LED灯指示开锁、关锁状态。
设计完成的要求:(1)密码锁控制器中存储一个八位代码(二进制),当开锁按钮开关(共设置了11位,其中只有8位有效密码键,其余三位为干扰位和密码更改位)的输入代码等于存储代码时启动开锁控制电路,并且绿灯亮,红灯灭表示开锁状态。
(2)从第一个按钮触动后的5秒内若未能将锁打开,则电路自动复位并有扬声器发出报警信号,报警信号持续时间20秒,同时绿灯灭,红灯亮表示关锁状态。
(3)本设计完成了发挥部分的要求即密码修改电路,通过按钮开关(space 键)控制,用户可以自行修改八位密码,修改后的密码将进入电路锁存。
2.2设计思路根据题目要求,我们设计了这款实用稳定的数字电子密码锁,由密码按钮键、预置密码锁存器、密码比较识别电路、5s计时电路和20s计时电路等组成。
整机采用CMOS数字集成电路,电路新颖,线路简单,保密性强,性能可靠,误码报警等特点。
2.3总体方框图3、设计原理分析电路组成:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入锁定电路3.1 密码输入和修改电路:电路总共设计了11个用户输入键,其中有8位是有效的密码按键,其余的分别是M键(仿真电路中采用此按键表示开始输入密码,但是实际电路中可以用灵敏度较高的端口来代替,当人走近门时,触摸了敏感端,由于人自身带电,端口变成高电平,黄色指示灯亮表示电子锁处于待命状态,当然这在仿真电路中通过按键也可以实现),L键(输入密码结束,按下确认键即L键),space键(这个按键装在电路内部,是密码修改键,修改前后分别按space 按键表示修改密码和密码修改结束)3.2报警电路:报警电路实现的功能是:当输入密码的时间超过5s(一般情况下用户输入不会超过)或者密码输入错误,电路报警20s,防止他人恶意开锁。
简易密码锁设计实验报告(一)简易密码锁设计实验报告研究背景在当前的社会中,密码锁已经广泛应用于各种领域,如个人家庭、办公场所、银行等。
密码锁在保障安全的同时,也带来了便捷。
因此,设计一款简易密码锁具有重要意义。
实验目的本次实验旨在设计一款简易密码锁,能够通过输入正确的密码从而打开锁,同时能够保护用户的安全。
实验步骤1.确定锁的锁舌位置和大小,确定锁的存储方式。
2.选择合适的电子元件,如单片机、键盘、LED灯等。
3.设计程序流程,完成程序并进行调试。
4.进行实验,并测试相关数据。
5.对实验结果进行分析,总结实验过程中的问题并提出改进方案。
实验结果及分析经过一段时间的实验,我们设计出了一款简易密码锁。
该密码锁通过输入正确的密码可以打开锁,密码为“123456”。
在打开锁的过程中,如果输入错误的密码,则锁将不会打开,并提示密码错误。
同时,该密码锁还具有防止暴力破解的功能,在输入密码错误达到一定次数时,将自动锁死。
在实验过程中,我们发现了一些问题,如电路连线不够稳定、程序层次不够清晰等。
针对这些问题,我们进行了相应的改进,在稳定电路连线的同时,也简化了程序层次,提高了密码锁的使用体验。
结论通过本次实验,我们成功地设计出了一款简易密码锁,并成功地实现了输入正确密码可以打开锁的功能。
在实验过程中,我们遇到了一些问题,但经过不断地实验和调整,最终得到了一个较为完善的版本。
参考文献无。
实验心得通过本次实验,我进一步了解了密码锁的设计和工作原理。
在实验过程中,我采用科学严谨的方法去解决问题,例如测试数据、重新设计程序以及频繁的测试与优化。
这个过程让我深深地体会到了科学实验具有的重要性,只有不断地实验、总结、优化,才能得到一个经得起实验检验的好结果。
同时,在实验过程中我还学会了合理地进行电路的布线以及如何选取合适的元件,这些都是我在日后实际工作中所必备的技能。
在实验过程中,我还发现设计中的细节问题常常决定一个产品的品质,在以后的工作中,我会更加注重产品的细节设计。
电子行业电子密码锁的电路设计一、引言电子密码锁是一种常见的应用于安全领域的电子设备,它通过输入正确的密码来解锁,并可以提供对门锁的电源控制。
本文将详细介绍电子行业电子密码锁的电路设计方案。
二、电子密码锁的工作原理电子密码锁的工作原理主要包括输入模块、控制模块、驱动模块和电源模块。
其中,输入模块用于接收用户输入的密码,控制模块对输入密码进行验证,驱动模块用于控制门锁的开关,电源模块为整个电子密码锁提供电能。
三、电路设计要点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等。
电子技术课程设计报告电子密码锁_图文【完整版】(文档可以直接使用,也可根据实际需要修订后使用,可编辑放心下载)电子技术课程设计报告设计课题:电子密码锁电子密码锁一、引言随着人们生活水平的提高,人们对自己的生活有了越来越高的要求,贵重物品也越来越多,而传统的机械平安锁由于其构造的简单,被撬被盗事件在我们身边经常发生,使我们的财产以及人身平安存在很大的平安隐患,这致使我们寻求更好的平安措施。
电子锁由于其保密性高,使用灵活性好,平安系数高,受到了广阔用户的喜爱。
而且密码锁的形式多样,有声控密码锁,电子密码锁等,社会上大多使用电子按键密码锁。
本文的电子密码锁利用数字逻辑电路,实现对门的电子控制,并且有各种附加电路保证电路能够平安工作,具有较高的平安系数。
要求电子器件设计制作密码锁的控制电路,使之在规定的时间内输入正确的密码时,输出信号以开启密码锁,否那么报警电路报警。
本设计用红、绿LED指示关锁、开锁状态和报警状态。
二、设计任务1、密码锁控制器中存储一个4位代码,当锁按钮开关设置8位〔其中只有4位有效〕的输入代码等于存储代码时启动开锁控制电路,并且用绿灯亮表示开锁状态。
2、从第一个按钮触动后的15秒内假设未能将锁翻开,那么报警电路发报警信号,同时用绿灯灭表示关锁状态。
3、要求性能可靠、操作简便。
4、密码锁控制器中存储的4位密码可以修改。
5、分析部件见工作原理,绘制电路图,进行仿真制作实物并撰写设计报告。
三、设计方案方案一:用开关控制可控硅整端口的电压变化即导通,按依次按下四个开关,其功能相当于给可控硅一个高电平触发,四个可控硅整流器依次导通,整条回路导通,发光二极管亮,而发光二极管亮即表示输入的密码为正确密码,电路到达密码锁开锁功能。
设计8位按键只有4位是正确的,如果按下4位伪码的其中一位即按下的其中一个或几个,控制报警电路可控硅导通。
此时开锁局部悬空,报警报警方案二;采用STC89C52单片机为芯片主体,采用AT24C08为掉电存储器的芯片,用单片机的P1口作为接4 ×4 键盘按键的检测按键,P0口实现数码管的按键显示,以及错误信息,单片可以进行位操作,P2口组成报警电路,密码修改电路和AT24C08的掉电保护等其他相关功能。
电子技术课程设计报告设计课题:电子密码锁电子密码锁一、设计任务与要求1.掌握PCB制板技术2.掌握电子密码锁的原理及其应用3.作好焊接及检查二、方案设计与论证1.方案一采纳单片机芯片,和CD系列,CD4043,CD4082,CD4066组合模式,而用按键开关作为输进端口,共需要10个开关分不作为123456789#*。
工作原理:10位输进按键中,.9.0为有效按键,2.3.4.6.7为伪码键。
密码输进由密码键和输进电路IC1来完成。
密码操纵电路为IC2。
电路欲设密码为05198。
在密码输进按键中,SB0操纵着IC2的电源提供并使IC2开机时复位,同时通过RP、C1设定了10秒的限时功能。
当按下SB0后必须在10秒内完成密码的输进操作,否那么无效。
按键SB5与IC2的置位端1S相连,按下SB5时,IC2的1Q输出高电平。
按键SB1,SB9,SB8分不与IC1的S1、S2、S3的一个输进端相连。
S1,S2,S3的输出端分不连接着IC2的2S,3S和0S。
当顺序按下SB1,SB9,SB8时,IC2DE2Q、3Q、0Q输出高电平。
IC2的1R~0R并联后通过电阻R6接低电平,1S、2S、3S、0S分不通过电阻R5~R2接低电平。
伪码键SB2、SB3、SB4、SB6、SB7的一端并联后接到IC2的0R~3R,当按下其中任何一键后,IC2的4个D触发器全部复位,往常按下的有效键全部失效。
C1、RP组成10秒限时电路,当按下SB0后,电源经SB0、VD1向C1充电,当充到接近电源电压时,IC2的S4接通,IC2的VDD通过S4得到工作电流。
松开SB0后,C1通过RP放电,放电时刻为10秒,10秒后S4断开,IC2失电。
IC3为2-4输进与门电路CD4082,当IC2的4个输出端均为高电平常,IC3的1足输出高电平并使R7使VT导通,继电器吸合。
操作过程:按照电路设定密码05198的顺序按下密码键。
当按下SB0后,电源经SB0路通过VT1向C1充电,当C1充电至S4的接通电压后,S4接通,电源经S4加至IC2的VDD。
课程设计说明书课程名称:《单片机技术》设计题目:基于51单片机的电子密码锁院(部):电子信息与电气工程学院学生姓名:马亚林学号:专业班级:12通信工程(专升本)指导教师:丁莹亮2013年05月17日课程设计任务书设计以单片机AT89C51为核心的电子密码锁,包括电子密码锁完整的设计过程以及外围的开锁电路和报警电路的设计。
电子密码锁要完成以下部分的设计:按键接口电路、电子密码锁的控制电路、输出八段显示电路。
电子密码锁控制电路能完成以下功能设计:数字按键的数字输入、存储和清除、功能按键的功能设计、密码的清除和复位、报警信号产生电路密码核对、解除电锁电路、输出八段显示电路完成以下电路设计:数据选择电路、八段显示器扫描电路。
学生应完成的工作:1.运用Proteus软件设计电路原理图;2.用Proteus软件进行仿真;3.焊接电路板并调试实现其功能;4.完成实习报告;5.我的任务是设计电路原理图并仿真。
参考文献阅读:[1] 杜尚丰. CAN总线测控技术及其应用.北京:电子工业出版社,2007.1[2] 杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6工作计划:2013.5.6 熟悉课题并查阅相关资料,同时消化吸收资料内容;2013.5.7——2013.5.8 根据设计题目确定硬件设计方案,并交与指导老师修改;2013.5.9——2013.5.10 开始着手课题的软件设计,与指导老师进行沟通;2013.5.13 申请领用元器件;2013.5.14——2013.5.17 进行实物制作,并撰写课程设计报告。
任务下达日期:2013 年5月 6 日任务完成日期:2013 年5月17 日指导教师(签名):学生(签名):王立斌基于51单片机的电子密码锁的设计摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。
本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。
根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。
而且采用键盘输入的电子密码锁具有较高的优势。
采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。
软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。
测试结果表明,本系统各项功能已达到本设计的所有要求。
关键词:单片机;密码锁;单片机设计,电子锁。
目录1. 设计背景 (5)1.1选题背景 (5)1.2课题意义 (5)2.设计方案 (5)3. 方案实施 (6)3.1硬件系统 (6)3.1.1AT89C52简介及功能引脚 (7)3.1.2晶振电路 (7)3.1.3共阳极数码管 (8)3.1.4复位电路 (8)3.1.5发光二极管 (9)3.2软件设计 (10)3.3仿真设计 (12)3.4系统制作 (13)4. 结果与结论................................ 错误!未定义书签。
5. 收获与致谢................................ 错误!未定义书签。
6. 参考文献.................................. 错误!未定义书签。
7. 附件...................................... 错误!未定义书签。
7.1元器件清单 (15)7.2密码锁程序 ............................ 错误!未定义书签。
7.3系统硬件电路图......................... 错误!未定义书签。
7.4系统实物照片........................... 错误!未定义书签。
1.设计背景1.1选题背景在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。
(如指纹、眼底视网膜等)来控制锁的开启。
从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。
当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。
1.2课题意义单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。
为了紧跟时代步伐,系特此安排此次实习,以提高对单片机的认识及对其更深一步的理解与掌握。
2.设计方案2.1原理设计密码锁工作时分为两种工作状态,分别是正常状态和锁定状态。
锁定状态时,输出锁定信号,供外部执行机构使用,实现上锁功能;正常状态时,锁定信号消失,供外部执行机构使用,实现开锁功能以AT89C52问为中心,在引脚XTAL1和XTAL2输入由晶振电路产生的固定脉冲,同时设置复位电路。
4个数字键通过P0口的低1位P0.0-P0.3连接,P0.0表示0数字键、P0.1表示1数字键、P0.2表示2数字键、P0.3表示3数字键。
按键按下为低电平,断开为高电平。
数码管与P3口的七个引脚相连,稳压电路通过7805、桥堆2W10和适当电容实现。
软件部分可以编程驱动电路及延时程序,完成相应要求,可用PROTUES软件进行仿真,验证程序是否正确。
第二种方案是在P.0-P0.6口与数码管之间连接驱动芯片74LS247,程序可不必编入驱动程序。
以上两种方案都可以完成密码锁设计要求,不同之处是前者方便简易,易于实现,且可提高编程能力,而第二种也可实现,在考虑节约方面,是浪费了驱动芯片,且即使有驱动芯片,也要考虑芯片驱动电压和驱动电路正确与否,相对而言,不如前者。
2.2软件设计根据要求和设计方案在PROTUES软件中画出相应电路,用汇编语言汇编应用程序,之后把程序导入单片机中进行验证,成功后制作PCB板3.方案实施3.1 硬件系统3.1.1 AT89C52简介及功能引脚AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
它是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写端口,AT89C52可以按照常规方法进行编程,但不可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
AT89C52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。
功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。
主要管脚有:XTAL1和XTAL2为振荡器输入输出端口,外接12MHz 晶振。
RST/VPP为复位输入端口,外接电阻电容组成的复位电路。
VCC和VSS为供电端口,分别接+5V电源的正负端。
P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C 总线控制端口,分别连接N1的SDAS和SCLS端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
其引脚图见图1。
图1 AT89C523.1.2 晶振电路MC-51内部有一个用于构成振荡器的高增益反相放大器,输入端为引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成一个自激振荡器,如图2。
电路中C1和C2典型值通常选为30pF左右,对外接电容没有严格要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。
振荡器的频率范围在1.2MHz-12MHz之间。
图23.1.3共阳极数码管共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
其原理图如图2:图3 共阳极数码管3.1.4复位电路电阻给电容充电,电容的电压缓慢上升直到VCC,没到VCC时芯片复位脚近似为低电平,于是芯片复位,接近VCC时芯片复位脚近似为高电平,于是芯片停止复位,复位完成。
先看看单片机数据手册,得知复位时间最少是多少个周期,再计算当前时钟频率一个周期是多少时间,再乘以复位所需周期数就知道当前时钟频率所需复位时间,用RC充电公式计算所需电阻电容值即可。
注意单片机数据手册复位脚的高低电平电压值,RC充电时间要计算复位脚的高低电平区间电压,复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
图3所示的RC复位电路可实现上述基本功能。
RST图4 复位电路3.1.5 发光二极管发光二极管简称为LED。
由镓与砷、磷的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。
磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。
它是半导体二极管的一种,可以把电能转化成光能;常简写为LED。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P 区的电子,在PN结分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。