电子密码锁报告
实习报告电子密码锁设计

实习报告:电子密码锁设计一、实习背景及目的随着科技的不断发展,电子产品在日常生活中扮演着越来越重要的角色。
电子密码锁作为一种安全技术防范产品,具有安全性高、成本低、功耗低、易操作等优点,已广泛应用于家庭、办公室、银行等领域。
本次实习旨在了解并掌握电子密码锁的设计原理,提高自己在电子技术方面的实际操作能力。
二、实习内容与过程1. 了解电子密码锁的原理电子密码锁的核心部分是密码控制器,它通过接收键盘输入的密码,与设定的密码进行比较,根据比较结果控制电路或芯片的工作。
在本实习中,我们采用51单片机作为密码控制器,通过矩阵键盘输入密码,利用数码管显示密码输入情况。
2. 设计电路图根据实习要求,设计电子密码锁的电路图。
电路主要包括51单片机、矩阵键盘、数码管、报警电路、电源等部分。
矩阵键盘用于输入密码,数码管用于显示密码输入情况,报警电路用于提示密码错误,电源为整个电路提供稳定的电压。
3. 编写程序使用C语言编写程序,实现电子密码锁的功能。
程序主要包括主函数、键盘扫描函数、数码管显示函数、报警函数等。
主函数负责初始化硬件设备,循环调用键盘扫描函数,接收并显示密码输入情况。
键盘扫描函数用于检测矩阵键盘按键状态,数码管显示函数负责在数码管上显示输入的密码,报警函数则在密码错误时发出报警。
4. 调试与优化在Proteus仿真软件中进行电路仿真,调试程序。
在仿真过程中,发现键盘输入与数码管显示部分存在问题,通过修改程序代码,解决了这些问题。
同时,对程序进行优化,提高了运行效率。
5. 实物焊接与测试根据电路图,购买元器件,进行实物焊接。
焊接完成后,对电子密码锁进行测试,验证其功能是否符合预期。
在测试过程中,发现报警功能存在问题,经过排查,发现是报警电路部分出现问题,重新焊接后,问题得到解决。
三、实习收获与体会通过本次实习,我对电子密码锁的设计原理和实际操作有了更深入的了解。
在设计过程中,我学会了如何根据实际需求,运用所学知识,设计出符合要求的电路图和程序。
电子密码锁实验报告

课程设计(综合实验)报告( 2011 -- 2012 年度第 1 学期)名称:电子技术综合实验题目:数字电子钟院系:电气与电子工程学院班级:电气0903学号:**********学生姓名:**指导教师:**设计周数: 2成绩:日期:2012 年 1 月8 日一、课程设计(综合实验)的目的与要求钟表是人们生活中的常用物品。
本题要求用电子器件设计制作一个数字电子钟。
具体要求是:1、设计一个能直接显示时、分可以进行校“时”、校“分”的数字电子钟。
小时可采用十二进制也可采用二十四进制。
2、(1)设计24小时整点报时控制电路,要求每整点发出一声音响报时。
(2)要求只在6--22点之间每整点报时一次,23--5点之间整点不报时。
3、设计任意几点几分均可响铃的闹钟控制电路。
响铃1分钟,可提前终止。
4、根据规定的作息时间表,设计自动响铃控制电路。
(选做)2.设计思路数字式电子钟的基本功能是能够实现时、分、秒的正确计时,计时单位为1秒。
因此,一个简单的数字式电子钟,首先必须有计时显示电路和秒脉冲产生电路。
(为了避免重复电路,秒计时在本课题中省略,所以计时单位为1分钟,秒脉冲变为分脉冲,仿真中可用软件中已有的时钟信号发生器来实现。
)其次,当刚接通电源或时钟走时出现误差时,需要进行时间校准,否则就不能正确表示当前时间。
因此,数字式电子钟应有校时控制电路。
另外,若要求数字钟能够自动整点报时或按要求时间闹铃,还应有整点报时和闹铃控制电路。
若还需要其它功能,相应的还要有一些控制电路。
综上所述,数字式电子钟应由计时显示电路和控制电路组成。
二.方案设计与论证1、计时电路时间标准:“分”信号后,就可以根据60分为1小时,24小时为一天的计数周期,分别组成一个个60进制,一个24进制的计数器。
将这些计数器适当连接,就可以够成秒,分时的计数器,实现计时功能。
本实验采用74ls160十进制加法计数器。
采用清零法和异步级联法构成60进制,24进制计数器。
密码锁实验报告doc

