课程设计说明书课程名称:《单片机技术》设计题目:基于51单片机的电子密码锁院(部):电子信息与电气工程学院学生姓名:马亚林学号:专业班级:12通信工程(专升本)指导教师:丁莹亮2013年05月17日1课程设计任务书设计题目基于51单片机的电子密码锁学生姓名王立斌所在院部基于51单片机的电子密码锁专业、年级、班12通信工程(专升本)设计要求:设计以单片机AT89C51为核心的电子密码锁,包括电子密码锁完整的设计过程以及外围的开锁电路和报警电路的设计。电子密码锁要完成以下部分的设计:按键接口电路、电子密码锁的控制电路、输出八段显示电路。电子密码锁控制电路能完成以下功能设计:数字按键的数字输入、存储和清除、功能按键的功能设计、密码的清除和复位、报警信号产生电路密码核对、解除电锁电路、输出八段显示电路完成以下电路设计:数据选择电路、八段显示器扫描电路。学生应完成的工作:1.运用Proteus软件设计电路原理图;2.用Proteus软件进行仿真;3.焊接电路板并调试实现其功能;4.完成实习报告;5.我的任务是设计电路原理图并仿真。参考文献阅读:[1]杜尚丰.CAN总线测控技术及其应用.北京:电子工业出版社,2007.1[2]杜树春.单片机C语言和汇编语言混合编程实例详解.北京:北京航空航天大学出版社,2006.6工作计划:2013.5.6熟悉课题并查阅相关资料,同时消化吸收资料内容;2013.5.7——2013.5.8根据设计题目确定硬件设计方案,并交与指导老师修改;2013.5.9——2013.5.10开始着手课题的软件设计,与指导老师进行沟通;2013.5.13申请领用元器件;2013.5.14——2013.5.17进行实物制作,并撰写课程设计报告。任务下达日期:2013年5月6日任务完成日期:2013年5月17日指导教师(签名):学生(签名):王立斌2基于51单片机的电子密码锁的设计摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。关键词:单片机;密码锁;单片机设计,电子锁。3目录1.设计背景...................................................51.1选题背景...............................................51.2课题意义...............................................52.设计方案....................................................53.方案实施...................................................63.1硬件系统...............................................63.1.1AT89C52简介及功能引脚...............................................................73.1.2晶振电路..........................................................................................73.1.3共阳极数码管..................................................................................83.1.4复位电路..........................................................................................83.1.5发光二极管......................................................................................93.2软件设计..............................................103.3仿真设计..............................................123.4系统制作..............................................134.结果与结论.................................错误!未定义书签。5.收获与致谢.................................错误!未定义书签。6.参考文献...................................错误!未定义书签。7.附件.......................................错误!未定义书签。7.1元器件清单............................................157.2密码锁程序.............................错误!未定义书签。47.3系统硬件电路图..........................错误!未定义书签。7.4系统实物照片............................错误!未定义书签。51.设计背景1.1选题背景在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。1.2课题意义单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。为了紧跟时代步伐,系特此安排此次实习,以提高对单片机的认识及对其更深一步的理解与掌握。2.设计方案2.1原理设计密码锁工作时分为两种工作状态,分别是正常状态和锁定状态。锁定状态时,输出锁定信号,供外部执行机构使用,实现上锁功能;正常状态时,锁定信号消失,供外部执行机构使用,实现开锁功能以AT89C52问为中心,在引脚XTAL1和XTAL2输入由晶振电路产生的固定脉冲,同时设置复位电路。4个数字键通过P0口的低1位P0.0-P0.3连接,P0.0表示0数字键、P0.1表示1数字键、P0.2表示2数字键、P0.3表示3数字键。按键按下为低电平,断开为高电平。数码管与P3口的七个引脚相连,稳压电路通过7805、桥堆2W10和适当电容实现。软件部分可以编程驱动电路及延时程序,完成相应要求,可用PROTUES软件进行仿真,验证程序是否正确。第二种方案是在P.0-P0.6口与数码管之间连接驱动芯片74LS247,程序可不必编入驱动程序。6以上两种方案都可以完成密码锁设计要求,不同之处是前者方便简易,易于实现,且可提高编程能力,而第二种也可实现,在考虑节约方面,是浪费了驱动芯片,且即使有驱动芯片,也要考虑芯片驱动电压和驱动电路正确与否,相对而言,不如前者。2.2软件设计根据要求和设计方案在PROTUES软件中画出相应电路,用汇编语言汇编应用程序,之后把程序导入单片机中进行验证,成功后制作PCB板3.方案实施3.1硬件系统3.1.1AT89C52简介及功能引脚AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。它是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写端口,AT89C52可以按照常规方法进行编程,但不可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。AT89C52为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1和XTAL2为振荡器输入输出端口,外接12MHz晶振。RST/VPP为复位输入端口,外接电阻电容组成的复位电路。VCC7和VSS为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS和SCLS端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。其引脚图见图1。图1AT89C523.1.2晶振电路MC-51内部有一个用于构成振荡器的高增益反相放大器,输入端为引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个自激振荡器,如图2。电路中C1和C2典型值通常选为30pF左右,对外接电容没有严格要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。振荡器的频率范围在1.2MHz-12MHz之间。8X1CRYSTALC120pC220p图23.1.3共阳极数码管共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。其原理图如图2:图3共阳极数码管3.1.4复位电路电阻给电容充电,电容的电压缓慢上升直到VCC,没到VCC时芯片复位脚近似为低电平,于是芯片复位,接近VCC时芯片复位脚近似为高电平,于是芯片停止复位,复位完成。先看看单片机数据手册,得知复位时间最少是多少个周期,再计算当前时钟频率一个周期是多少时间,再乘以复位所需周期数就知道当前时钟频率所需复位时DS1DS2DS3DS4DS5DS6DS7DS81KR3VCC9间,用RC充电公式计算所需电阻电容值即可。注意单片机数据手册复位脚的高低电平电压值,RC充电时间要计算复位脚的高低电平区