1第一部分:课题背景描述课题来源:课题思路来源于本次大赛的参考题目需求分析:电子密码锁是一种通过单片机来控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。国内外研究现状在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。电子密码锁特点如下:1.保密性远远大于弹子锁。随机开锁成功率几乎为零。2.密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3.误码输入保护。当输入密码多次错误时,报警系统自动启动。4.电子密码锁操作简单易行,一学即会。另外,随着科学技术的发展,用户在生活中需要使用的锁类越来越多,电子密码锁能为用户提供安全无忧的服务,因此市场前景十分广阔。第二部分:功能描述功能特点:本项目设计一种基于STC89C51单片机控制的电子密码锁,具有如下功能:①可通过键盘输入密码控制开关的开锁和闭锁②可通过扩展的LED显示器显示输入的密码③密码可以多次改写和重置④连续三次输入密码错误延迟10秒钟后,2声光报警装置工作技术指标:①输入电压:5V②使用温度范围:-20℃~65℃第三部分:可行性分析设计思路:本课题选用的ELITE-III单片机开发系统,以STC89C51单片机为核心,辅以扩展的键盘以及LED显示模块组成完整的系统。通过键盘采集输入的信息,与单片机内的储存值比较,如果密码正确,则开锁电路打开,并且绿灯亮;如果密码错误,则报警电路的红灯电路打开,若连续三次输入密码错误,声光电路打开,红灯闪烁,同时蜂鸣器产生蜂鸣音;在以上工作的同时显示电路工作,同步显示输入数值。●应用的技术分析:本课题的实现,需要使用到以下关键技术:①基于STC89C51单片机简单设计及外围扩展电路②键盘输入及单片机间的数据传输③LED显示技术、动态输出及单片机间的数据传输设计者当前已具备的技术条件:①课题组成员都参阅过相关的51单片机开发方面的书籍,熟悉Protel99电路设计,有一定的项目开发及电路设计基础②课题组成员XXX参加过基于KeilC51的培训练习,,对C语言函数库的调用有一定的了解,具备C语言程序设计开发经验③课题组成员XXX参加过焊接练习的培训,课题组成员XXX有一定的文学功底,有一定的能力撰写课题报告④项目指导老师XXX以前多次带的毕业生做过基于STC89C51单片机设计的项目,3并多次获得各类奖项,有着丰富的资料和经验。技术方案比较:在电子密码锁电路的设计中,控制方法是核心技术。方案一:采用数字电路控制。采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了12个用户输入键,其中只有10个是有效的密码按键,一个确定键和一个清除键;如果用户输入密码的次数超过指定次数(若用户觉得不便,还可以修改)电路将在10秒后发出报警声,电路将锁定键盘,防止他人继续非法操作。方案二:采用一种是用以STC89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。设计重点难点:完成本方案设计的重点和难点有以下几点:①C语言程序设计和控制函数的调用②键盘模块和动态显示工作方式的LED显示模块的控制③声光报警电路的设计④用Protel99软件进行电路图设计。第四部分:项目总体设计总体描述与系统框架:本系统硬件电路由控制模块、开锁闭锁电路、密码修改模块、键盘和显示模块和声光报警电路五大部分组成,系统硬件结构图如图1所示。矩阵键盘控制电路STC89C51单片保护电路(声光报警)4图1系统硬件结构图本系统的主控芯片为STC89C51单片机,由矩阵键盘控制电路、复位电路、震荡电路、声光报警电路、LED显示电路和开锁闭锁电路组成。首先系统主控芯片STC89C51单片机芯片由控制电路读取键盘的信息,根据键盘输入的信息与存储值(需设一个默认值)比较,判断密码正确性,同时显示电路工作,同步显示键盘模块输入的数据,若输入信息与默认值一致,则程序转至开锁电路,若不一致,则程序调用复位电路,重新向STC89C51单片机芯片输入信息,直到电路接通到开锁电路。若复位电路调用次数超过3,则程序调用声光报警电路发出警报,然后调用锁定程序将电路锁住一定时间。统控制程序采用C语言编写,主程序流程图如图所示复位电路振荡电路LED显示电路开锁闭锁电路5开始系统初始化提示输入密码键盘扫描有键按下数字键退格键确认键密码判断正确开锁退出错误3次延时10s存储键值刷新LED输出数据清除上次数字键输入报警YNYNYYYYNNN图4主程序流程图主程序流程图远原理介绍首先将系统初始化,显示电路工作显示6个0,提示用户输入密码,程序调用键盘扫描程序,确认是否有键按下,如果有键按下,将输入数字送入主控芯片为STC89C51单片机与储存值相比较,并同时刷新LED输出数据,若此时按下退格键,则系统执行清除上次数字键输入;如果六位密码输入完毕,并按下确定键,程序将输入的六位密码与储存值比较,判断密码是否正确;如果密码正确,程序调用开锁程序,并且开锁指示灯绿灯亮,提示密码正确,如果密码错误,报警电路的红色指示灯工作,提示密6码输入错误,如果密码输入错误超过三次,则报警电路工作,红色报警灯亮,且蜂鸣器发出报警声。各子模块的实现方法:系统由4大子模块组成,各子模块的实现方法如下:①控制模块:控制核心由STC89C51构成,运行系统程序并通过扩展I/O接口控制自主设计的各个子模块;②开锁闭锁电路:当用户输入的密码正确而且是在规定的次数内输入的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。若用户没有在指定的次数内输入正确的密码,驱动电路将自动锁住,并同时声光报警电路工作。③密码修改模块:通过调用程序取消原先所设定的密码,然后通过键盘输入新的密码。④键盘和显示模块:用4×3组成0-9数字键、退格键及确认键。用8位数码管组成显示电路提示信息,当输入密码时,显示输入数据,当密码位数输入完毕按下确认键时,STC89C51单片机芯片对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色LED发光二极管亮做为提示,同时发出“叮咚”声;若在指定的次数内密码输入不正确,则蜂鸣器发出“嘀、嘀”报警声,同时一定时间之内禁止按键输入。4×3行列式键盘的按键功能分布图如图4.33.2所示7894561230DelEnter按键键名功能说明0-9键数字键输入密码Del键退格键取消刚才输入的密码7⑤报警电路。完成系统的锁定保护工作,报警模块由蜂鸣器驱动电路和单片机P2.0I/O口控制组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。蜂鸣器电路如图4所示。当单片机的P2.0口输出为高电平时,蜂鸣器产生蜂鸣音,P2.0I/O口输出为低电平时,蜂鸣器不发声。预期结果:预期结果:各扩展板印刷电路制作完成,元件焊接无误,软件设计完好,调试成功后,系统能正常运行,基本完成前述系统所要求实现的各项功能。STC89C51引脚图Enter键确认键密码输入完成