密码锁实验报告篇一:电子密码锁实验报告密码锁实验报告一,实验目的1. 学习8051定时器时间计时处理、跑马灯、按键扫描及LED数码管显示的设计方法。
2. 设计任务及要求利用实验平台上8个LED数码管,按键,跑马灯实现设置密码,密码锁的功能二,实验要求基本要求:1:用4×4矩阵键盘组成0-9数字键及确认键和删除键。
2:可以自行设定或删除8位密码。
3:用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。
三,实验基本原理利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20。
为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。
由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。
四,实验设计分析针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash 只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。
这样,既能做到经济合理又能实现预期的功能。
1在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。
程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。
数电实验—密码锁报告

电子密码锁实验报告姜岳松一、实验目的1.了解电子密码锁的原理,学会用硬件描述语言来建立电子密码锁的模块。
2.利用该软件进行可编程逻辑器件设计,完成电子密码锁的逻辑仿真功能。
3.使用编译器将设计实现,下载到JDEE—10实验箱上进行调试和验证所设计的电子密码锁的功能。
二、实验器材1.Pentium—Ⅲ计算机一台;2.JDEE—10实验箱一只;三、实验要求设计一个电子密码锁,实现以下的功能:用8个拨码开关分别代表预设的密码和输入待验证的密码。
一个微动开关做为触发判断。
判断结果通过点阵和蜂鸣器表示。
正确的话,所有点阵的绿色灯点亮,同时蜂鸣发出“di”声。
否则,点阵显示红色,同时蜂鸣“do”音。
四、实验方案及设计过程1.第一部是实验电子密码锁的基本功能,该程序的主体是一个密码判断程序:首先是将输入的预设的密码和待验证密码用数组储存起来进行比较,比较结果通过IF语句,相同则触动绿色点阵和蜂鸣器的一个频率,不同则触动红色点阵和蜂鸣器的另一个频率2.开始丰富附肢程序:两种不同的响声需要两个计数器来产生不同的频率;要有一个上升沿保证颜色显示程序和密码判断程序以一个高频率运行,需要一个计数器;一个密码验证开关,由微动开关实现,在密码验证开关触动后能够保持一个高电位,这样则需要一个由D触发器构成的锁存器来锁定高电平。
3.点阵的显示:点阵的显示控制,由于显示OK的原代码之前已经练习过,然后设计好NO的字符,可以直接完成拓展之一。
此部分不需要详述。
五、拓展功能设计拓展主要是为了实现八位密码,这样所有的拨码开关都要用上,所以还需要两个微动开关来确定密码设定和输入。
同时,微动开关启动后,能够将拨码开关的密码储存到数组A[7..0]和B[7..0]中,待判断开关启动后调用,所以要用寄存器储存起来,所以声明一个串进串出的寄存器。
同时对主程序的判断器的输入变量进行修改。
六、顶层文件和源程序文本文件顶层文件文本:SUBDESIGN ECLOCK ( a[7..0],b[7..0]:input;key: input;freq1,freq2: input;red: output;green: output;spk: output;)begindefaultsred=gnd; green=gnd;spk=gnd;end defaults;if key thenif a[]==b[] then red=vcc;spk=freq1;else green=vcc;spk=freq2;end if;end if;end;点阵显示文本:subdesign leddiaplay( green,red: input;clk[2..0]: input;row[8..1],colred[16..1],colgreen[16..1]: output; )begindefaultscolred[]=h"ffff";colgreen[]=h"ffff";end defaults;if green thentableclk[2..0]=>row[8..1],colgreen[16..1];H"0" =>H"1", H"DBC3"; %1101 1011 1100 0011% H"1" =>H"2", H"EBDB";H"2" =>H"4", H"EBDB";H"3" =>H"8", H"F3DB";H"4" =>H"10", H"F3DB";H"5" =>H"20", H"EBDB";H"6" =>H"40", H"EBDB";H"7" =>H"80", H"DBC3";end table;end if;if red thentableclk[2..0]=>row[8..1],colred[16..1];h"0" =>h"1", h"C3DB";h"1" =>h"2", h"DBD3";h"2" =>h"4", h"DBD3";h"3" =>h"8", h"DBC3";h"4" =>h"10", h"DBCB";h"5" =>h"20", h"DBCB";h"6" =>h"40", h"DBCB";h"7" =>h"80", h"C3DB";end table;end if;end;寄存器文本:SUBDESIGN register(clk,load,d[7..0] :input;q[7..0] :OUTPUT;)VARIABLEff[7..0] :DFFE;BEGINff[].clk=clk;ff[].ena=load;ff[].d=d[];q[]=ff[].q;end;七、试验中遇到的问题1、设计八位密码的时候,需要将八位的密码输进判断器,起初采取的不是寄存器的手段,而是自己定义了一个使能开关,当微动开关高电平就允许密码通过使能开关到达a[7..0]或者b[7..0],但是实验发现这样密码并不能被储存起来,后来想明白应该是由于并没有变量储存的机制,所以要想将变量储存必须有寄存器才行,根据教材定义寄存器后,该问题得到解决。
电子密码锁实习报告

