湖南工程学院单片机课设密码锁Word下载.docx
《湖南工程学院单片机课设密码锁Word下载.docx》由会员分享,可在线阅读,更多相关《湖南工程学院单片机课设密码锁Word下载.docx(23页珍藏版)》请在冰豆网上搜索。
进度安排
设计时间为两周
第一周
星期一、上午:
布置课题任务,讲课及课题介绍
下午:
借阅有关资料,总体方案讨论
星期二、确定总体设计方案
星期三、硬件模块方案设计
星期四、软件模块方案设计
星期五、设计及调试
第二周
星期一、设计及调试
星期二、设计及调试
星期三、总调
星期四、写说明书
星期五、上午:
写说明书,整理资料
下午:
交设计资料,答辩
第1章概述
随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。
为了更好地推广单片机在家电领域中的应用,本文介绍一种应用AT89C52单片机设计的智能电子密码锁。
经实际制作表明该密码锁具有安全、实用、成本低等特点,符合现代用锁的要求,具有一定的现实意义。
本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、C语言源程序及详细注释等容。
随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。
而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。
传统的门锁既要备有大量
的钥匙,又担心钥匙丢失后的麻烦。
随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。
从而使密码锁具有很高的安全性、可靠性。
目前西方发达国家已经大量应用智能门禁系统,可以通过多种的更加安全更加方便可靠的方法来实现大门的管理。
但电子密码锁在我国的应用还不广泛,成本还很高,希望通过不断地努力使电子密码锁能够在我国及居民日常生活中得到广泛应用,这也是一个国家生活水平的体现。
第2章系统总体方案设计
2.1系统总体设计框图
本系统采用89C52作为主控制器,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
当在4x4的按键上输入8位数字密码时,89C52通过分析输入的8位数值与所预存的数值比较,在LCD上显示输入密码,以及在LCD上提示用户输入信息。
当输入密码正确时,电子密码锁开锁成功,当输入密码连续3次输入错误时,系统自动报警,LED指示关锁状态并由蜂鸣器发出持续10至20秒的报警信号
根据设计要求与设计思路,确定系统的设计方案,图2.1为系统组成原理框图。
硬件有以下几部分组成:
单片机、键盘电路、串行EEPROM扩展电路、LCD液晶显示电路、LED指示灯电路、蜂鸣器电路等。
2.1.1系统总体设计方案框图2.1:
单片机
矩阵键盘
系统复位电路
12864液晶显示
EEPROM扩展电路
LED指示灯、蜂鸣
密码错误键盘锁定
图2.1系统总体设计方案框图
2.1.2电子密码锁结构流程图2.2:
LED灯亮开锁成功
判定输入密码是否与原密码相同
是否设置新密码
再次输入密码
报警锁定键盘
输入是否超过三次
否
是
开始
设置初始密码
键盘输入密码
图2.2系统总体设计方案流程图
2.2初步设计思路
根据设计要求,初步思路如下:
1、系统的原始密码放在RAM区,在运行过程中可以实时更改系统密码。
.
2、利用串行EEPROM存储芯片,可以随时读取新密码,且具有掉电保护功能。
3、人机交互通过键盘输入,系统根据键值做出相应的处理,完成具体的功能。
4、液晶12864通过驱动电路,显示相应的状态。
5、系统运用LED指示灯来反映开关锁的情况,如果连续输入三次密码错误蜂鸣器就会报警。
6、此系统共设计了4个基本功能键:
密码设置键、确认键、复位键、撤销键。
密码设置键:
当用户需更改密码时,可通过此功能键方便地修改原先的旧密码。
确认键:
当完成密码输入后,可按此功能键即可实现密码的比较和处理。
复位键:
当密码三次输入错误时,系统进入死锁状态,可按此功能键跳出此状态。
第3章硬件电路设计
3.1单片机主控电路
STC89C52具体介绍如下:
①主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
②外接晶振引脚(2根)
XTAL1(Pin19):
片振荡电路的输入端
XTAL2(Pin20):
片振荡电路的输出端
③控制引脚(4根)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的外部选通,接低电平从外部程序存储器读指令,如果接高电平则从部程序存储器读指令。
④可编程输入/输出引脚(32根)
STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
PO口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
3.2液晶1602显示电路
图3.11602显示电路
1602引脚功能:
D0~D7双向的数据总线,LCD数据读写方式可以分为8位及4位两种,以8位数据进行读写则D0~D7皆有效,若以4位方式进行读写,则只用到D4~D7.
RS寄存器选择控制线,当RS=0时,并且做写入的动作时,可以写入指令寄存器,若RS=0时,并且做读取的动作时,可以读取忙碌标志及地址计数器的容。
如果RS=1则用于读写数据寄存器。
R/WLCD读写控制线,直接接地,由于R/W=0时,LCD执行写入的动作,R/W=1时则执行读取的动作。
EN启用控制线,由P1.1控制,高电平动作。
高电平时LCD动作有效。
VCC电源正端
VO亮度调整控制引脚,直接接地,使字符显示最亮。
GND电源地端
3.3键盘电路设计
本项目运用4x4的矩阵键盘设定密码位数为八位,具有不容易套取的作用,运用不同功能的按键处理不同的程序。
在此系统设计中,键盘行列与单片机P3口连接,通过单片机程序实现对按键码的识别。
键盘上有好多键,每一个键对应一个键码,以便将键码转到相应的键处理子程序,进一步实现数据输入和命令处理的功能。
键识别的流程图如图3.2所示。
图3.2键识别的流程图
使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
其原理如图3.3
图3.3矩阵键盘
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
当确认有按键按下后,下一步就要识别哪一个按键按下。
对键的识别通常有两种方法:
一种是常用的逐行扫描查询法;
另一种是速度较快的线反转法。
对照图3.3所示的4×
4键盘,说明线反转个工作原理。
首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。
方法是:
向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。
如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。
判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。
依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;
如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。
具体的功能设计如表3.3:
表3.3按键功能表
按键
键名
功能说明
0-9键
数字键
输入密码
d键
重设密码键
设定新密码
f键
确定键
比较密码
e键
清除键
使显示器清零
3.4开锁电路
在本次智能电子密码锁设计中,基于节省材料的原则,没有用暂时用发光二极管代替电磁锁,发光管亮,表示开锁;
灭,表示没有开锁。
电路图如3.4所示。
当P1.3口输出低电平时,二极管发光,表示开锁。
图3.4开锁电路
3.5报警电路
图3.5报警电路
报警模块由蜂鸣器和单片机组成。
选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100mA驱动电流。
蜂鸣器电路如图3.5所示。
当89C52的P1.7口输出为高电平时,蜂鸣器产生蜂鸣音,89C52输出为低电平时,蜂鸣器不发声。
当用户连续3次密码输入错误则未能将锁打开,系统将自动锁定,LED指示关锁状态并由蜂鸣器发出持续10至20秒的报警信号
3.6时钟电路
单片机工作的时间基准是由时钟电路提供的,在单片机XTAL1和XTAL2的两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图3.6所示。
图3.6时钟电路
电路中器件选择可以通过计算和实验确定,也可以参考一些典型电路参数。
电路中,电容器C1和C2对振荡频率有微调作用,同时帮助晶振起振,一般晶振为12MHZ,电容取22PF。
石英晶体选择6MHZ或12MHZ,其结果只是机器周期不同,影响计数器计数初值。
3.7存储模块
AT24C02是一个I2C总线接口E2PROM存储器,用于存储电子密码锁的密码数据。
3.71主要元件介绍
AT24C02是美国ATEML公司生产的低功耗COMS型,I2C总线接口的E2PROM存储器,其含256x8为存储空间,具有工作电压宽(2.5V~5.5V)、擦写次数多(大于1000次)、写入速度快(小于10mS)、抗干扰能力强、数据不易丢失、体积小等特点。
采用了I2C总线进行数据读写的串行器件,占用很少的资源和I/O线,而且支持在线编程,实时存取数据十分方便,如图2.3所示。
图2.324C02引脚排列图
第4章软件设计
4.1软件设计思路
电子密码锁工作的主要过程是液晶提示开始输入密码,通过键盘输入密码,同时液晶显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。
当输入密码连续输入错误3次时,系统报警并锁定键盘。
同时我们可以按下更改密码键,提示输入旧密码,旧密码经验证后,提示输入新密码,两次输入新密码无误,按下确认键,密码被存入24C02中,更改密码成功。
软件工作流程包括6个部分:
系统的初始化、调用显示、24C02的读写操作、校对开锁、出错报警处理、数据显示。
初始化主要包括:
中断