简易蓝牙门禁的设计与实现课程设计.docx
《简易蓝牙门禁的设计与实现课程设计.docx》由会员分享,可在线阅读,更多相关《简易蓝牙门禁的设计与实现课程设计.docx(62页珍藏版)》请在冰豆网上搜索。
简易蓝牙门禁的设计与实现课程设计
《通信原理》课程设计
题目简易蓝牙门禁的设计与实现
学院名称电气工程学院
指导教师
职称讲师
班级
学号
学生姓名
2017年6月14日
《通信原理课程设计》任务书
学院:
电气工程学院
题目:
简易蓝牙门禁的设计与实现
起止时间:
2017年5月24日至2017年6月14日
学生姓名:
专业班级:
通信1402
指导教师:
教研室主任:
院长:
2017年6月14日
论文(设计)内容及要求:
一、课程设计(论文)原始依据
用单片机/ARM来设计成蓝牙门禁系统的主机,以蓝牙手机作为从机构成一个简易蓝牙门禁系统。
能够通过蓝牙移动端和系统主机进行配对链接,至少实现门禁的开启或关闭等操作。
二、课程设计(论文)主要内容
1、蓝牙门禁的系统方案及技术原理
2、蓝牙门禁的电路设计
3、蓝牙门禁的电路级仿真验证
4、蓝牙门禁的实物制作与调试
三、课程设计(论文)基本要求
写出设计说明书,语言流畅简洁,文字3500~5000字。
用软件编程语言实现时,写出详细的注释,并画出各种信号的时域频域波形,分析实验结果;硬件设计电路,需要详细分析安装调试过程,分析实验结果。
仿真设计类要求有仿真流程图、调试时的电脑屏幕截图;实物设计类要求图纸布局合理,符合工程要求,使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。
工作要求:
①查阅参考文献,学习基本理论,分析系统工作原理,设计系统方框图;
②掌握计算机辅助设计方法,利用Matlab/Simulink、Systemview、Multisim、MaxPlusIII、QuartusII、Protel等软件进行仿真设计,具备独立设计能力;
③熟悉系统的调试和测量方法;
④实物设计需要掌握电子电路安装调试技术,选择合适的元器件搭接实际电路,掌握电路的测试和故障排除方法,提高分析问题和解决问题的能力。
⑤不能直接从网上或其他资料下载拷贝,一旦发现雷同35%以上,则相关雷同设计的成绩都为不及格。
⑥按时完成设计报告;提交的电子稿必须在附录中含有全套仿真源文件、或设计原图(电子稿是以“学生学号姓名”为命名的压缩文件);并提交纸质设计报告书。
⑦随机抽查,并进行最后答辩。
四、课程设计(论文)进度安排
起迄日期
工作内容
2017.5.24~2017.5.27
查阅资料,系统方案设计
2017.5.28~2017.6.3
用编程语言或者仿真软件进行设计
2017.6.4~2017.6.11
程序、软件、实物的调试,排除故障,分析实验结果
2017.6.12~2017.6.14
分析总结,整理设计报告
五、主要参考文献
[1]樊昌信.通信原理(第6版)[M].北京:
电子工业出版社,2012,12.
[2]刘学勇.详解MATLAB/Simulink通信系统建模与仿真[M].北京:
电子工业出版社,2011,11.
[3]张水英,徐伟强.通信原理及MATLAB/Simulink仿真[M].北京:
人民邮电出版社,2012,9.
[4]黄智伟.基于NIMultisim的电子电路计算机仿真设计与分析(修订版)[M].北京:
电子工业出版社,2011,6.
指导老师:
(签名)
年月日
摘要:
随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。
随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,安全性能低,无法满足人们的需要。
本文从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51与低功耗CMOS型E2PROMAT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用汇编语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。
经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。
关键词:
密码锁;单片机;报警
Abstract:
Withthecontinuousdevelopmentofelectronicproductstotheintelligentandminiaturization,single-chipmicrocomputerhasbecomethepreferredcontrollerforthedevelopmentanddevelopmentofelectronicproducts.Withtheimprovementofpeople'slivingstandards,howtoachievetheproblemofhomesecurityhasbecomeparticularlyprominent,thetraditionalmechanicallockbecauseofitssimplestructure,lowsafetyperformance,cannotmeetpeople'sneeds.Inthispaper,theUnitedStatesAtmel'ssingle-chipAT89S51andlow-powerCMOStypeE2PROMAT24C02asthemasterchipanddatamemoryunit,combinedwiththeexternalkeyboardinput,display,alarm,unlockandothercircuits,writteninassemblylanguageMasterchipcontrolprogram,designedapasswordcanbechangedseveraltimeswiththealarmfunctionoftheelectronicpasswordlock.Experimentsshowthatthepasswordlockwithareasonabledesignmethod,simple,lowcost,safeandpracticalfeatures,inlinewithresidential,officelockrequirements,withthepromotionofvalue.
Keywords:
passwordlock;microcontroller;alarm
2设计方案的选择2
2.1方案一:
采用数字电路控制2
4.1主程序模块5
附录2:
系统原理图
附录3:
系统PCB图
附录4:
系统仿真图
附录5:
系统实物图
附录6:
系统源程序
1引言
1.1电子密码锁简介
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁。
其特点如下:
(1)保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
(2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因
人员的更替而使锁的密级下降。
(3)误码输入保护,当输入密码多次错误时,报警系统自动启动。
(4)无活动零件,不会磨损,寿命长。
(5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
(6)电子密码锁操作简单易行,一学即会。
1.2电子密码锁的发展趋势
在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。
由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。
随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人对保密性需求的提高出现了越来越多的电子密码锁。
出于安全、方便等方面的需要许多电子密码锁已相继问世。
但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。
由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。
组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。
可以看出组合使用电子信息是电子密码锁以后发展的趋势。
1.3本设计所要实现的目标
本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。
密码可以由用户自己修改设定,锁打开后才能修改密码。
修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。
2设计方案的选择
2.1方案一:
采用数字电路控制
用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。
采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。
故不采用
2.2方案二:
采用以单片机为核心的控制方案
由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。
一般来说在选取单片机时从下面几个方面考虑:
性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:
中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。
在开发过程中单片机还受到:
开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素
。
基于以上因素本设计选用单片机AT89S51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。
当用户需要开锁时,先按键盘开锁键之后按键盘的数字键0-9输入密码。
密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。
新密码输入无误后按确认键使新密码将得到存储,密码修改成功。
可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案
3主要元器件介绍
3.1主控芯片AT89S51
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
3.1.1AT89S51性能简介
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
其芯片引脚图如图3.1所示。
图3.1AT89S51芯片引脚图
4系统软件设计
因设计主要是作用汇编语言来开发的51单片机项目程序,所以首先必须有一个可以在WindowsXP或Windowsvista操作系统下执行的汇编语言编译器,本设计采用Keil编译器进行编程,因为它可以支持一系列的51单片机。
该系统的主程序流程图如图4.1所示。
图4.1主程序流程图
4.1主程序模块
主程序主要是完成系统初始化、设置中断向量、检查有无键按下、以及调用显示等等。
主程序部分如下所示:
enbitp3.5;将lcd的en管脚连接到单片机的p3.5口
rwbitp3.4;将lcd的rw管脚连接到单片机的p3.4口
rsbitp3.3;将lcd的rs管脚连接到单片机的p3.3口
displayequp0;将lcd的显示端口连接到p0口上
speakerbitp2.6;蜂鸣器连接到p2.6口
ledbitp2.7;与蜂鸣器共同作用的led灯连到p2.7口
openbitp2.0;开锁电路的控制端连接到p2.0口
returnbitbit20h.1;
ORG0000h;程序开始地址
LJMPstart;
ORG000bh;
LJMPintermit_t0;
ORG001bh;
LJMPintermit_t1;
ORG0030h;
start:
MOVsp,#60h;
lcallsys_initialization;调用子程序sys_initialization
4.2键盘扫描及识别子程序
键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。
其程序流程如图4.2所示键盘部分程序如下所示:
key:
;键盘程序名称
callks;调用子程序ks
jnzk1;判断是否有键按下
jmpkey;跳回键盘程序
ks:
movp1,#0f0h;
mova,p1;
xrla,#0f0h;
ret;
图4.2键盘扫描程序流程图
4.3系统模块密码设置子程序
由于设计是分模块化进行,所以子程序是整体软件系统的组成部分,子程序不但可以使程序化整为零,使其复杂简单化,同时也方便阅读,修改等,每个功能模块都有它自己的子程序,在本设计中是用LCD显示数据,所以就要用到显示子程序,设计中用的是矩阵键盘,所以就用到键盘扫描子程序,例如还有显示初始化子程序、LCD忙检测子程序、关闭状态显示子程序、开锁状态显示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序等。
密码修改子程序流程图如下图4.3所示。
图4.3设置密码子程序
4.4蓝牙模块及其程序
蓝牙模块是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。
蓝牙模块可以避免射频信号到中频信号的变换,使系统结构简单、实现简单。
这里使用蓝牙模块进行与手机间的连接,然后通过手机进行密码的解锁,当在手机上面输入密码后,蓝牙模块和单片机之间的相互信息传送达到解锁的目的,其程序如下图4.4所示。
图4.4蓝牙模块程序
4.5程序调试
在硬件支持的环境下,用proteus设计好的电路,Keil编好的程序编译成芯片可识别的S51文件,利用PC机写进proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改,如下图4.5、4.6、4.7、4.8、4.9所示。
图4.5keil编译程序成功
图4.6keil生成hex文件
图4.7proteus调用keil的hex文件进行仿真
图4.8仿真成功密码正确
图4.9密码正确绿灯亮
5系统制作及调试
5.1焊接注意事项:
LCD的注意事项如下:
1. 采用焊接方法将金属基PIN安装于LCD时,从玻璃末端到万用板的焊接位置的长度至少5mm,焊接温度必须在260℃以下,且焊接时间必须在10秒以内,以免焊接过程中对装置的损坏,确保焊接性能。
在230℃,30秒条件下,90%的焊料须紧密附着于PIN上。
2. 对LCD基板或基PIN焊接位置的调整必须在安装前完成。
严禁猛烈移动基PIN,否则会机械地破坏LCD屏与基PIN之间的连接点。
焊接时平放LCD,尽量不让LCD受力。
3. 焊接LCD基板时,将其小心、平衡地插入万用板插槽,以避免损坏基PIN或LCD基板。
4. 焊接时,LCD基板不应长时间置于焊锡蒸汽中,必须避免污染LCD基板,否则可能损坏显示器表面的偏光片及封口胶。
5. 显示器表面的保护膜直到焊接完成才可揭掉,禁止手指及其它硬物接触偏光片,禁止水和其他化学物质沾污装置,因为这些物质会污染显示器表面。
单片机焊接注意事项:
80s51单片机与其它单片机,dsp,arm芯片相比较而言是脆弱的,如果焊接时不小心就很可能把芯片损坏!
建议用比较好的恒温可调的烙铁,功率在30瓦左右,温度控制在260到300度,建议采用点焊而不用拉焊,焊接时烙铁放在每个引脚的时间不能太长(最好低于3秒)。
上边提到的方法还不能确保芯片完好,对芯片有危害的还有带电烙铁的静电感应!
烙铁质量不是太好的,焊接时可以把烙铁电源插头拔掉。
其他的电子器件焊接须知:
一般分四步骤进行。
①准备焊接:
清洁被焊元件处的积尘及油污,再将被焊元器件周围的元器件左右掰一掰,让电烙铁头可以触到被焊元器件的焊锡处,以免烙铁头伸向焊接处时烫坏其他元器件。
焊接新的元器件时,应对元器件的引线镀锡。
②加热焊接:
将沾有少许焊锡和松香的电烙铁头接触被焊元器件约几秒钟。
若是要拆下印刷板上的元器件,则待烙铁头加热后,用手或银子轻轻拉动元器件,看是否可以取下。
③清理焊接面:
若所焊部位焊锡过多,可将烙铁头上的焊锡甩掉(注意不要烫伤皮肤,也不要甩到印刷电路板上!
),用光烙锡头"沾"些焊锡出来。
若焊点焊锡过少、不圆滑时,可以用电烙铁头"蘸"些焊锡对焊点进行补焊。
④检查焊点:
看焊点是否圆润、光亮、牢固,是否有与周围元器件连焊的现象。
5.2硬件调试问题及解决方法
本设计在焊接调试时遇到的问题以及解决方法:
单片机的最小系统问题:
电源、晶振电路和复位电路都无异常。
LCD焊接时的问题:
(1)接通电源后LCD无反应,各个引脚均属正常。
推断可能是初始化程序出现问题。
经查找得知是LCD显示器的15和16管脚控制背光功能,连接好之后还是不能显示字符。
(2)接通电源开门灯和报警电路就会工作,分析原因是单片机刚开始各个管脚输出高电平。
总结
本设计从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51与低功耗CMOS型E2PROMAT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路并用汇编编写主控芯片的控制程序,研制了一款可以多次更改密码具有报警功能的电子密码锁。
设计完全可行可以达到设计目地。
使用单片机制作的电子密码锁具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有一定的实用性。
该电路设计还具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码等多种功能。
可在意外泄密的情况下随时修改密码。
保密性强,灵活性高,特别适用于家庭、办公室、学生宿舍及宾馆等场所。
参考文献
[1]何宏主编.单片机原理与接口技术.北京:
国防工业出版社.2006.07
[2]杨西明,朱骐主编 .单片机编程与应用入门.北京:
机械工业出版社 .2004.06
[3]先锋工作室编著.单片机程序设计实例.北京:
清华大学出版社 .2003.01
[4]谢宜仁主编 .单片机实用技术问答.北京:
人民邮电出版社 .2003.02
[5]梁丽.电子密码锁的计算机仿真设计.计算机仿真,2005
[6]房小翠,王金凤编著.单片机实用系统设计技术.北京:
国防工业出版社 .1999.06
[7]各种网络教程及其他
[8]王宽仁.可靠安全的智能密码锁.电子技术应用,2001
[9]李捷,陈典涛,陈建华,等.一种基于单片机的电子密码锁的设计[J].农机化研究,2004,5
[10]董继成.能防止多次试探密码的单片机密码锁.国外电子元器件,2004,3
[11]赵益丹,徐晓林,周振峰编著.电子密码锁的系统原理、设计程序及流程图.嘉兴学院学报,2003,15
[12]张培仁.基于C语言编程MCS-51单片机原理与应用.北京:
清华大学出版社,2002.12
[13]李朝清.PC机及单片机数据通信技术.北京:
北京航空航天大学出版社,1999.
[14]路而红.专用集成电路设计与电子设计自动化.北京:
清华大学出版社,2004
[15]刘文涛.MCS-51单片机培训教程(C51)版.电子工业出版社,2005.8
[16]王为青程国钢.单片机KeilCx51应用开发技术.人民邮电出版社,2007.2
[17]范风强兰婵丽.单片机语言C51应用实战集锦.电子工业出版社,2003.3
[18]龚运新.单片机C语言开发技术.清华大学出版社,2006.10
[19]邵贝贝.单片机嵌入式应用的在线开发方法.清华大学出版社,2006.3
[20]王宜怀.单片机原理及其嵌入式应用教程.北京希望