实习报告:电子密码锁设计与实现一、实习背景及目的随着科技的不断发展,电子密码锁作为一种新型的安全防护设备,逐渐应用于日常生活和工作中。
本次实习旨在通过设计和实现一个基于单片机的电子密码锁,掌握电子密码锁的工作原理,提升自己的实际动手能力和创新能力。
二、实习内容1. 电子密码锁的总体设计本次实习设计的电子密码锁主要包括以下几个部分:4x4矩阵键盘、单片机、LCD显示模块、掉电存储模块、报警机构和开锁机构。
其中,4x4矩阵键盘用于输入密码,单片机负责密码的存储、比较和处理,LCD显示模块用于显示密码输入状态和锁的开关状态,掉电存储模块用于保存密码信息,报警机构在密码输入错误时发出报警,开锁机构在密码输入正确时解锁。
2. 硬件设计(1)4x4矩阵键盘:采用行列矩阵式布局,减小了键盘占用的空间,提高了可靠性。
(2)单片机:选用51系列单片机,具备较强的逻辑处理能力和稳定性。
(3)LCD显示模块:采用液晶显示屏,清晰显示密码输入状态和锁的开关状态。
(4)掉电存储模块:采用EEPROM芯片,用于保存密码信息,确保数据不丢失。
(5)报警机构:采用蜂鸣器,声音响亮,提醒用户密码输入错误。
(6)开锁机构:采用继电器,实现电控锁的开关。
3. 软件设计(1)密码输入:用户通过4x4矩阵键盘输入6位密码,密码输入过程中,LCD显示模块实时显示输入的密码。
(2)密码比较:单片机对输入的密码进行处理,与预设的密码进行比较。
(3)密码存储:将正确的密码存储到EEPROM芯片中,确保断电后密码信息不丢失。
(4)报警功能:当密码输入错误达到一定次数时,触发报警。
(5)开锁功能:当输入的密码正确时,通过继电器控制开锁机构解锁。
三、实习心得通过本次实习,我深入了解了电子密码锁的工作原理和设计方法,掌握了单片机、矩阵键盘、LCD显示模块等硬件组件的使用,以及C语言编程技巧。
在实习过程中,我学会了如何根据需求进行合理的模块划分,如何通过程序实现密码的存储、比较和处理,以及如何调试硬件电路。
电子密码锁开题报告

