您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于C语言STC89C52单片机电子密码锁设计与仿真
届别2010学号200614060123毕业设计基于C语言STC89C52单片机电子密码锁设计与仿真姓名系别、专业物电系导师姓名、职称讲师完成时间2010-5-10目录摘要......................................................IABSTRACT.....................................................II1概述........................................................11.1电子密码锁的研究现状及前景.........................11.2电子密码锁的基本构件及优点.........................12系统硬件构成................................................22.1硬件电路主要芯片(MCS-52)...........................22.21602液晶显示......................................43功能分析....................................................63.1中断..............................................63.2键盘...............................................93.32IC总线...........................................114程序分析...................................................135系统电路与Proteus仿真.....................................255.1Proteus简介.......................................255.2仿真步骤..........................................255.3系统仿真电路(如下图)............................255.4仿真结果.........................................266结论........................................................26参考文献.....................................................27致谢.....................................................27I摘要密码锁是现代生活中经常用到的工具之一,常用于各类保险柜、房门、防盗门等。电子密码锁,克服了传统的机械式密码锁密码量少、安全性能差的缺点。特别是使用微处理器制作的智能电子密码锁,它除具有电子密码锁的功能外,还可引入了智能化管理功能,从而使密码锁具有更高的安全性和可靠性。本文介绍如何使用C语言编写8051单片机程序,制作智能电子密码锁。系统由矩阵键盘、单片机系统、lcd显示器和报警系统组成。该智能电子密码锁主要可由使用者自己设定一个6位数的密码,将密码锁上锁。只有在按“PUTINCODES”码后12秒内输入和设定的密码相同时,才能将锁打开,否则报警,报警后只有通过使用钥匙才能打开并停止报警。为了保证密码的更改方便与永久保存,使用了存储芯片,这样,在断电条件下,其内部密码数据则可保持100年不丢失。本程序已经在proteus仿真以及开发板用行成功。关键词:电子密码锁;单片机;矩阵键盘;lcd显示器;报警IIABSTRACTCode-Lock,oneofthetoolsusedinvarioustypesofinsurancetoresist,doors,securitydoors,isalreadyextensivelyusedinmodernlife.Theelectroniclockreplacingthetraditionalmechanicallocksovercomethelimitedpasswordnumberandthepoorsecurityofthemechanicallock.Particularly,theintelligentelectroniclockproducedbymicroprocessors,which,inadditionwithanelectroniccodelockfunction,butalsointroducingaintelligentmanagementfeaturetoletthecode-lockpossessahighersecurityandreliability.ThisarticledescribeshowtousetheClanguageprogram8051tomaketheintelligentelectroniccode-lock.TheSystemconsistsofmatrixkeyboard,SCMsystem,lcddisplayandalarmsystemcomponents.Theintelligentelectroniclockprovidetheusertosetasix-digitpasswordhimselfandletthepasswordlocklocked.OnlyinaccordancewithPUTINCODESyardsinputtherightcodewithin12secondsyoucanopenthelock,oritwillalarm,afterwhichyoucanopenthelockbykeyonlyandinthesametimeitstoppingalarming.Inordertoensuretheconveniencechangingandpermanentpresevingofthecodeweusethememorychips,sothatwhenweareundertheconditionofinterruptionofpowersupply,itsinternalpassworddatacanbemaintainedwithoutlossof100years.Thisprogramhasalreadybeensuccessfulusedinproteus-simulation,anddevelopmentboards.Keywords:ElectronicLocks;Microcomputer;MatrixKeyboard;LcdMonitor;Alarm麒麟家居服欢迎您!11概述1.1电子密码锁的研究现状及前景电子密码锁是现代生活中常用的加密工具。它不克服了机械式密码锁密码量少、安全性能差的缺点,尤其是微控制器的智能电子密码锁,不仅具有电子密码锁的功能,还可引入智能化管理功能,从而使密码锁具有更高的安全性和可靠性。当今的电子密码锁常使用arm[1]和单片机控制。单片机相对arm实现较为简单,功能较为完善,因此使用单片机控制较多。用单片机控制的密码锁常使用汇编语言编[2]写程序,显示器多数用数码管[3]。而本文所介绍的电子密码锁使用移植性及可读性强的高级语言C语言编写,便于修改和增减功能;同时采用显示清楚,功率消耗小而且寿命长的1602液晶显示器,显示更加直观,使用更加方便。从经济实用的角度出发,采用STC89C52[4]单片机设计一种具有密码设置、报警功能和防止多次试探密码的电子密码锁所需成本很低。1.2电子密码锁的基本构件及优点1.2.1STC89C52的选择STC89C52[5]是一种低功耗、高性能CMOS8位微控制器,具有8K可编程Flash存储器。使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具体特点如下:一、加密性强,很难解密或破解,解密费用很高、国内能解密的人少.二、超强抗干扰:三、超低功耗:四、在系统可编程,无需编程器,可远程升级。五、STC单片机直接替换ATMEL,PHILIPS,Winbond等产品。1.2.2液晶显示模块的选择液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。具有功耗低,显示信息大,寿命长和抗干扰能力强等优点,在低功耗的单片机系麒麟家居服欢迎您!2统中得到大量使用。液晶显示模块和键盘输入模块作为便携式仪表的通用器件,在单片机系统的开发过程中也可以作为常用的程序和电路模块进行整体设计。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示黑色,这样即可显示出图形。2系统硬件构成2.1硬件电路主要芯片(MCS-52)2.1.1MCS-51的引脚图12345678910111213141516171819204039383736353433323130292827262524232221P10P11P12P13P14P15P16P17........P00P01P02P13P04P05P06P07........P27P26P25P24P23P22P21P20........P30P31P32P33P34P35P36P37........XTAL2XTAL1VssRSTVp/RXDTXDT0T1INT0INT1PSENWRRDEAVpp/ALEPROG/VccMCS51-双列直插方式引脚2.1.2电源及时钟引脚1、电源引脚电源引脚接入单片机的工作电源。(1)Vcc(40脚):接+5V电源;(2)Vss(20脚):接地。2、时钟引脚麒麟家居服欢迎您!3两个时钟引脚XTAL1、XTLA2外接晶体与片内的反向放大器构成了一个晶振器,它为单片机提供了时钟控制信号。2个时钟引脚也可外接晶体振荡器。(1)XTAL1:接外部晶振一个引脚。该引脚是内部反向放大器的输入端,这个反向放大器构成了片内振荡器。(2)XTAL2:接外部晶振另一端,该引脚是内部反向放大器的输出端。采用外部时钟振荡器时,该引脚接收时钟振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。2.1.3控制引脚1、RST/VPDRST该引脚是复位信号输入端,高电平有效。当单片机运行时,若此引脚上的电压持续保持两个机器周期(24个时钟振荡周期)的高电平,单片机就会复位。当单片机正常工作时候应该保持为0.5V低电平。VPD为第9引脚第二功能,为备用电源的输入端。当主电源发生故障的时候,降低到某一规定的低电平时,将+5V电源自动接入RST端,为内部RAM提供备用电源,这样可以保证RAM的数据不会丢失,从而当单片机再次开机的时候能继续正常运行。2、ALE/PROGALE为地址所存允许信号,当单片机正常工作后,ALE引脚不断地输出正脉冲信号。当访问单片机外部存储时,ALE输出信号的负跳沿用作8位地址的锁存信号。即使不访问外部锁存器,ALE仍有正脉冲信号输出,此频率为时钟振荡器频率的1/6.但是,每当访问外部数据存储器时,在两个机器周期中ALE只出现一次,即丢失一个ALE脉冲。因此,严格来说,用户不宜用ALE作精细的时钟或定时钟或定时信号。ALE端可以驱动8个TTL负载。如果想判断单片机芯片的好坏,可以用示波器查看ALE端是否有正脉冲输出。若有正脉冲输出,那么单片机基本是正常
本文标题:基于C语言STC89C52单片机电子密码锁设计与仿真
链接地址:https://www.777doc.com/doc-3525440 .html