版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计论文题目基于单片机的电子密码锁设计专业名称学生姓名指导教师毕业时间设计论文设计论文一、题目基于单片机的电子密码锁的设计二、指导思想和目的要求指导思想:出于安全、方便等方面的需要,许多智能锁(如指纹辨别、IC卡识别)已相继问世,但这类产品的特点是针对特定指纹或有效卡,只能适用于保密要求高且仅供个别人使用的箱、柜、房间等。另外,卡片式的IC卡易丢失,加上其成本一般较高,在一定程度上限制了这类产品的普及和推广。根据单片机技术及相关原理,设计一个以单片机为控制核心,采用程序控制方法的电子密码锁。目的要求:采用80c52单片机为主控芯片,结合外围电路和软件程序组成电子密码锁系统,能够实现:(1)输入密码用矩形键盘,包括数字键和功能键。(2)LED数码管显示输入密码,但是只是输出显示符号-,采用动态扫描输出。(3)用发光二极管模拟锁的情况,锁关时发光二极管灭,打开时发光二极管亮。软件的设计主要包括矩形键盘键值的读取、LED动态扫描输出程序、密码判断程序。三.主要技术指标(1)用protel99SE画电路图(2)通过protues调试仿真(3)用keil软件编程四.进度和要求(1)思路设计2周(2)了解各个元件2周(3)画总体原理图2周(4)程序设计4周(5)系统仿真与调试4周五.主要参考书及参考资料[1]苏长赞.使用遥控技术手册[M].北京:北京人民邮电出版社,1996.[2]霍孟友.单片机原理与应用[M].北京:机械工业出版社,2004.[3]张洪润.单片机应用技术教程[M].北京:清华大学出版社,1997:56-57.[4]马鸣远.程序设计与C语言[M].西安:西安电子科技大学出版社,2003.[5]魏立峰,等.单片机原理与应用技术[M].北京:北京大学出版社,2008.[6]周润景,等.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.[7]周兴华,等.单片机智能化产品C语言设计实例讲解[M].北京:北京航空航天大学出版社,2006.[8]张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社,2007.[9]卢健,彭军,颜自勇,陈文芗.自学习型智能红外遥控器设计[J].国外电子测量技术,2006(25):63-66.[10]陈永甫.红外探测与控制电路[M].北京:北京人民邮电出版社,2004.[11]周丽娜.PROTEL99SE电路设计技术,基础、案例篇[M].北京:中国铁道出版社,2009.[12]胡继胜,杜贵敏.电子CAD技能与实训:PROTEL99SE[M].北京:电子工业出版社,2003.[13]何立民.单片机应用文集[M].北京:北京航空航天大学出版社,1992.[14]窦振中.PIC系列单片机应用设计与实现[M].北京:北京航空航天大学出版社,1999.[15]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,1992.[16]谢宋和.单片机模糊控制系统设计与应用实例[M].北京:电子工业出版社,1999.[17]孙育才.STC系列单片机及其应用[M].南京:东南大学出版社,1997.[18]蒋孝良,等.继电器接点控制线路的逻辑设计[M].上海:上海科学技术出版社,1979.[19]周云仙,等.液晶显示应用手册[M].北京:电子工业出版社,2002.[20]桑野雅彦.存储器IC的应用技巧:UV-EPROM/EEPROM/SRAM/DRAM的结构与使用方法[M].北京:科学出版社,2006.学生指导教师系主任摘要在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替了传统的机械式密码锁,电子密码锁具有安全性高、成本低、功耗低、易操作等优点。它是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。本文从经济实用的角度出发,采用80c52单片机作为主控芯片,结合外围的矩阵键盘输入、LED液晶显示、报警、开锁等,用C语言编写的主控芯片控制程序与EEPROMAT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。这种密码锁的电路设计具有防试探按键输入、智能控制上锁、开锁、报警、修改密码等多种功能。保密性强、灵活性高、应用日益广泛。关键词:密码锁,单片机,报警,LED显示ABSTRACTInthedailylifeandthework,thewaytothehouse'sanddepartment'ssafeguard,unit'sdocumentfile,thefinancialreportingaswellassomeindividualmaterialpreservationalmostneedmanylocks.Ifweusetraditionmechanicalkeytoopen,thepeopleoftenmustcarrymanykeys,butitisnotextremelyconvenient.Ifthekeylost,thesecuritywilldeclinegreatly.Inthesafetyworkguarddomain,thelockwithsecuritywarningfunctionelectroniccombinationhavereplacedthetraditionalmechanicalcombinationlockgradually,theelectroniccombinationlockhavethehighlysecurity,thelowlycost,thelowlypowerwastage,easytooperateandsoonmerits.Itisapasswordinputthroughthecontrolcircuitorchip,therebycontrollingtheclosedmechanicalswitch,completingunlocking,lockingthetaskofelectronicproducts.Ithasmanytypes,hassimplecircuitproducts,butalsothehighercostchip-basedproducts.Nowthewidelyusedelectroniccodelockisachipasthecore,achievedthroughprogramming.Thisarticleisbasedontheeconomicalandpracticalpointofview,use80c52microcontrollerasamasterchipandthedatamemoryunit,itcombineswiththeexternalmatrixkeyboardinput,LEDdigitaldisplay,alarm,unlockandsooncircuits,dominatesbytheCprogramminglanguagechipEEPROMofthecontrolproceduresandcarriesonthetranslationwithKeilsoftware,thepasswordcanbechangedmanytimes,theelectronicthepasswordcontrolalsohasthealarmingfunction.Thispasswordlockcircuitdesignhasanti-testbuttoninput,intelligentcontrollock,unlock,alarmandchangethepasswordmultiplefunctions.Passwordlengthcanbechanged,greatsecurityandhighflexiblethanothers,itiswidelyused.KeyWords:Passwordlock,MCU,Alarm,LEDDisplay目录第一章绪论 11.1课题的介绍 11.2本设计课题的研究现状 1第二章密码锁设计方案及论证 32.1密码锁的设计思路 32.2设计方案的几种类型 32.3方案论证及设计框图 4第三章硬件设计 63.1单片机简介 63.2内部时钟电路 103.3手动复位电路 103.4键盘接口电路 113.5数码管数码显示电路 123.6译码器74LS138的运用 143.7开锁控制电路 143.8报警电路 15第四章电子密码锁软件系统设计 164.1软件工具介绍 164.2主程序框图 174.3程序功能及程序举例 18第五章系统仿真与调试 225.1PROTEUS仿真过程 225.2仿真结果分析及问题解决方案 28参考文献 28致谢 29毕业设计小结 32附录 33第一章绪论1.1课题的介绍密码锁是锁的一种,开启时用的是一系列的数字或符号。密码锁的密码通常都只是排列而非真正的组合。部分密码锁只使用一个转盘,带动锁内的数个碟片或凸轮转动;亦有些密码锁是转动数个刻有数字的拨轮圈,直接带动锁内部的机械。此密码锁是一种能防止多次试探密码的基于单片机的密码锁,根据总体要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择,硬件设计,软件流程图,软件程序等内容。密码锁应用非常广泛,如生活中的密码箱,取款机取款时插入卡后要输入个人设定的密码,银行里的密码柜,核武器在发射时也有密码等等。很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。我们的设计给出了一种能防止多次试探密码的密码锁设计方法,利用单片机控制。因为单片机不但具有体积小,成本低,控制灵活,便于产品化等特点,而且单片机具有新的发展,具体主要体现在单片机片内资源越丰富,用它构成的单片机控制系统的硬件开销就会越少,产品的体积和可靠性就会越高,无论是现代社会应用比较广泛的8位单片机还是16位、32位的单片机,不仅可以把CPU、RAM、ROM、定时器/计数器、I/O接口和中断系统等电路集成进去,而且片内新增了A/D和D/A转换器、监视定时器、DMA通道和总线接口等都为单片机开辟了新的应用天地,所以,使用单片机系统控制密码锁,体积小,成本低,控制灵活,便于产品化,可以防止多次试探。1.2本设计课题的研究现状随着电子技术的发展和单片机功能的增强,出现了带微处理器的智能密码锁,它除了具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性。目前发达国家已经大规模地应用智能门禁系统,可以通过多种更加安全,更加可靠的方法来实现大门的管理。但电子密码锁在我国的应用还不广泛,主要出现在保险柜、密码箱、高级宾馆等场所,家居用的较少,究其原因,我认为有以下几点:1、价格原因。现在买一把普通的机械锁,价格在几块到几十块左右,而电子密码锁的价格较贵,一般在百元以上,进口的甚至要上千元,买一把这样的锁对很多家庭来说,是很难接受的。2、厂商的推广力度不够。电子密码锁属于较新的高科技产品,许多用户对其并不了解,更不用说拿它与传统的机械锁作比较。而一般的商场也不会经营这种产品,用户即使想买也难以买到。目前我国开发的电子密码锁的技术还比较落后,开发的密码锁大多采用分离电子元件或普通数字电路设计生产的,尽管与机械钥匙锁相比有许多优点,但智能化程度低,编码组合仍较少。采用单片机制作的电子密码锁,就克服了以上的两大缺陷。其主要特点为:保密性好。由于采用6位密码,随机破码率很低,并且在密码可能泄露的情况下及时更改密码,避免因人员的更替等特殊情况而使锁的安全性下降。(2)无活动零件,不会磨损,寿命系统自动启动。(3)界面简洁,操作简单人性化,故障率低,密码输入操作简便。(4)通用性强,可根据需要安装在不同的设备上。(5)硬件成本低廉,软件简洁可靠,易于批量生产。第二章密码锁设计方案及论证2.1密码锁的设计思路根据本设计的要求,构思如下:(1)输入密码用矩形键盘,包括数字键和功能键。(2)LED数码管显示输入密码,但是只是输出显示符号-。采用动态扫描输出。(3)通过输入密码进行模拟开锁。(4)输入密码错误或操作错误时报警。软件的设计主要包括矩形键盘键值的读取、LED动态扫描输出程序、密码判断程序和报警程序。2.2设计方案的几种类型1、多拨式最简单的密码锁,常见于低安全设定的单车锁,使用多个拨圈。每个圈的中间有凹位。锁的中心的一条轴,上有数个凸出的齿,用来卡住拨圈。当拨圈转到正确的密码组合,锁便可以打开。这种锁是最容易打开的。很多这类锁根本无需知道密码都能开启。除非它的内部组件造得完美无瑕,否则只要把轴向外拉,其中一个齿便会比其他更为拉紧拨圈。这时轮动被拉紧的拨圈,直至听到小小的“卡”声,表示这个齿已进入了正确的凹位。重复这步骤,很快便可以把锁打开。2、单一转盘式用在挂锁上的密码锁可以是只有一个转盘。转盘推动背后数个平衡碟片或凸轮。习惯上,开启这种锁时先把转盘顺时针转到第一个数字,然后反时针转到第二个数字,如此直至最后一个数字。凸轮上通常有凹位,当转入正确的密码后,各位成一直线,锁便可以打开。这种密码锁较为安全,但亦非全无缺点。例如,部分密码挂锁可以拉紧锁头,然后转动转盘直至不能再动,这样便能把密码找出。亦有些转盘密码锁的数字之间有特定关系,使到密码的组合可能性大为降低。廉价的密码挂锁可以用特别的衬片打开,而无需使用密码。3、其他设计有些门锁上有一个数字键盘,开启时按序键入一个数字系列。这种锁是使用电子控制,常见于办公室内。优点是只要告诉员工密码便可,无须复制钥匙。它由单片机系统、矩阵键盘、LED显示器等组成的电子密码锁。具有开锁、超次锁定、解密、修改、保存密码、用户密码基本的密码锁的功能。克服了普通锁需要随身携带钥匙且易丢失、保密性差的缺点,在宾馆、办公大楼、仓库、保险柜和家庭普遍适用。本设计中采用的是电子密码锁,基本功能如下:1、电源开始后,显示器显示“CLOSE”;2、按“*”,清除显示器;3、输入888888,显示,按#键结束,此时灯亮,显示-PASS-;4、更改密码时,先按A,此时数码管显示CHPASS,按*键输入新密码再按#键结束,此时显示-EPASS,再按*键输入一遍新号码按#键结束,此时显示-SESS-,即可建立新号码;5、若第二次输密码是密码输错,则会显示Error,并报警提示;6、键盘设计要求(如图2-1)789A456B123C*0#D图2-1键盘结构2.3方案论证及设计框图考虑到数字电路方案原理简单,造价低廉,但是不能满足现在的安全需求,而单片机方案有较大的活动空间,不但能实现所要求的功能,而且能在很大的程度上扩展功能及方便地对系统进行升级,实现基本的密码锁功能,添加掉电存储、声光提示甚至添加遥控控制功能。所以我们采用后一种方案。基于单片机的电子密码锁主要由单片机80c52最小应用系统电路、键盘输入电路、数码显示电路、复位电路、晶振电路、报警电路和开锁电路组成。各电路有其特有功能,以下将分别论述,系统功能框图如图2-2所示80c5280c52键盘输入复位电路晶振电路显示电路报警电路开锁电路图2-2系统功能框图第三章硬件设计3.1单片机简介一、单片机的基础知识目前世界单片机的生产厂商很多,如Intel,Motorola,Philips,NEC,ADM,Zilog等公司,其主流产品有十几个系列,几百个品种。尽管其个具特色,其称各异,但作为集CPU,RAM,ROM(或EPROM),I/O接口,定时器/计数器,中断系统为一体的单片机,其原理大同小异。现以Intel公司的系列产品为列,说明各系列之间的区别。Intel公司从其生产单片机开始,发展到现在,大体上可以分为3大系列:MCS—48系列,MCS—51系列,MCS—96系列。二、单片机的结构与发展单片机出现的历史并不长,它的产生与发展和微处理器的产生与发展大体相同。因此,单片机的发展阶段可以分为4个阶段。第1阶段,(1974-1976):单片机初级阶段。此阶段的单片机采用双片的形式而且功能比较简单。此时推出的8位单片机F8,只包含了8位CPU,64BRAM,一个定时/计数器和两个并行口的3851芯片才能组成一台完整的计算机。第2阶段(1976-1978):低性能单片机阶段。此阶段的单片机已经成为一台完整的计算机,但内部不够丰富。以Intel公司生产的MCS-48为代表,片内集成了8位CPU,8位定时/计数器,RAM和ROM等,但无串行口,中断系统也比较简单,片内RAM和ROM容量较小且寻址范围不大于4KB。它把单片机推向市场,促进单片机的变革。第3阶段(1978-1982):高性能单片机阶段。此阶段的单片机品种多,内部资源丰富,功能强。以Intel公司生产的MCS-51系列为代表,片内集成了8位CPU,16位定时/计数器,串行I/O口,多级中断系统,RAM和ROM等,片内RAM和ROM容量加大,寻址范围可达64KB。第4阶段(1982年-现在):8位单片机的巩固发展及16位,32位单片机推出阶段。其最大特点是增加了内部资料,实时处理能力更强。三、单片机的发展趋势1.单片机的发展趋势是:向高性能化,大容量,微型化,外围电路内装化等方面发展。(1)采用双CPU结构,以提高处理速度和处理能力。(2)增加数据总线宽度,以提高数据处理速度和处理能力。(3)采用流水结构。指令以队列形式出现在CPU中,从而具有很快的运算速度。(4)串行总线结构。2.存储器的发展(1)增加存储容量。片内RAM可达256B。片内存储器存储容量的增大有利于外围扩展电路的简化,从而提高产品的稳定性,降低产品的成本。(2)片内EPROM开始到EPROM平方化。(3)程序保密化。3.片内I/O口改进一般单片机都有较多的并行口,以满足外围设备,芯片扩展的需要,并配有串行口,以满足多机通信功能的需要.并配有串行口,以满足多机通信功能的需要。(1)提高并行口的驱动能力。(2)增加I/O口的逻辑控制功能。(3)特殊的串行接口功能,为单片机构成网络系统提供更便于利用的条件。四、单片机的特点1、小巧灵活,成本低,研发周期短,易于产品,能利用它方便的组装成各种智能式测控设备及各种智能仪表,很容易满足仪器设备既智能化又微型化的需求。2、可靠性高,使用的温度范围宽。3、易扩展控制能力强。4、指令系统相对简单,较易掌握且指令中有较丰富的逻辑控制功能指令,能较方便地直接操作外部I/O设备。五、单片机的应用目前单片机的应用已深入到国民经济的各个领域,对各个行业的技术、改造和产品的更新换代起到了重要的推动作用,由于单片机的特点决定了单片机的应用领域,智能器仪表、机电一体化、实时控制、民用电子品等方面。单片机在智能仪器仪表的应用。单片机广泛地应用于实验室、交通运输工具、计量等各种仪器仪表中,可使仪器仪表智能化,提高它们的测量速度和测量精度,加强控制功能,简化仪器仪表的硬件结构,便于使用、维修和改进。单片机在该领域的应用,不使传统的仪器仪表发生根本性的变革,也给传统的仪器仪表行业的改造带来了曙光和美好的前景。1.单片机在实时控制领域的应用单片机也可广泛地应用于各种实时控制系统中,测量和控制工业上过程控制中的各种物理参数,如转速、位移、压力、流量等,将测量技术、自动控制技术和单片机技术相结合,能充分发挥数据处理和实时控制功能,使系统工作于最佳状态,提高系统的生产效率和产品的质量。2.在军工领域的应用利用可靠性高、适用的温度范围广、能适应各种恶劣的环境的特点,单片机可广泛应用于导弹控制,航天飞机巡航系统等领域。3.单片机在分布式多机统中应用分布式多机系统具有功能强、可靠性高的特点。4.在民用电子产品中的应用单片机在民用电子产品中的作用,能明显提高产品的性能价格比,提高产品在市场上的竞争力。单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系统,可以软件控制来实现,并能够实现智能化,现在单片机控制范畴无所不在,例如通信产品、家用电器、智能仪器仪表、过程控制和专用控制装置等等,单片机的应用领域越来越广泛。诚然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想。是控制技术的一次革命,是一座重要的里程碑,本次设计采用的是80c52单片机。六、单片机芯片的特性及说明1.主要特性:它与MCS-51兼容,有4KB字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间为10年。全静态工作时在0Hz-24Hz之间,内部RAM是128b*8位,有32可编程的I/O线,两个16位定时器/计数器,5个中断源。2.管脚说明如图3-1所示:图3-180c52管脚VCC:供电电压GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C52的一些特殊功能口,如下表所示:
管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。3.2晶振电路晶振电路如图3-2所示。利用MCS-51内部的高增益反相放大器,在XTAL1和XTAL2引脚上外接定时元件,内部振荡。定时元件一般采用石英晶体和电容组成的并联振荡回路。晶体可以在1.2~12MHZ之间任选,电容可以在5~30pF之间选择,电容C1和C2的大小可起频率微调的作用,电容大小要和晶体的容性负载阻抗相匹配,否则不易起振。图3-2晶振电路3.3复位电路主要实现的功能是使CPU和系统中的其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。按键手动复位有电平方式和脉冲方式两种。按键电平复位是通过使复位端经电阻与VCC接通而实现的。按键脉动复位则是利用RC微分电路产生的正脉冲来实现的。复位RST在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的0000H处开始运行程序。本系统采用的是手动复位电路。复位电路图如3-3所示:图3-3复位电路图3.4键盘接口电路键盘是单片机系统中最常用的人机联系的一种设备,它由若干个按键组成,用户通过键盘向CPU入数据或命令以实现简单的人机通信。对键盘的识别可分为两类:一类是由专门的硬件电路来识别,它使用起来方便,但需要价格昂贵的芯片,单片机系统中一般不采用;另一类靠软件来识别,它结构简单,价格便宜,应用灵活。本设计中查询的方法识别键,优点是电路简洁,节省硬件,抗干扰能力强,应用灵活,缺点是占用较多的CPU时间资源。非编码键盘可以分为两种结构形式:独立式键盘和行列式键盘。本次设计中采用的是行列式键盘,可节省I/O口线。其工作原理是:行线P1.0~P1.3是输入线,CPU通过其电平的高低来判别键盘是否被按下。依次使列线P1.4~P1.7中的一根输出为低电平,则只有与之对应的键按下时,才能使行线为低电平。键盘接口电路图如3-4所示:图3-4键盘接口电路图3.5数码管数码显示电路七段数码显示器如图3-5所示:图3-5七段数码显示器显示电路主要由6个共阳型七段数码管(SM4105)、6只型PNP型三极管、一片74LS1383-8线译码器组成。电路结构简单,性能稳定,使用方便。七段显示数码管(动态)工作原理:逐个地循环点亮各位显示器,也就是说在任一时刻只有1位显示器在显示。LED动态显示的优点是用较少的端口,可以扩展多位LED显示器。缺点是过多的占用CPU的时间。除了LED动态显示,还有一种是LED静态显示。LED静态显示的优点是不占用CPU的时间,缺点是占用过多的输出端口。采用动态显示的数码管,为了使人看到所有显示器都在显示,就得加快循环点亮各位显示器的速度(提高扫描频率),利用人眼的视觉残留效应,给人感觉到与全部显示器持续点亮的效果一样。一般地,每秒循环扫描不低于50次。数码管显示电路的工作原理:数码管显示时,P0.0--P0.3根据程序输出高电平或低电平,经过限流电阻(防止数码管因电流过高而损坏)送至数码管的阴极。同时,单片机的P0.4--P0.6根据要求输出高电平或低电平,送到74LS138的三个输入端,经译码后由输出端输出,此时,74LS138的输出端只有一位为“0”,使其中的一只三极管导通,引入电源,驱动与其对应的数码管,数码管工作。数码管的各发光二极管根据对应的高电平或低电平发光或不发光。每只数码管依次循环,就完成了发光电路的设计,本设计采用动态数码显示器。LED数码显示器有两种连接方法:①共阳极接法:把二极管的阳极连接在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。当阴极端输入低电平时,七段发光二极管就导通点亮,而输入高电平时则不点亮。②共阴极接法:把二极管的阴极连接在一起构成公共阴极,使用时公共阴极接地,每个发光二极管的阳极通过电阻与输入端相连。当阳极端输入高电平时,七段发光二极管就导通点亮,而输入低电平时则不点亮。本设计中采用的是共阳极LED数码显示器。数码管显示电路原理图如3-7所示:图3-7数码管显示电路原理3.6译码器74LS138的运用在中规模集成电路中译码器有几种型号,使用最广的通常是74LS138,其是一个3到8的译码器,下图是其逻辑符号及管脚排布,下表中列出了该器件的逻辑功能,从表中可以看出其输出为低电平有效,使能端G1为高电平有效,G2,G3为低电平有效,当其中一个为低电平,输出端全部为1。74LS138图如3-8所示:图3-874LS1383.7开锁控制电路开锁控制电路主要由发光二极管和电阻组成。其优点是结构简单,成本低,操作简便。在设计中,暂时用发光二极管代替电磁锁,当p2.6输出为低电平时,发光二极管亮,表示开锁;输出时高电平时,发光二级管灭,表示没有开锁。如图3-9所示:图3-9开锁控制电路及报警电路3.8报警电路报警电路由一个蜂鸣器驱动电路来实现的,包括以下几个部分:一个蜂鸣器、一个三极管和一个电阻。加电后不发声,当有键按下密码正确时,不发声直接开锁,当密码输入错误时,蜂鸣器发出噪声报警。蜂鸣器的作用:用来发声,在其两端加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、驱动方式(直流/方波)等。这些都可以根据需要来选择。三极管作用:三极管起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声,而基极低电平则使三极管关闭,蜂鸣器停止发声。报警电路如上图3-9所示。第四章电子密码锁软件系统设计4.1软件工具介绍PROTELDXP2004简介ProtelDXP是Altium公司2002年7月推出的第7代Protel系列软件,是基于Windows操作平台的一款产品。它将原理图绘制、电路仿真、PCB设计、设计规则检查、FPGA及逻辑器件设计等完美地融合在一起,为用户提供了全面的设计解决方案,是电子线路设计人员首选的计算机辅助设计软件。
2004年年初,Altium公司推出了最新版本的Protel软件——ProtelDXP2004。与以前的版本相比较,ProtelDXP2004的功能得到进一步增强,其改进型Situs自动布线规则大大提高了布线的成功率和准确率。此外,ProtelDXP2004全面支持FPGA设计技术。SP4升级包更增强了ProtelDXP2004的功能。
ProtelDXP2004SP4具有强大的设计功能,完全能够满足电子电路设计的需要,是目前用户群最大、实际工程应用最广泛的版本。2.Proteus7.9仿真平台在该设计中,利用Proteus软件进行仿真。Proteus是英国Labcenter公司开发的电路分析与仿真软件。运行于Windows操作系统上,可以仿真、分析(SPICE)数字电路、模拟电路、数模混合电路,是目前唯一能实现对51、PIC、AVR、HC11、ARM等处理器的仿真软件。该软件的特点是:(1)集原理图设计、仿真和PCB设计于一体,真正实现从概念到产品的完整开发工具。(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真,是独一无二的支持处理器与外围电路的协同仿真电路设计软件。(3)具有全速、单步、设置断点等多种形式的调试功能。(4)具有各种信号源和电路分析所需的虚拟仪表、是电类教学实验与创新的最侍平台。(5)支持KeilC51uVision2、MATLAB等第三方的软件编译和调试环境。(6)具有强大的原理图到PCB板设计功能,可输出多种格式的电路设计报表。3.Keil软件概述程序在KEILC51上调试,采用模块程序设计技术,逐个模块调好后进行系统程序总调。
对于模块结构程序,要一个个子程序分别调试。调试时,一定要符合入口条件和出口条件,调试可用单步运行和断点运行方式,通过检查用者系统的CPU现场情况、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求,有无循环错误、有无机器码错误以及转移地址的错误,同时,还可以发现系统中存在的硬件设计错误和软件算法错误。
各程序模块通过后,则可以把相关功能块连在一起进行总调。这个阶段若有故障,可以考虑各子程序运行时是否破坏了现场,缓冲单元、工作寄存器是否发生冲突,标志位的建立和清除是否有误,堆栈区是否有溢出,输入设备的状态是否正常等等,若用者系统是在开发机的监控程序下运行时,还要考虑用者缓冲单元是否和监控程序的工作单元发生冲突。
单步和断点调试后,还应进行连续调试,用以确定定时精度、CPU的实时响应等问题。当全部调试和修改完成后,将程序固化到80c52中。进行整机调试。各功能实现则调试完成。
4.2主程序框图如下图所示:开始初始化等待密码的输入有键按下?开始初始化等待密码的输入有键按下?操作有误?显示Error并报警提示继续输入密码密码正确?开锁并亮灯NYYNYN图4-2主程序流程图4.3程序功能及程序举例1.主程序功能:主要完成初始化、设置中断向量、检查有无按键按下,以及调用显示等。此时的程序为:#include<comm.h>sbitpassed=P2^7;datauchartemp[6],passwd[6],pass1[6],pass2[6];//temp为显示的内容、passwd为密码存放的地方、pass1为密码修改时第一次存放、pass2为第二次存放。voidstatlock(){ ///close. temp[0]=0x0c; temp[1]=17; temp[2]=0; temp[3]=18; temp[4]=0x0e; temp[5]=22;}voidmain(){ input=0; passwd[0]=8; passwd[1]=8; passwd[2]=8; passwd[3]=8; passwd[4]=8; passwd[5]=8; passlen=0;// passed=0; statlock();//显示锁住状态 while(1){ display(); P1=0xf0; while(P1!=0xf0){ key_scan(); } }}2.键盘扫描及识别子程序功能:键盘采用查询方式,放在主程序中,当没有按键按下时,单片机循环主程序,一旦有键按下,便转向相应的子程序处理,之后再返回。按键分布图如4-1所示:789改456关123空*0#空图4-1按键分布图其中,*表示输入数字,#表示确认。3.数码管显示功能:对应的程序为codetab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xbf,0xC7,0x92,0x8c,0xaf,0xa3,0x7f,0xff,0x89};voidsend(uchard,ucharn){ //P0=(((n<<4)&0xf0)+(0x0f&d)); //P0=0x24; P0=tab[d]; P2=(P2&0xf8)+n; delay(1); P2=P2|0x07;}voiddisplay(){ ucharj; for(j=0;j<=5;j++) send(temp[j],j);}4.报警电路功能:当密码输错或者改密码第二次输入错误时提示错误并报警,对应程序为:#include<comm.h>sbitbeep=P2^6;sbitpassed=P2^7;voidstaterr(){ temp[0]=0x0e; temp[1]=20; temp[2]=20; temp[3]=21; temp[4]=20; temp[5]=23;}voidwarn(){ucharl=20; passlen=0; input=0; passed=1; staterr(); while(l--){ beep=0; display(); delay(5); beep=1; display(); delay(5); }}系统仿真与调试5.1PROTEUS仿真过程PROTEUS软件自带编辑器,可以实现对汇编程序的编译,其操作步骤是:(1)新建源文件:点菜单Source→Add/RemovesourceFiles在出现的对话框中,选择ASEM51编辑器,新建JIE.asm源文件。(2)程序设计:点菜单Source→JIE.asm打开源文件编辑器,将将附录程序输入到文本中。(3)源程序编译:点菜单Souce→BuildALL编译汇编源程序,生成目标代码文件PMD.HEX,若编译失败,可对程序进行修改调试直至编译成功。(4)目标代码加载:在PROTEUS编辑环境双击80c52,在PROGRAMFILE一栏中单击打开按钮,选中JIE.HEX文件。在CLOCKFREQUENCY栏中设置系统工作频率为12MHz,单击OK完成目标代码加载。最后,点击运行按钮,启动系统仿真。仿真操作过程如下:
点击开始,即给加电,如图5-1所示。图5-1启动加电
2.点击*开始再键盘输入初始密码888888,数码管显示并点击#,此时结果如图5-2所示。此时LED灯亮。图5-2输入密码正确状态
若输入错误,则数码管显示Error并报警,如图5-3所示:图5-3输入密码错误状态4.设新密码时,先按A,此时数码管显示CHPASS,如图5-4:图5-4修改密码
5.按*键输入新密码再按#键结束,此时显示-EPASS,如图5-5所示:图5-5输入新密码
6.再按*键输入一遍新号码按#键结束,此时显示-SESS-,即可建立新号码;如图5-6所示:图5-6再次输入新密码5.若第二次输密码是密码输错,则会显示Error,并报警提示;如上图5-3。6.按B关闭仿真,此时显示CLOSE。如图5-1。5.2仿真结果分析及问题解决方案通过上述仿真,可以看出基于单片机控制的电子密码锁在PROTEUS软件上可以很好的实现显示模块的仿真。在仿真的过程中因自己操作的粗心及对本软件相关知识的掌握程度还不够使得一些问题涌现了出来。如(1)系统工作频率应设置为12MHz及程序代码加载时后缀名应改为.hex,可我因没有考虑全面,在一开始总是出不了仿真结果;(2)因没有及时发现程序中的一些小细节错误,使得程序的编译和执行一直无法通过;(3)因仿真时操作不当,造成屏幕锁定等。后来经过自己慢慢摸索及老师和同学的帮助,这些问题都得到了一一的解决;(4)因硬件电路图设计不完善,元件选择不恰当导致无法显示,经过修改后顺利显示。当仿真开始运行时,各个模块处于初始状态。当从按键输入正确密码后,灯亮。当从按键输入错误密码后,报警器报警。因此,从仿真结果可以看出,本设计可以得到预期的仿真效果。
参考文献[1]苏长赞.使用遥控技术手册[M].北京:北京人民邮电出版社,1996.[2]霍孟友.单片机原理与应用[M].北京:机械工业出版社,2004.[3]张洪润.单片机应用技术教程[M].北京:清华大学出版社,1997:56-57.[4]马鸣远.程序设计与C语言[M].西安:西安电子科技大学出版社,2003.[5]魏立峰,等.单片机原理与应用技术[M].北京:北京大学出版社,2008.[6]周润景,等.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.[7]周兴华,等.单片机智能化产品C语言设计实例讲解[M].北京:北京航空航天大学出版社,2006.[8]张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社,2007.[9]卢健,彭军,颜自勇,陈文芗.自学习型智能红外遥控器设计[J].国外电子测量技术,2006(25):63-66.[10]陈永甫.红外探测与控制电路[M].北京:北京人民邮电出版社,2004.[11]周丽娜.PROTEL99SE电路设计技术,基础、案例篇[M].北京:中国铁道出版社,2009.[12]胡继胜,杜贵敏.电子CAD技能与实训:PROTEL99SE[M].北京:电子工业出版社,2003.[13]何立民.单片机应用文集[M].北京:北京航空航天大学出版社,1992.[14]窦振中.PIC系列单片机应用设计与实现[M].北京:北京航空航天大学出版社,1999.[15]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,1992.[16]谢宋和.单片机模糊控制系统设计与应用实例[M].北京:电子工业出版社,1999.[17]孙育才.STC系列单片机及其应用[M].南京:东南大学出版社,1997.[18]蒋孝良,等.继电器接点控制线路的逻辑设计[M].上海:上海科学技术出版社,1979.[19]周云仙,等.液晶显示应用手册[M].北京:电子工业出版社,2002.[20]桑野雅彦.存储器IC的应用技巧:UV-EPROM/EEPROM/SRAM/DRAM的结构与使用方法[M].北京:科学出版社,2006.致谢在论文完成之际,我要忠心的感谢身边给予过我莫大帮助的老师、同学和朋友,致以他们最诚挚的谢意。
首先我感谢我的导师何振琦,感谢他的亲切关怀和悉心指导,还有王卫军老师,感谢他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,何老师都始终给予我细心的指导和不懈的支持。何老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励,这让我在整个论文的撰写过程中学习到了很多关于课题研究方面的知识。
真诚的感谢参加论文评审和答辩的各位老师,感谢你们的辛勤劳动和即将从你们那里获得的有益教诲;感谢同学们在设计中给予的指导和帮助。在这四年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。
本文参考了大量的文献资料,在此,向各学术界的前辈们致敬。最后要感谢的是我的父母和家人,感谢他们多年来对我默默的支持和帮助。由衷的希望在未来的日子里,周围的老师、同学和朋友们一如既往的在各方面继续给予我更多的指教和帮助,以期取得新的进步和成绩来回报大家。毕业设计小结随着毕业日子的逼近,毕业设计也接近了尾声。在指导老师何振琦的悉心指导下,我终于顺利的完成了毕业设计。以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次的毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且是对自己能力的一种提高。通过这次毕业设计,我明白了自己所学的知识还是比较欠缺的。要学习的东西还很多,以前老是觉得什么东西都会什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白了学习是一个长期累积的过程,在以后的工作中生活中,都应该不断的学习,努力提高自己的知识和综合素质。注重理论和实践的结合。在整个设计中我更加了解到了什么是毕业论文,毕业论文就是高等院校毕业生提交的一份有一定的学术价值的文章。它是大学生完成学业的标志性作业,是对学习成果的综合性总结和检阅。是大学生从事科研的最初尝试,是在指导教师的指导下所取得的科研成果文字记录,也是检验学生掌握知识的程度、分析和解决问题的基本能力的一份综合答卷。对于这次的毕业设计,总的来说还是比较成功的,硬件部分基本完成。这次设计的难点是软件的实现,软件部分的密码输入最困难的,经过本人坚持不懈的努力和其他人的帮助最后终于完成了。单片机的指令简单易学,因此开发周期可以很短。由于时间有限,未做实物,且本系统可以改进的地方还很多。通过在图书馆里、网上查阅资料,攻克了毕业设计中的道道难题。本次设计我能独立完成,算是有了很大的收获。总的感受有以下几方面:(1)巩固了课本上的知识。通过本次设计,我不但对单片机有了更为深入的了解,对一个课题如何画流程图,编程序,仿真等有了一定的认识。(2)在本次毕业设计中,我进一步加强了自己的动手能力和运用专业知识的能力,从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻体会到的是软件和硬件结合的重要性,以及两者的联系和配合作用。(3)通过本次毕业设计,让我了解到电子技术和软件编程对当今人们生活的重要性。同时这次做毕业设计的经历也使我受益匪浅。让我知道做任何事情都应脚踏实地,刻苦努力地去做。总之,设计过程中懂得了很多东西,也培养了我们独立思考和设计的能力,也树立了我们对知识应用的信心,使自己充分体会到了在设计过程中的成功喜悦。附录电路原理图:总程序:1.#include<comm.h>sbitpassed=P2^7;datauchartemp[6],passwd[6],pass1[6],pass2[6];//temp为显示的内容、passwd为密码存放的地方、pass1为密码修改时第一次存放、pass2为第二次存放。voidstatlock(){ ///close. temp[0]=0x0c; temp[1]=17; temp[2]=0; temp[3]=18; temp[4]=0x0e; temp[5]=22;}voidmain(){ input=0; passwd[0]=8; passwd[1]=8; passwd[2]=8; passwd[3]=8; passwd[4]=8; passwd[5]=8; passlen=0;// passed=0; statlock();//显示锁住状态 while(1){ Display(); P1=0xf0; while(P1!=0xf0){ key_scan(); } }}2.#include<comm.h>codetab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xbf,0xC7,0x92,0x8c,0xaf,0xa3,0x7f,0xff,0x89};voidsend(uchard,ucharn){ //P0=(((n<<4)&0xf0)+(0x0f&d)); //P0=0x24; P0=tab[d]; P2=(P2&0xf8)+n; delay(1); P2=P2|0x07;}voiddisplay(){ ucharj; for(j=0;j<=5;j++) send(temp[j],j);}3.#include<comm.h>sbitpassed=P2^7;ucharbedit;bitinput;ucharpasslen;uchark;voidstatpass(){ //-pass- temp[0]=16; temp[1]=19; temp[2]=0x0a; temp[3]=5; temp[4]=5; temp[5]=16;}voidstatsess(){ temp[0]=16; temp[1]=5; temp[2]=0x0e; temp[3]=5; temp[4]=5; temp[5]=16;}voidinit(){ ucharj=6; while(j--){ temp[j]=23; }}voiddelay(ucharms) { ucharj; while(ms--){ for(j=0;j<120;j++); }}voidpasscheck(){ charj=6; while(j--){ if(pass1[j]!=passwd[j]){ warn(); return; } } passed=0; statpass(); passlen=0; input=0;}voidkey(){ucharj; if(k<=9&&passl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年嘉兴市桐乡市保安员招聘考试题库附答案解析
- 2025年民族特色文化传承项目可行性研究报告及总结分析
- 汽车底盘构造与维修完整版课件全套教程
- 2025年碳中和排放监测系统开发项目可行性研究报告及总结分析
- 2025年生物量能源开发项目可行性研究报告及总结分析
- 2025年全自动化仓库管理系统项目可行性研究报告及总结分析
- 2025年新兴市场品牌推广可行性研究报告及总结分析
- 2025年5G网络覆盖解决方案项目可行性研究报告及总结分析
- 在建工程款使用合同范本(3篇)
- 2025年徐州市新沂市保安员招聘考试题库附答案解析
- 医学教育信息化融合实践路径
- 火灾安全课课件
- 2026-2031中国电线电缆市场投资分析及未来发展规划建议报告
- 国家宪法日知识竞赛试题库(含答案)
- GB/T 21650.1-2008压汞法和气体吸附法测定固体材料孔径分布和孔隙度第1部分:压汞法
- GA/T 416-2003道路交通防撞墩
- 湿性愈合和新型敷料选择课件
- NBC气保焊使用说明书
- 《垂体危象》课件
- DB15T 2295-2021 即食燕麦片标准
- 木制品招标文件
评论
0/150
提交评论