基于单片机的电子密码锁课程设计说明书 精品.docx
《基于单片机的电子密码锁课程设计说明书 精品.docx》由会员分享,可在线阅读,更多相关《基于单片机的电子密码锁课程设计说明书 精品.docx(42页珍藏版)》请在冰豆网上搜索。
基于单片机的电子密码锁课程设计说明书精品
《单片机技术》课程设计说明书
密码锁
系、部:
学生姓名:
指导教师:
职称
专业:
通信工程
班级:
完成时间:
2013年12月
摘要
随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。
电子密码锁与普通机械锁相比,具有许多独特的优点:
保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。
目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。
本次设计使用AT89S52实现--基于单片机的电子密码锁。
本系统由单片机系统、矩阵键盘、LCD12864显示、EEPROM掉电保护模块和报警系统组成。
系统能完成开锁、超次锁定、修改用户密码等基本的密码锁的功能,系统具有掉电不消失的管理员密码。
除上述基本的密码锁功能外,依据实际的情况还可以添加扩展功能。
本系统成本低廉,功能实用。
关键词:
密码锁;单片机;LCD
ABSTRACT
Withthedevelopmentofelectronictechnology,whichhasthefunctionofanti-theftalarmandotherelectroniccombinationlockinsteadofpasswordquantityislittle,security,poormechanicalcombinationlockisinevitabletrend.Electroniccombinationlockcomparedwithordinarymechanicallock,hasmanyuniqueadvantages:
goodsecrecy,anti-theftsexisstrong,canneednotthekey,rememberpasswordlock,etc.Currentlyuseelectroniccombinationlockismostlybasedonsinglechipmicrocomputertechnology,singlechipmicrocomputerasthemaindevice,theencoderanddecoderforsoftware.
ThisdesignusesAT89S52torealizetheelectronicpasswordlockbasedonMCU.ThissystemconsistsofSCMsystem,matrixkeyboard,LCD12864display,EEPROMpowerdownprotectionmoduleandalarmsystem.Thesystemcancompletethelock,superlock,modifyuserpasswordsandotherbasicpasswordlockfunction,thesystemhastheelectricitydoesnotdisappearadministratorpassword.Inadditiontotheabovebasicpasswordlockfunction,basedontheactualsituationcanalsoaddtheextensionfunction.Thissystemhastheadvantagesoflowcost,practicalfunction.
Keywordspasswordlock;mcu;lcd
1设计课题任务、功能要求说明及总体方案介绍
1.1设计课题任务
课题:
密码锁
任务:
设计一个具有特定功能的密码锁。
该密码锁上电或按键复位后能自动显示系统提示界面,进入准备工作状态,能完成开锁、超次锁定、修改用户密码等基本的密码锁的功能。
1.2功能要求说明
该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。
1.3设计课题总体方案介绍及工作原理说明
本系统使用以单片机为核心元件的控制方案。
选用AT89S52单片机,通过4×4矩阵键盘输入密码及确认、取消操作,用蜂鸣器报警,外接LCD12864液晶显示器用于操作状态显示,并使用I2C总线串行EEPROM数据存储器AT24C02实现掉电密码不消失功能。
其系统控制原理图如图1所示。
图1系统控制原理图
2设计课题硬件系统的设计
2.1设计课题硬件系统各模块功能简要介绍
2.1.1单片机最小系统
此次设计中电路的控制部分选择以单片机AT89S52为核心的最小系统板,该系统由单片机、时钟电路、复位电路等组成。
这三部分是单片机正常工作的前提。
AT89S52采用+5V直流电源供电。
时钟电路采用外部时钟源,由外部提供晶振。
复位电路的基本功能是为系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
单片机工作的时间基准是由时钟电路提供的。
外接晶振和电容组成单片机内部的振荡器。
在单片机的XTAL1和XTAL2两个引脚间,接一个晶振及两只电容就构成了单片机的时钟电路。
晶振选取12MHZ,电容取33Pf。
单片机的复位通常分为自动复位,手动复位等几种。
复位是单片机的初始化操作,只要给引脚RESET加上2个机器周期以上的高电平信号,就可使单片机AT89S52复位。
复位的主要功能是初始化为0000H,使单片机从0000H单元开始执行程序,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态,为摆脱死锁状态,也需按复位键重新启动。
在本设计中采用手动复位。
对于单片机下载口电路,采用P1.5、P1.6、P1.7和RESET与VCC、GND连接到程序下载接口,构成其下载口电路,供程序下载使用。
2.1.24×4行列式键盘输入模块
根据系统的基本要求,采用由16个键构成的行列式键盘接在AT89S52单片机的P1口,相对于独立式键盘节省了大量口线和空间,给电路设计带来极大的方便,不过也相应的增加了程序的设计难度。
采用矩阵式连接方法,组成4×4式16个按键,分别代表数字密码键“0~9”、取消功能键“C”、确定功能键“P.”、改密功能键“*”、开锁功能键“#”,其余未定义按键为新功能预留键。
2.1.312864液晶显示模块
J12864液晶是一种具有8位并行,2线或3线串行多种接口方式,内含国家一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16×16点汉字,和128个16×8点ASCⅡ字符集。
利用该模块灵活的接口和简单、方便的操作指令,可构成全中文人机交互图形界面。
12864液晶的控制口线主要接在AT89S52单片机的P0口线上,可以显示8×4行,16×16点阵的汉字。
低压低功耗是其又一显著特点。
与同类液晶模块相比,无论硬件电路或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的液晶模块。
2.1.424C02掉电保护模块
24CXX系列是最为常见的I2C总线串行EEPROM数据存储器,该芯片具有体积小,功耗低,工作电压允许范围宽,型号多,容量大,读写操作方便等特点。
其中,本设计中使用的24C02存储容量为2K位(256×8位,256字节)。
2.2设计课题电路原理图、PCB图、元器件布局图
2.2.1电路原理图
PROTEL原理图(见附录A)、CAD原理图(见附录B)
2.2.2电路PCB图
电路顶层PCB图(见附录C)、电路底层PCB图(见附录D)
2.2.3元器件布局图
元器件布局图(见附录E)
2.3设计课题元器件清单
元器件清单(见附录F)
3设计课题软件系统的设计
3.1设计课题使用单片机资源的情况
AT89S52的片外资源:
P0、P1、P2:
基本输入输出口;
P3.0:
en(12864液晶);
P3.1:
rs(12864液晶);
P3.2:
rw(12864液晶);
P3.3:
BEEP(蜂鸣器);
P3.6:
SDA(24C02存储器);
P3.7:
SCL(24C02存储器);
XTAL1、XTAL2:
晶振输入;
RST:
复位输入;
AT89S52的片内资源:
通用寄存器区;
专用寄存器SFR:
A、PSW、SP、P0、P1、P2、P3等。
3.2设计课题软件系统各模块功能简要介绍
3.2.1主函数模块
主函数voidmain(),用于设置初始化界面,调用各个主要模块,实现简单密码锁的整体功能。
3.2.2液晶显示模块
液晶显示是通过在主程序中调用相关的液晶功能函数来执行相应功能,经过液晶接在单片机上的P0及P3部分管脚,通过液晶功能函数lcd12864()的调用对液晶进行操作,将各类指令写入液晶模块,用来驱动液晶以实现不同的显示功能,达到界面显示的要求。
3.2.3掉电保护模块
掉电保护软件设计主要通过在主程序中调用相关的24c02功能函数来执行相应功能,经过串行数据线SDA接在单片机上的P3.6管脚、串行时钟线SCL接在单片机上的P3.7管脚,通过24c02存储器功能函数24c02()的调用对24c02进行操作,将密码实时保护起来。
3.2.4行列式键盘模块
矩阵式键盘软件设计主要通过在主程序中调用键扫函数keyscan()来执行相应的功能,单片机P1口在复位之后保持高电平,当键按下相应口线为低电平,经过相应判别过程判断键松开后,执行相关键功能程序,完成相应操作。
3.2.5基础函数模块
通过调用guanliyuan(void);yonghu(void);voidshuru();shezhi();voidbaojing()等函数,实现不同用户身份用户的登录、输入密码、修改密码、报警、开锁等功能。
3.3设计课题软件系统程序流程框图
3.3.1主函数
图2主函数流程框图
3.3.2液晶显示
图3液晶显示函数流程框图
3.3.3掉电保护
图4掉电保护模块流程框图
3.3.4行列式键盘
图5键扫函数流程框图
3.3.5基础函数
图6管理员开锁函数流程框图
图7用户开锁函数流程框图
图8用户修改密码函数流程框图
3.4设计课题软件系统程序清单
液晶函数见附录G
24C02函数见附录H
键盘扫描函数见附录L
基础函数见附录M
主函数见附录N
4设计结论、运行结果、误差分析及体会
4.1设计课题的设计结论及使用说明
程序编写完成后,用keil4调试后显示程序0错误0警告,表明程序无语法错误。
下载程序到系统后,按编写思路操作,系统正常工作,表明程序设计成功。
4.2设计课题的仿真结果
调试主要是针对行列式键盘、液晶显示器和24C02存储器,在不同身份用户登录时,进入不同的操作界面,各操作界面的调试结果如图所示:
图9初始化界面图10开机界面
图11管理员登录界面图12用户登录界面
图13管理员登录密码错误界面图14用户登录密码错误界面
图15管理员输入密码正确开锁界面图16用户输