电子密码锁开题报告电子密码锁开题报告一、背景介绍随着科技的飞速发展,电子密码锁作为一种新型的安全防护设备,逐渐成为人们生活中不可或缺的一部分。
相较于传统的机械密码锁,电子密码锁具备更高的安全性和便利性,因此受到越来越多人的青睐。
本文将对电子密码锁的原理、应用和未来发展进行探讨。
二、电子密码锁的原理电子密码锁的核心原理是通过电子技术实现开锁的过程。
它通常由密码输入模块、控制模块和驱动模块组成。
当用户输入正确的密码后,密码输入模块将信号传递给控制模块,控制模块根据预设的密码进行比对,如果匹配成功,则通过驱动模块控制锁体解锁。
相比传统的机械密码锁,电子密码锁的开锁过程更加安全可靠,同时还可以设置多组密码,方便用户管理。
三、电子密码锁的应用1. 家庭安全电子密码锁在家庭安全方面发挥着重要作用。
传统的机械密码锁容易被破解,而电子密码锁采用数字密码,具备更高的安全性。
此外,电子密码锁还可以设置临时密码,方便家庭成员和亲友的进出,同时还可以记录开锁的时间和人员,为家庭安全提供更多的保障。
2. 商业场所电子密码锁在商业场所的应用也越来越广泛。
例如,酒店房间的门锁普遍采用电子密码锁,客人只需输入正确的密码即可进入房间,无需携带钥匙,提高了入住体验的便利性。
此外,电子密码锁还可以与其他系统集成,如门禁系统、监控系统等,形成一个完整的安全管理系统。
3. 公共设施电子密码锁在公共设施上的应用也逐渐增多。
例如,公共停车场的出入口处常常设置电子密码锁,用户只需输入正确的密码即可进入或离开停车场,方便快捷。
此外,一些公共场所如图书馆、学校等也开始采用电子密码锁,提高了管理效率和安全性。
四、电子密码锁的未来发展随着科技的不断进步,电子密码锁也在不断发展和创新。
未来,电子密码锁可能会与生物识别技术相结合,如指纹识别、人脸识别等,进一步提高安全性和便利性。
同时,随着物联网技术的兴起,电子密码锁还可以与其他智能设备连接,实现更智能化的管理和控制。
电子密码锁实训报告心得

一、前言随着科技的发展,人们对安全的重视程度日益提高,电子密码锁作为一种高科技产品,广泛应用于家庭、企业、银行等领域。
为了提高自己的实践能力,我参加了电子密码锁实训课程,通过本次实训,我对电子密码锁的设计与实现有了更深入的了解,以下是我对本次实训的心得体会。
二、实训内容与过程1. 实训内容本次实训主要包括以下几个方面:(1)电子密码锁原理及设计方法;(2)电子密码锁硬件电路设计;(3)电子密码锁软件编程;(4)电子密码锁仿真与调试。
2. 实训过程(1)理论学习:通过查阅相关资料,了解电子密码锁的基本原理、设计方法以及常见硬件电路。
(2)硬件电路设计:根据实训要求,设计电子密码锁的硬件电路,包括键盘输入、密码存储、显示、报警等模块。
(3)软件编程:根据硬件电路设计,编写电子密码锁的软件程序,实现密码输入、密码存储、密码比较、报警等功能。
(4)仿真与调试:利用Proteus软件对电子密码锁进行仿真,观察电路运行状态,根据仿真结果调整电路参数,直至满足设计要求。
三、实训心得体会1. 基本原理与设计方法通过本次实训,我对电子密码锁的基本原理有了更深入的了解。
电子密码锁主要由以下几个部分组成:(1)密码输入模块:用于输入密码,一般采用键盘输入方式;(2)密码存储模块:用于存储密码,一般采用EEPROM或Flash存储器;(3)密码比较模块:用于比较输入密码与存储密码是否一致;(4)显示模块:用于显示密码输入情况、锁状态等信息;(5)报警模块:用于在密码输入错误时发出报警信号。
在设计电子密码锁时,需要考虑以下几个因素:(1)安全性:密码存储方式要保密,防止他人非法获取;(2)可靠性:电路设计要稳定,防止因电路故障导致密码丢失或误操作;(3)易用性:操作简单,便于用户使用;(4)成本:尽量降低成本,提高产品竞争力。
2. 硬件电路设计在硬件电路设计过程中,我学习了如何选择合适的元器件,如何设计电路板,以及如何布线。
电子密码锁【精选文档】

