完整版基于单片机与GSM模块的电子密码锁设计毕业设计Word下载.docx
《完整版基于单片机与GSM模块的电子密码锁设计毕业设计Word下载.docx》由会员分享,可在线阅读,更多相关《完整版基于单片机与GSM模块的电子密码锁设计毕业设计Word下载.docx(41页珍藏版)》请在冰豆网上搜索。
第2.1节MCS-51单片机介绍
第2.2节LCD1602显示器介绍
第2.3节AT24C02串行EPROM介绍
第2.4节GSM模块说明
第3章系统硬件设计
第3.1节系统硬件总设计
第3.2节电源
第3.3节按键输入部分
第3.4节单片机与GSM模块串行通信部分
第4章系统软件设计
第4.1节主程序流程图
第4.2节按键功能流程图
第4.3节密码设置流程图及报警流程图
第5章系统软件设计
第4.1节主控制板的调试
第4.2节GSM模块调试
总结
参考文献
致谢
附录图
基于单片机与GSM的电子密码锁的设计
物理与信息工程学院电子信息科学与技术
指导老师
【摘要】:
随着科学技术的发展,电子密码锁已经越来越成为人们生活中不可或缺的安全防范利器。
文章首先介绍了基于单片机和GSM模块的密码控制系统,然后简要描述了设计电子密码锁系统的意义。
文章采用分块模式,对整个系统的硬件与软件设计进行描述,其中硬件部分着重介绍了GSM模块,单片机STC89C51作为MCU及其外围电路,24C02存储电路,矩阵按键输入电路,LCD显示电路,GSM模块与主控制板连接电路等。
软件部分用C语言编写主控制器与GSM模块的发送接收,24C02的读写。
设计了一款可以多次修改密码,自动锁定按键等功能的电子密码锁。
【关键词】:
电子密码锁;
单片机;
GSM;
24C02;
引言
当今世界科技不断发展,人们的安全意识越来越高,安全成了我们共同的话题。
在银行、酒店、商场、航天等各行各业,防盗报警更是至关重要的,对环境要进行密切的监视,以防止失窃的发生,当发生失窃时能第一时间报警。
这里我就介绍一下我自己做的一款基于51单片机和GSM模块的电子密码锁。
传统的机械锁被撬的事件屡见不鲜,因为其构造简单,功能单一,没智能化,位置固定,不能随意换位置。
而电子锁克服了机械式密码锁设置密码量少、安全性能差的缺点,并且其保密性高,使用灵活性好,密码可变,安全系数高,使电子密码锁无论在技术上还是在方便性上都受到了广大人们群众的亲爱。
随着大规模集成电路的出现,特别是单片机的问世,出现了许多带微处理器的智能密码锁。
而我设计的电子密码锁是一种基于MCS-51和GSM模块智能锁的硬件和软件设计及实现方案,综合应用了所学的单片机、通信原理、电路设计等方面的知识。
特别适用于家庭、办公室、服务、学生宿舍及宾馆等场所等的文档、财务等安全报警。
电路设计具有按键输入有效提示,输入错误提示,开锁电路,控制报警电路,修改密码等多种功能,可在意外泄密的情况下随时修改密码6位数密码,保密性强,使用灵活性高。
当密码连续3次输入错误时便会通过GSM模块自动报警并且蜂鸣器响。
它是通过按键输入与存储密码进行对比,从而控制电磁锁的开关,具有推广意义。
第1章本设计中采用了微处理器STC89C51芯片单片机为主控制芯片,采用LCD1602液晶显示屏幕与矩阵式键盘,方便手动输入与数字显示。
为了防止掉电等意外事件的发生,我们采用了AT24C02作为掉电保护。
用户想打开锁必须通过键盘输入正确的密码。
密码输入错误有提示,为了提高安全性,当输入密码连续3次错误蜂鸣器响起并通过GSM模块报警。
并且用户可以随时用手机向GSM模块发出通信使密码锁处于锁定状态。
锁打开后才能修改密码,输入新密码时需要2次确认,以防止误操作。
这些人性化设计使其更安全可靠、通过GSM模块和单片机的组合运用使其具有一定的智能化,硬件电路简单、易于实现、可以通过软件对系统进行优化,具有很好的市场推广价值。
电子密码锁的总体设计方案的选择
为了使设计更具有针对性,可靠性更强,在做设计之前我想了2种不同的设计方案。
1.1方案一:
采用数字控制电路(基于用以74LS112)。
利用双JK触发器74LS112构成数字逻辑电路控制,555电路等实现对锁的控制。
设置9个按键,其中4个是有效按键,其它的都是干扰按键,如果按下干扰键,键盘输入自动清零,原先输入的密码无效,需要重新输入;
如果用户输入密码的时间超过20秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警30秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。
该系统外围电路少,功能单一并且不能通过编程来实现,密码一旦忘记或掉电就无法开锁,输入密码无提示,准确性和灵活性差。
所以不采用[1]。
1.2方案二:
采用单片机为主控制器的方案。
由于单片机种类多各种型号的功能不一,试用场合各不相同。
因此要多加比较选择一款适合做本设计的型号。
我从以下几个方面考虑:
存储器容量,指令系统,串口通信,中断系统,此外还有中断源优先级个数,工作电压和温度,时钟震荡等。
再结合我们平时所学。
以上各个因素我选择89C51作为本设计的主控制器。
利用其丰富的IO口资源和灵活的程序设计,实现密码锁的基本功能。
它把CPU、存储器、及IO口集成到一个芯片上,只要加少许外围器件就能够成控制系统。
这样就可以节省硬件成本,通过程序来实现各种功能。
单片机外围接4*4矩阵键盘作为密码输入和功能键,用LCD1602作显示器[2]。
24C02作为外部存储芯片,用于密码掉电保护。
键盘由0-9十个数字键、启动、删除、确认、修改密码共14个键组成。
用户输入密码正确则开锁,输入错误LCD则会提示。
如果连续3次输入错误则蜂鸣器发出报警声。
用户只有在输入密码正确时才能修改密码,新密码必须输入2次以防止误操作。
1.3方案三:
采用单片机为主控制系统,GSM模块作为报警系统。
在方案二的基础上添加了GSM模块,单片机通过RS-232与GSM模块进行串行通信。
当密码3次输入错误时单片机通过串口控制GSM模块向用户手机发送信息,提醒用户此时密码锁有危险。
用户随时可通过手机向密码锁发出信息将其锁定,此时键盘被锁定密码锁将无法打开,防止密码锁被打开。
方案三在方案二的基础上运用了移动通信技术,使密码锁的安全性、可靠性、灵活性及可控制性得到了大大的提高,且有智能化的特点,现实生活中运用方便,因此选用方案三。
第2章主要元器件说明
2.1MCS-51单片机介绍
MCS-51系列单片机是Intel公司继MCS-48系列单片机之后开发的一款8位单片机。
它是一款高性能、高集成度、低功耗的单片机,具有8位CPU,4K程序存储器、128字节数据存储器,外部可扩张60K程序存储器和64K数据存储器,2个16位定时记数器,5个中断优先级,4个八位并行IO口,最高时钟频率12MHZ。
[3]在不连接外围电路的情况下能实现很多逻辑功能,89C51单片机是一款不可多得的高性能单片机,它不仅适合用于简单的测控,也适用于复杂的测控系统。
2.1.1芯片STC89C51的性能及其常用参数的分析
STC89C51内部具有2KB字节快闪存存储器,采用DIP封装,是目前在中小系统中应用最为普及的单片机。
芯片引脚排列如图3.1所示,8951单片机的端口都是准双向口,每个IO口都能独立输入输出。
每个IO口都有一个锁存器,一个输出驱动器和输入缓冲器。
再无外部扩展存储器系统中,这四个端口都可以作为准双向IO口使用。
当有扩张外部存储器时,P2口送出高8位地址P0口分时复用做双向总线,分时送出低八位地址和数据的输入输出;
P3口是一个多功能端口各个引脚具有第二功能[4]。
(P3.0为串行数据接受端,P3.1位串行数据发送端,P3.2为外部中断0请求,P3.3为外部中断1请求,P3.4为定时器计数器0的外部事件计数输入,P3.5为定时器计数器1的外部事件计数输入,P3.6位片外数据存储器“写选通控制”输出,P3.7为片外数据存储器“读选存储器”输出)。
图2.1芯片引脚排列
其主要功能特点:
(1)4K可反复擦写的FlashROM
(2)低功耗空闲和省电模式
(3)4.5-5.5V工作电压,全静态工作
(4)中断唤醒省电模式
(5)2个可编程定时计数器
(6)3级程序存储加密
(7)全双工UART串行中断口线
可见STC89C51的功能齐全,体积小、可靠性高、成本低。
可用5V电压编程,不容易损坏器件,且擦写时间只有10ms。
STC89C51芯片提供了三级程序存储器加密,能完全保证程序或系统不被仿制。
同时,芯片可降至0Hz静态逻辑操作,并支持两种省电模式。
2.1.2STC89C51引脚功能说明[3]
采用HMOS工艺的51系列单片机都采用40条引脚的双列直插封装(DIP)方式,这里只对DIP封装各引脚功能简要说明。
Vss(20脚):
电路低电平。
Vcc(40脚):
正常运行和编程校验时为+5V电源。
RST:
震荡器工作时,由该引脚输入2个机器周期的高电平时复位单片机。
ALEPROG(30脚):
ALE允许地址锁存信号输出。
当访问外部存储器时,ALE信号的负跳变将P0口上的低8位地址送入锁存器。
在非访问外部存储器期间,ALE仍以16震荡频率固定不变的速率输出,因此它能作外部时钟或定时信号用。
当访问外部数据存储器时,将以12震荡频率输出。
PROG为编程脉冲输入端。
PSEN(29脚):
访问外部程序存储器选通信号,低电平有效。
VppEA(31脚)):
EA为访问内部或外部程序存储器选择信号。
当EA保持高电平时访问内部存储器。
P0口:
8位漏极开路双向并行IO端口。
当访问外部存储器时,它是地址总线(低8位)和数据总线复用;
外部不扩展而单片机应用时,则作双向IO口用;
在进行片内程序效验期间,作指令代码输出。
可接8个LSTTL负载[7]。
P1口:
8位准双向并行IO口。
在片内编程和程序效验期间,作为低8位地址总线用。
P2口:
8位准双向并行IO端口。
当访问外部存储器时做高8位地址总线用;
不作外部功能扩展(单片机应用)时,则作准双向IO口用;
在片内程序效验期间作高8位地址线。
它可带4个LSTTL负载。
P3口:
具有内部上拉电路的8位并行准双向口。
它还提供特殊的第2功能。
它的每一位均可独立定义为第一功能IO口或第二功能。
第二特殊功能具体含义为:
P3.0为串行数据接受端。
P3.1位串行数据发送端。
P3.2为外部中断0请求。
P3.3为外部中断1请求。
P3.4为定时器计数器0的外部事件计数输入。
P3.5为定时器计数器1的外部事件计数输入。
P3.6位片外数据存储器“写选通控制”输出。
P3.7为片外数据存储器“读选存储器”输出。
2.2LCD1602显示器介绍
LCD1602是一款专门用于显示符号、数字、字母等点阵LCD显示屏。
它具有体积小、功耗低、显示内容丰富、性价比高等特点。
它可以显示2行16个字符,有8位并行数据线和RS、RW、EN三个控制口。
LCD1602有背光和不背光两种型号,且大部用HD44789作为控制器。
背光的略厚些,是否背光在本设计中并无任何差别。
因此适合作为本设计的显示模块。
图2.2LCD1602
2.2.1LCD1602各引脚说明[5]
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表:
编号
符号
引脚说明
引脚说明