《单片机课程设计-密码锁-附截图.doc》由会员分享,可在线阅读,更多相关《单片机课程设计-密码锁-附截图.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、设计一个具有特定功能的密码锁。该密码锁上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。该密码锁具有系统原始密码,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。; 40H-45H 按键缓冲区,用于存放键码值; 50H-55H 显示缓冲区,用于存放要显示的段码; 70H-75H 密码区保存区,用于存放密码; 30H 单个单元存放段码地址(即存放50-55); 31H 单个单元存放键码地址(即存放40-45); 21H.0位 判断是否按下了修改密码键K2; 21H.1位 修改密码时用于判断是否正确
2、输入了原密码; 21H.2位 产生初始P. 只要有键按下,则该位置1,否则置0来不断输出P. ORG 0000H SJMP MAIN ORG 0030H MAIN: MOV SP,#60H MOV P2,#01H ;用来产生P.0的位控 MOV R1,#70H ;密码区,初始密码为六个8T: MOV R1,#08H INC R1 CJNE R1,#76H,T ACALL PP AJMP FIRSTPP: MOV R0,#50H ;显示缓冲区首地址Q: MOV R0,#0FFH ;“灭”段码 INC R0 CJNE R0,#56H,Q ;让8个显示缓冲区初始值为“灭”状态,后面按一次则赋一次值
3、MOV 30H,#4FH ;段码地址临时 MOV 31H,#3FH ;按键后存放键码的缓冲区首地址 ACALL DL RET PQ: MOV P0,#0CH ;输出P. ACALL DL RET;下面实现按键功能FIRST:ACALL DIR ACALL KEY ;调用键处理函数K1: JNB ACC.0,K2 ;K1键确定键 判0转移 MOV 30H,#4FH ;段码地址临时 MOV 31H,#3FH ;按键后存放键码的缓冲区首地址 JB 21H.0,KK ;按了K2改密键,再K1,则表示修改密码,FUN0改密函数 LJMP FUN1KK: CLR 21H.0 LJMP FUN0K2: JN
4、B ACC.1,K3 ;K2键 改密码,但必须在输入原密码之后修改,而且要修改两次才确定修改 ACALL PP ;调用函数让数码显示管灭 JNB 21H.1,FIRST ;如果21H.1为0,表示未输入原密码 SETB 21H.0 ACALL DIR AJMP FIRSTK3: JNB ACC.2,K4 ;K3 ACALL DIR INC 31H MOV R0,31H MOV R0,#03H AJMP FIRST洞洞板/万能板成品图片左下角有地址-有录像K4: JNB ACC.3,K5 ;K4 ACALL DIR INC 31H MOV R0,31H MOV R0,#04H AJMP FIRS
5、TK5: JNB ACC.4,K6 ;K5 ACALL DIR INC 31H MOV R0,31H MOV R0,#05H AJMP FIRSTK6: JNB ACC.5,K7 ;K6 ACALL DIR INC 31H MOV R0,31H MOV R0,#06H AJMP FIRSTK7: JNB ACC.6,K8 ;K7 ACALL DIR INC 31H MOV R0,31H MOV R0,#07H AJMP FIRST K8: JNB ACC.7,FIRST ;K8 ACALL DIR INC 31H MOV R0,31H MOV R0,#08H AJMP FIRSTKS: MOV
6、 A,P1 CPL A RETKEY: ACALL KS JNZ AGAIN ;有键闭合则转向再次判断 AJMP EXTI ;无键闭合则转向结束AGAIN: ACALL DIR ;延时16毫秒 ACALL DIR ACALL KS JNZ LKP ;两次判断有键闭合,则转向按键键值判断 ;MOV A,20H AJMP EXTI ;第二次判断无键闭合,则转向结束LKP:SETB 21H.2 ;有键闭合 JB ACC.0,LK1 ;要排除K1和K2键,因为那是作为确认和修改密码的,不是密码值 JB ACC.1,LK1LK0:INC 30H ;有键闭合,显示缓冲区地址加1 MOV R0,30H MO
7、V R0,#0BFH ;有键闭合,则让显示缓冲区状态为横杠LK1:PUSH ACCLK: ACALL DIR ;判断是否键起 ACALL KSJNZ LKPOP ACCEXTI:JB 21H.2,TT ACALL PQTT: RET DIR: MOV R0,#50H ;50H为显示缓冲区首地址N1: MOV P2,#80H ;位控制 MOV P0 ,R0 ;输出段控码 ACALL DL ;延时1毫秒N2: INC R0 MOV A,P2 RR A MOV P2,A MOV P0,R0 ;输出横杠线 ACALL DLN3: INC R0 MOV A,P2 RR A MOV P2,A MOV P0
8、,R0 ;输出横杠线 ACALL DL N4: INC R0 MOV A,P2 RR A MOV P2,A MOV P0,R0 ;输出横杠线 ACALL DLN5: INC R0 MOV A,P2 RR A MOV P2,A MOV P0,R0 ;输出横杠线 ACALL DLN6: INC R0 MOV A,P2 RR A MOV P2,A MOV P0,R0 ;输出横杠线 ACALL DLN7: INC R0 MOV A,P2 RR A MOV P2,A MOV P0,#0FFH ;输出横杠线 ACALL DLN8: INC R0 MOV A,P2 RR A MOV P2,A MOV P0,
9、#0FFH ;输出横杠线 ACALL DLEXTI0:RET;延时一毫秒函数DL: MOV IE,#00H MOV TMOD,#10H ;工作方式1, MOV TH1,#0FCH ;延时程序 延时一毫秒 MOV TL1,#18H SETB TR1STEP1:JBC TF1,STEP2 AJMP STEP1STEP2:CLR TR1 RETFUN0: MOV R2,#06H MOV R0,#40H ;修改密码 把40H-45H里的内容放到70H-75H里面去 MOV R1,#70HH: MOV A,R0 MOV R1,A INC R0 INC R1 DJNZ R2,H MOV R0,#50HZ:
10、 MOV R0,#0F9H ;输出1表示密码修改正确 INC R0 CJNE R0,#56H,Z ACALL DIR AJMP FIRSTFUN1: MOV R0,#40H ;输入的键码 MOV R1,#70H ;密码区W: MOV A,R0 SUBB A,R1 JNZ NO_SAME ;非0就转移 不相等就转移 INC R0 INC R1 MOV A,R0 SUBB A,R1 JNZ NO_SAME INC R0 INC R1 MOV A,R0 SUBB A,R1 JNZ NO_SAME INC R0 INC R1 MOV A,R0 SUBB A,R1 JNZ NO_SAME INC R0
11、INC R1 MOV A,R0 SUBB A,R1 JNZ NO_SAME INC R0 INC R1 MOV A,R0 SUBB A,R1 JNZ NO_SAMESAME:MOV R0,#50HZ2: MOV R0,#0F9H ;输出1表示密码正确 INC R0 CJNE R0,#56H,Z2 ACALL DIR ;ACALL PP ;如果有这条语句,则显示1后立刻消失 SETB 21H.1 AJMP FIRSTNO_SAME: MOV R0,#50HY: MOV R0,#0C0H ;输出0表示密码错误 INC R0 CJNE R0,#56H,Y ACALL DIR AJMP FIRST E
12、ND毕业论文题目:基于单片机的电子密码锁的设计专业:通信工程摘要单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。本密码锁的主控芯片采用价格实惠而且容易购买的 STC89C52芯片。密码输入采用矩阵键盘及独立键盘,密码显示采用共阴极的八段显示数码管。系统能完成密码输入、正确开锁、超次报警这些基本的密码锁的功能。系统的软件实现采用功能强大且易于开发的KeilC51环境,且支持ISP下载。因此没使用编程器,用C语言实现系统的软件部分。由于51单片机也有一些不足之处如断电后内部RAM储存的数据会完
13、全丢失,为了克服这一缺点,系统的外围加了掉电存储电路并且由AT24C02芯片来实现。此设计具有安全性高、价格低廉便于实现、易于改进等优点。 【关键词】 电子密码锁 STC89C52 矩阵键盘 AT24C02ABSTRACTMCU had been widely used in home appliance field,in the security password protection aspect anti-theft alarm function electronic combination lock gradually replace the traditional mechanica
14、l trick lock,it also overcome the security problems that the password of machinery combination lock are too few. This combination locks master chip adopts STC89C52 which is affordable and easy to buy. Passwords input adopt matrix keyboard and independent keyboard, passwords display using the erectio
15、n of the cathode tube display digital. This system can accomplish password input, correct unlock, super times alarm ,these basic combination lock function . Software realization of this system is used in KeilC51 environment .it is powerful and easy to develop, and to support ISP to download. Therefo
16、re it is not use programmer, use C language implementation software of system components. Because 51MCU also has some disadvantages ,such as the internal RAM stored data will be completely lose after power failure, in order to, the systems periphery added off electricity storage circuit and use AT24
17、C02 chip to overcome these shortcomings. This design has a high security, a low prices,which is easy to be realized and improved.【Key words】Electronic Combination lock STC89C52 Matrix keyboard AT24C02前 言随着社会物质财富的日益增长,安全防盗已成为社会问题。如何实现防盗和安全这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,而锁自古以来就是把门户的将军,人们对其要求比较高
18、,不仅能够安全的防盗,而且还要使用方便,这是制锁者长期以来研制的主题。而当今社会由于计算机的迅猛发展,数字电子技术已经进入人们生活的各个领域,在国内外,电子产品的更新可谓如雨后的春笋层出不群,更多的电子产品也越来越多的应用于安全防范领域。有需求就必有发展,不同种类的锁也应运而生,有密码锁、磁性锁、电子锁、激光锁、声控锁等等,它们的实现在传统钥匙的基础上加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像(如指纹、眼底视网膜等)来控制锁的开启。电子密码锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制
19、机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1) 保密性好,编码量多。随机开锁成功率几乎为零。2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。4) 无活动零件,不会磨损,寿命长。5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6) 电子密码锁操作简单易行,一学即会。随着电子元件的进一步发展,电子密码锁也出现了很多的种
20、类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成密码输入、开锁、超次报警的功能。除上述基本的密码锁功能外,还具有掉电存储、声光提示等功能,依据实际的情况还可以添加其他功能。本系统成本低廉,功能实用。目 录1 绪 论11.1 单片机及其特点11.2单片机的发展及应用11.2.1 单片机的发展趋势11.2.2单片机的应用21.3 MCS-51系列单片
21、机32系统硬件设计52.1 设计思路52.2系统方案的选择52.2.1 电子密码锁功能简述62.2.2 系统的总体设计62.3单元电路的设计72.3.1主控芯片介绍72.3.2 键盘输入电路92.3.3 密码存储电路102.3.4开锁电路112.3.5报警电路122.3.6 显示电路122.3.7串口通信电路142.3.8 晶振电路153 系统软件设计173.1 软件工具介绍173.1.1. Keil C51概述173.1.2. Keil C51单片机软件开发系统的整体结构173.1.3下载工具STC-ISP183.2程序设计184 硬件电路调试204.1单元功能电路调试204.2联机调试20
22、5 改进方法235.1 电路方面的改进235.2 软件方面的改进23致 谢25附录一 程序26附录二 数码管显示电路32附录三 总设计图33参考文献361 绪 论1.1 单片机及其特点随着微电子技术的不断发展,微处理芯片的集成度越来越高,在一片集成电路芯片上集成微处理器、存储器、I/O接口电路等元件,从而构成了“单芯片微型计算机”,简称单片机。21世纪是信息技术蓬勃发展的世纪,单片机技术的应用就是其中的一方面。生产中使用的智能仪表、分布式控制系统总线、智能办公设备等都可以看见单片机的身影。日常生活中常用的电子产品如手机、数码照相机、智能洗衣机、高科技电视机、智能汽车等都是以单片机为控制核心的。
23、单片机按应用领域可分为:家电类,工控类,通信类,个人信息终端类等等;按通用性可分为:通用型和专用型。按总线结构可分为总线型和非总线型。 单片机的特点 :1)高集成度,体积小,高可靠性2)控制功能强3)低电压,低功耗,便于生产便携式产品4)易扩展 片内具有计算机正常运行所必需的部件。5)优异的性能价格比 单片机的性能极高。 1.2单片机的发展及应用单片机的发展像PC系统中的CPU一样经历了几代的过程,由于单片机的巨大市场空间和广泛的应用范围,世界各大芯片厂商纷纷推出自己的单片机产品,但是单片机远没有PC机的CPU更新速度快,大体上经历了4位机、8位机、16位机、32位机的发展过程,其中8位机在市
24、场上一直是主流产品。1.2.1 单片机的发展趋势 1976年Intel公司首先推出8位机MCS-48系列,1980年又推出了内部功能单元集成度强的8位机MCS-51系列产品,其性能大大超过并取代了MCS-48系列产品。由于8位机可以一次处理一个ASCLL码,因而一问世便显示出其强大的生命力,广泛用于显示、终端键盘、打印、文字处理、工业控制等。虽然单片机品种多样,型号繁多,但仍有如下发展趋势。总 结随着毕业日子的逼近,毕业设计也接近了尾声。在指导老师XX的悉心指导下,我终于顺利的完成了毕业设计。以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次的毕业设计发现自己的看法有点太片面。毕业
25、设计不仅是对前面所学知识的一种检验,而且是对自己能力的一种提高。通过这次毕业设计,我明白了自己所学的知识还是比较欠缺的。要学习的东西还很多,以前老是觉得什么东西都会什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白了学习是一个长期累积的过程,在以后的工作中生活中,都应该不断的学习,努力提高自己的知识和综合素质。注重理论和实践的结合。在整个设计中我更加了解到了什么是毕业论文,毕业论文就是高等院校毕业生提交的一份有一定的学术价值的文章。它是大学生完成学业的标志性作业,是对学习成果的综合性总结和检阅。是大学生从事科研的最初尝试,是在指导教师的指导下所取得的科研成果文字记录,也是检验学生掌握知识的
26、程度、分析和解决问题的基本能力的一份综合答卷。 对于这次的毕业设计,总的来说还是比较成功的,硬件部分基本完成。这次设计的难点是软件的实现,软件部分的密码输入和密码比较式最困难的,经过本人坚持不懈的努力和其他人的帮助最后终于完成了。在硬件部分由于MCS-51系列单片机具有良好的通用性,兼容性强等特点,本设计中所用的芯片还可以用同类的其他芯片代替,这样使得密码锁的设计更加灵活。单片机的指令简单易学,因此开发周期可以很短。由于时间有限和本人知识水平的有限发挥,本系统可以改进的地方还很多,在第5章已经详细介绍过了。 在这次的毕业设计中,同学之间互相帮助,遇到问题大家一起讨论,发现我们所学的知识实在是有
27、限,不过我们能够充分利用网络的优势去查阅资料。设计过程中懂得了很多东西,也培养了我们独立思考和设计的能力,也树立了我们对知识应用的信心,使自己充分体会到了在设计过程中的成功喜悦。致 谢在论文完成之际,我要忠心的感谢身边给予过我莫大帮助的老师、同学和朋友,致以他们最诚挚的谢意。 本研究及学位论文是在我的导师XX的亲切关怀和悉心指导下完成的。她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,崔老师都始终给予我细心的指导和不懈的支持。崔老师多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励,这让我在整个论文的撰写过程中学习
28、到了很多关于课题研究方面的知识。 真诚的感谢参加论文评审和答辩的各位老师,感谢你们的辛勤劳动和即将从你们那里获得的有益教诲;感谢学长和同学们在设计中给予的指导和帮助。衷心感谢通信学院XX学长,在设计过程中他多次帮助我解决问题。多亏了XX学长的开导和帮助,这次的设计才得以顺利完成。在这四年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。 本文参考了大量的文献资料,在此,向各学术界的前辈们致敬。最后要感谢的是我的父母和家人,感谢他们多年来对我默默的支持和帮助。由衷的希望在未来的日子里,周围的老师、同学和朋友们一如既往的在各方面继续给予我更多的指教和帮助
29、,以期取得新的进步和成绩来回报大家。参考文献1 魏立峰,王宝兴.单片机原理与应用技术.北京:北京大学出版社,2006:11-13 8 刘鲲,孙春亮.单片机C语言入门.北京:人民邮电出版社,2010:11-48北京,的设计. 绵阳师范学院学报,2007,Vol.26(No.5):112-11520 陈丹萍.基于AT89S51单片机的电子密码锁设计.大众科技,2010,Vol.130(No.6):45-4621王慧军.基于AT89S51单片机控制的电子密码锁设计.Equipment Manufactring Technology,2010,Vol.130(No.5):66-7022李建波.STC89C52单片机的电子密码锁.现代电子技术,2008, Vol.28630 王为清,程国刚.单片机KeilCx51应用开发技术.北京:人民邮电出版社,2007:11-7031 张齐.基于单片机应用系统设计技术-基于C语言编程.北京:电子工业出版社,2006:147-198