电子密码锁实验报告一、实验目的。
1.了解电子密码锁的工作方式,制定设计方案。
2.利用ISE软件进行可编程逻辑器件设计,完成逻辑仿真功能。
3.使用编译器将设计实现,下载到BASYS2实验板上进行调试和验证所设计的四位二进制数的运算.二、实验器材.1.Pentium—Ⅲ计算机一台;2.BASYS2 实验板一只;三、实验方案。
1.基本功能。
利用开关进行密码输入,并利用一个微动开关作为触发判断,密码正确则显示RRRR,错误则显示FFFF。
2.清零功能。
利用一个微动开关,当微动开关按下则预设密码和验证密码都为0,可以重新设定密码。
3.利用开关进行十进制密码输入。
本密码锁使用sw[3:0]进行密码输入,利用开关表示出十进制数的二进制形式,利用两个微动开关分别作为预设密码与验证密码的确认键,按下确认键则密码输入。
4。
数码管显示本密码锁可以动态显示输入的密码,并且当每一位密码输入时,原密码自动左移一位,未输入密码时数码管显示零。
四、实验原理图。
五、实验模块说明及部分代码。
module checker(s1,c1,c2,c3,an,a_to_go,clk,clr);input [3:0]s1;input c1,c2,c3;output reg[3:0]an;output [6:0]a_to_go;input clr;input clk;reg [16:0] clk_cnt;reg [3:0]num_ge1;reg [3:0]num_shi1;reg [3:0]num_bai1;reg [3:0]num_qian1;reg [3:0]num_ge2;reg [3:0]num_shi2;reg [3:0]num_bai2;reg [3:0]num_qian2;reg [3:0]flag;reg [3:0]choose=0;(* KEEP =”TRUE" *)reg [1:0]panduan;always @(posedge clk)begin //分频clk_cnt=clk_cnt+1;if(clk_cnt[16])clk_cnt=0;endalways @(*)begin //数码管是能循环case(clk_cnt[14:13])2'b00:begin an[3]=1;an[2]=1;an[1]=1;an[0]=0;end2'b01:begin an[3]=1;an[2]=1;an[1]=0;an[0]=1;end2’b10:begin an[3]=1;an[2]=0;an[1]=1;an[0]=1;end2’b11:begin an[3]=0;an[2]=1;an[1]=1;an[0]=1;end default:begin an[3]=1;an[2]=1;an[1]=1;an[0]=1;end endcaseendalways @(posedge c2 or posedge clr)begin //输入设定密码if(clr)beginnum_ge1=0;num_shi1=0;num_bai1=0;num_qian1=0;endelsebeginnum_qian1=num_bai1;num_bai1=num_shi1;num_shi1=num_ge1;num_ge1=s1[3]*8+s1[2]*4+s1[1]*2+s1[0];endendalways @(posedge c3 or posedge clr)begin //输入测试密码if(clr)beginnum_ge2=0;num_shi2=0;num_bai2=0;num_qian2=0;endelsebeginnum_qian2=num_bai2;num_bai2=num_shi2;num_shi2=num_ge2;num_ge2=s1[3]*8+s1[2]*4+s1[1]*2+s1[0];endendalways @(posedge c2 or posedge c3 or posedge c1)begin //显示密码还是原码if(c2)beginchoose=0;endelseif(c3)beginchoose=1;endelsebeginchoose=2;endendalways @(*)begin //显示case(choose)0:case(clk_cnt[14:13])2’b00:begin flag=num_ge1;end2'b01:begin flag=num_shi1;end2’b10:begin flag=num_bai1;end2’b11:begin flag=num_qian1;enddefault begin flag=0;endendcase1:case(clk_cnt[14:13])2'b00:begin flag=num_ge2;end2’b01:begin flag=num_shi2;end2’b10:begin flag=num_bai2;end2’b11:begin flag=num_qian2;enddefault begin flag=0;endendcase2:if(panduan==1)begin flag=4'ha;endelseif(panduan==0)begin flag=4’hf;endelsebegin flag=0;endendcaseendalways @(posedge c1 or posedge clr)begin //判断if(clr)beginpanduan=2;endelseif(num_ge1==num_ge2)if(num_shi1==num_shi2)if(num_bai1==num_bai2)if(num_qian1==num_qian2)beginpanduan=1;endelse begin panduan=0;endelse begin panduan=0;endelse begin panduan=0;endelse begin panduan=0;endendset a1(.flag(flag),。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机控制的电子密码锁
设计者:张雪贵
指导老师:李峥
淮北煤炭师范学院物理与电子信息学院 06电子信息工程
2009年6月
基于单片机的电子密码锁
一设计任务
设计一个利用AT89S52单片机控制的电子密码锁,该电子密码功能包括16个密码输入,密码输入过程中清除输入,密码正确和错误分别用蜂鸣器提示,输入错误密码超次锁定,密码修改,12864LCD 显示菜单实现多功能等等。
二总体方案设计与实现
电子密码锁系统核心用AT89S52单片机控制,密码输入按键为4*4矩阵键盘16个按键实现密码输入,外加独立按键实现清除,确定和液晶反白控制。
密码存储电路利用AT24C02芯片,该芯片可以实现掉电存储,而且数据可保留时间长,与单片机连接简单。
报警电路利用三极管驱动小型蜂鸣器实现,通过给蜂鸣器送不同频率的电平信号实现不同声音报警。
LCD用12864字符型液晶实现,通过单行反白实现菜单,加强液晶显示内容及添加系统功能。
另外,电磁锁电路暂时利用发光二极管代替,用发光二极管的亮灭和蜂鸣器的响声来指示电磁锁的开关。
图1 系统原理框图
图2系统总体原理电路图
三硬件电路的功能单元设计
(一)单片机最小系统
其原理图如图1所示
图3 单片机最小系统模块
单片机采用AT89S52单片机, AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,与工业80C51产品指令各引脚完全兼容。
单片机最小系统主要有两块组成,其一为晶振起振电路,其二为复位电路。
在此,我们采用按键手动复位,相对来讲,这种复位方式更加方便人性化,不必要切断电源即可对系统进行复位。
(二)开锁电路
通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。
其原理如图2 所示。
图4 开锁电路原理
当用户输入的密码正确单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。
在此为节省成本考虑,我们用二极管代替电磁锁,将一切在LCD上面显示,并且利用蜂鸣器和二极
管声光指示。
(三)密码存储电路设计
密码存储采用AT24C02存储,它能都掉电存储数据。
掉电存储单元的作用是在系统电源断开的时候,存储当前设定的密码数据。
AT24C02是ATMEL公司的2KB字节的电可擦除\是模拟的IIC总线式EEPROM,采用两线串行的总线和单片机通讯,电压最低可以到,额定电流为1mA,静态电流10Ua,芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。
本实验中,AT24C02的SCLK和SDA引脚(SDA为数据线,SCLK为时钟信号线)接上拉电阻后与单片机的和脚相连,其电路图如图5所示
图5 AT24C02掉电存储电路图
(四) 按键电路设计
1.按键密码输入电路设计
由于本设计中要求使用0-F 16个密码数值按键输入,数目较多,故使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
本设计中采用矩阵键盘行线和单片机~相连,列线与单片机~相连,其电路图如图6所示
键盘扫描采用行扫描法,即依次置行线中的每一行为低电平,其余均为高电平,扫描列线电平状态,为低电平即表示该键按下。
键盘消抖采用软件延时消抖,可以减小硬件电路复杂程度,控制简单。
图6 矩阵键盘模块电路图
2.独立按键电路设计
本设计除矩阵键盘的0-F 16个密码按键之外,还需要有另外独立按键作为控制。
本次设计一共设计了4个独立按键,利用单片机I/O口直接连接,电路简单。
其中两个按键用来作为密码输入时的确定和清除键,使系统做到更加人性化。
另外两个按键用于LCD12864的菜单选择按键,是LCD显示更多的内容,同样,这个设计也是为了使系统功能更加强大,系统更加贴近人们日常使用,同样是系统更加人性化。
由于本设计的软件设计中不会用到单片机P3口第二功能,因此独立按键一端与单片机~相连,另一端接地,其电路图如图7所示
图7:独立按键模块电路
(五)声音提示电路设计
声音提示电路采用小蜂鸣器提示。
蜂鸣器能够根据脉冲信号,以及信号的频率发出各种不同的声音,这样我们就可以更具系统要求发出密码出入正确和密码输入错误是发出不同的声音提示,已达到报警的要求。
蜂鸣器电路如图8所示
图8 蜂鸣器模块电路
(六)显示模块设计
显示电路采用12864 字符型LCD显示。
中文字符型12864中文液晶显示模块可以显示字母、数字符号、
中文字型及图形,具有绘图及文字画面混合显示功能。
提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。
所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。
内置2M-位中文字型ROM (CGROM) 总共提供8192 个中文字型(16x16 点阵),16K-位半宽字型ROM (HCGROM) 总共提供126 个符号字型(16x8 点阵),64 x 16-位字型产生RAM (CGRAM),另外绘图显示画面提供一个64x256点的绘图区域(GDRAM),可以和文字画面混和显示,使显示功能更加强大。
本设计中我们采用的字符型12864LCD,自带中文字库,使我们的程序控制显示更加简单,设计的时候能够灵活按照我们的要求显示汉字,简单明了,而且利用该LCD如单片机控制器的串行接口模式,LCD 显示模块与单片机的连接仅仅只需要5根线,比图像型LCD显示模块要少了7根线,大大节约了单片机的I/O口!另外该类液晶还支持反白显示,这样我们可以利用该功能将显示做成单行反白式菜单,可以让液晶现实更多的内容使设计更加贴近人们的生活使用习惯,使设计更加人性化!在设计中,我们将密码修改,恢复初始密码等等做成二级菜单选项,通过按键操作,功能更强大,操作简单方便明了。
此外根据功能扩展需要,我们甚至可以添加多级菜单,是电子密码锁功能更加强大!
本设计中液晶串口一共用到5根线与单片机相连其中CS引脚,
R/W引脚,SCLK引脚,PSB引脚,RESET引脚分别对应与单片机的,,,,相连接。
四软件程序设计及流图
模块介绍
与硬件电路相关联,本电子密码锁系统的软件设计分为以下几个模块:主程序模块,键盘扫描及识别模块,AT24C02密码读写存储模块,12864LCD显示模块,蜂鸣器模块等等。
下面分别介绍各个模块的程序设计
(1)主程序模块
在主程序模块中要完成系统初始化,检测按键,调用存储以及调用显示等功能。
主程序流程图如7图所示
(2)键盘扫描及识别子程序模块
密码输入矩阵键盘采用行扫描法,扫描方式为查询的方式,在主程序中调用,无键按下的时候,程序一直在子程序中间循环当有键按下时,及识别按键以及送到LCD显示。
密码设置为6位,密码输入过程中可以实现密码清除,通过查询方式检测独立按键的清除键,调用清除程序实现。
矩阵键盘扫描及识别用在密码输入和密码修改程序中间!
独立按键也采用查询方式,放在各程序中,无键按下的时候继续循环程序,有键按下的时候即跳转到相应的程序执行。
独立按键模块主要在LCD反白菜单的时候调用。
(3)调电存储服务程序模块
当比较密码的时候,需要读AT24C02程序,将存储在芯片内的数据读到RAM中,然后和输入的密码相比较。
当修改密码的时候,需要
把输入的密码保存到AT24C02中,其程序流程如图8 所示。
图7 主程序流程图
图8 密码修改程序流程图
(4)显示子程序模块
显示子程序包括LCD12864串口驱动程序,液晶反白程序等等。
利用写好串口驱动程序,我们只要在要显示的时候,只要写好要显示的字符,然后直接调用驱动程序就可以,方便使用液晶。
液晶反白菜单程序的的完成,是利用字符型LCD12864的绘图显示功能。
首先,我们将液晶显示中文字符,然后利用绘图指令将我们要反白的地方送上FFH即可以是几个中文字反白显示,反之,要清除法反白的时候,我们只要往反白的地址送00H即可正常显示!利用按键控制反白行的选择,我们在设计中制作了四个子菜单,分别是:修改密码,恢复初始密码,制作者信息以及上锁。
液晶单行反白控制菜单,液晶显示内容多,加强系统功能,简单实用。
五调试与总结
本系统由单片机系统、矩阵键盘、LCD显示和报警系统组成。
系统能完成开锁、错误报警,超次锁定、修改用户密码,恢复初始密码基本的密码锁的功能。
除上述基本的密码锁功能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。
本系统利用
单片机控制,LCD菜单显示,配合蜂鸣器和发光二极管的声光指示,再加上AT24C02的密码存储功能,系统成本低廉,功能强大实用。
但是在系统调试过程中,还是发现一些问题,系统不稳定情况时有发生,经过反复调试发现下列问题:按键效果不好,产生较大状况的抖动,使软件消抖不完全;另外一个就是单片机本身不问题,引起系统跑飞或者卡死;还有就是由于电路板制作的原因,线路之间产生干扰,系统发生错误,比如液晶显示错误等等。
经过反复调试和修改,最好终于达到一个比较满意的水平。
本系统设计还做的不是太人性化,比如说能够加上语音提示和遥控开锁功能,将可能会更加有生命力!。