1、目 录第一部分 设计任务与调研1第二部分 设计说明3第三部分 设计成果8第四部分 结束语18第五部分 致谢19第六部分 参考文献20 第一部分 设计任务与调研1、毕业设计的主要任务基于AT89S52单片机的密码锁设计,具体功能如下:(1) 总共可以设置8位密码,每位密码值范围18。(2) 用户可以自行设定和修改密码。(3) 按每个密码键是都有声音提示。(4) 若键入的8位开锁密码不完全正确,则报警5s,以提醒他人注意。(5) 开锁密码连续错3次要报警1分钟,报警期间输入密码无效,以防止窃贼多次试探密码。(6) 键入的8位开锁密码完全正确才能开锁,开锁时要有1s的提示音。(7) 电磁锁的电磁线每
2、次通电5s,然后恢复初态。(8) 密码键盘上只允许有8个密码锁按键。锁内有备用电池,只有内部上点恢复时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的。 (9)密码设定完毕后要有2s提示音。2、设计的思路、步骤、方法充分运用三年所学专业知识和实践技能,图书馆相关资料查询,依托学院电工实训中心和自动化设备来实现声光报警电子密码锁单片机的制作,制定详细的设计方案和阶段进度计划,详细记录设计过程及存在的设计问题,通过程序设计、模拟调试、常见故障及检修与排除、修订完善,来实现声光报警电子密码锁的制作。2.1 设计的思路本系统由AT89C52单片机系统(主要是AT89C52单片机最小系统)、
3、8位数键盘,蜂鸣器报警,继电器控制等组成,具有设置、修改8位用户密码、超过3次次报警、密码错误报警等功能。除上述基本的密码锁功能外,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。 这种能防止多次试探密码的单片机应用前景广泛。2.3 设计的方法 过网上文献搜寻、学院图书馆查阅、设备选型、参阅过相关的51单片机开发方面的书籍,熟悉Altium Designer Winter 09电路设计。3、 调研的目的和总结通过调研能让我们对声光报警电子密码锁单片机的控制和性能多方面进行清晰的解读,性能特点,技术指标,优缺点等等,增强我们实践能力,培养了自主探索精神,加强了设计说服力,在这次调研中
4、,我们体会到:调研的重要性,在实践中学习,在操作中发现问题、解决问题。通过调研,能不断提高我们应对和突发事件的应变能力和水平,大大的提高了工作的效率 。 第二部分 设计说明1、系统设计系统由硬件部分与软件部分两部分构成。其中硬件部分由单片机、电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。 AT89S52键盘输入复位电路密码存储电路晶振电路电源输入显示电路报警电路开锁电路2、电路原理图 系统硬件电路
5、图如图2-1所示,P1和P0口接密码按键,其中P1口解超级密码的扩展按键,开锁脉冲由P3.0输出,报警和提示音由P3.4输出,按键S2S9分别代表数字18,按键S10S13分别代表字母D、C、B、A.若没有按键按下,则P0.0P0.7和P1.0P1.3全是高电平;若某按键被按下,则相应的口线为低电平。 图2-1 系统硬件电路图3、外部晶振电路 外接石英晶体(或陶瓷谐振器)及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。此次实验采用使用石英晶体,电容使
6、用30pF10pF 图2-2 晶振模块电路图4、 复位电路 RST引脚与电源之间接10UF左右的极性电容和在RST与VSS之间接一个电阻(约8.2千欧姆)就可实现加电复位功能。 复位后的状态:a、复位后PC值为0000H,表明复位后的程序从0000H开始执行。b、SP值为07H,表明堆栈底部在07H,一般需要重新设置SP值。c、P0P3口值为FFH。P0P3口用作输入口时,必须先写入“1”。单片机在复位后,已使P0P3口每一端线为“1”,为这些端线用作输入口做好了准备。 图2-3 复位电路图5、 数字按键电路 通过BUTTON 按键接P1口对应端口,通过手动按键给对应的P1口拉致低电平从而改变
7、端口值,从而给出密码值。图2-4 独立键盘模块6、 蜂鸣器通过8550以及按键控制和软件延时控制蜂鸣器持续工作时间。 图2-5 蜂鸣器图7、 继电器控制电路密码正确则8550三极管导通,加以继电器电磁线圈两端5V电压,线圈产生磁场吸引开关打到常开引脚,从而接通发光二极管,从而点亮发光二极管。 图2-6 继电器电路8、功能拓展在P1口接四个扩展按键,现实设想中,这四个按键是密封的,需要备用钥匙才能打开。当屋主忘记了自己的密码,家里又没有人时,无主可以输入已经固化到程序中的超级密码将门锁开启,而当屋主成功输入超级密码后,单片机将让屋主重新设定自己的密码。图2-7 功能拓展键盘模块数码管LG5011
8、AG显示:通过P3.5和P3.6输出信号从而控制数码管显示对应的按键编号。 数码管电路模块 2-8第三部分 设计成果1、元器件清单基于AT89S52单片机的密码锁元件清单如图所示。图3-1 密码锁元件清单图2、程序调试在硬件支持的环境下,用proteus设计好的电路,Keil编好的程序编译成芯片可识别的S51文件,利用PC机写进proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改,由图3-2图3-4可看出最终调试成功。 图3-2图3-3图3-4 proteus调用keil的hex文件进行仿真3、proteus仿真图图3-5 4、程序流程图: 如图3-6所示给出了该单片机密码锁电路的
9、软件流程图。图中AA1AA8以及START、SET、SAVE是程序中的标号,是为了理解程序而专门标在流程图的对应位置的,分析程序时可以仔细对照参考。 该密码锁中RAM存储单元的分配方案如下所示。*/31H38H:依次存放8位设定的密码,首位密码存放在31H单元中。*R0:指向密码地址。*R2:已经输入密码的位数。*R3:存放允许的错码次数3与实际错码次数的差值。*R4R7:延时用。*00H:错码标志位。对于ROM存储单元的分配,由于程序比较短,而且占用的存储空间比较少,因此,在无特殊要求时,可以从0030H单元(其他地址也可以)开始存放主程序。 图3-6 基于AT89S52单片机的密码锁程序流
10、程图 程序清单:ORG 0000HAJMP STARTORG 0030HSTART:ACALL BP MOV R0,#31H MOV R2,#8SET: MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,L8 AJMP SETL8: ACALL DELAY CJNE A,#0FFH,SAVE AJMP SETSAVE: ACALL BP MOV R0,A INC R0 DJNZ R2,SET MOV R5,#16D2S: ACALL BPDJNZ R5,D2S MOV R0,#31H MOV R3,#3AA1: MOV R2,#8AA2: MOV P1,#0FFH MOV
11、A,P1 CJNE A,#0FFH, L9 AJMP AA2L9:ACALL DELAY CJNE A,#0FFH,AA3 AJMP AA2AA3: ACALL BP CLR C SUBB A, R0 INC R0 CJNE A,#00H,AA4 AJMP AA5AA4: SETB 00HAA5: DJNZ R2,AA2 JB 00H,AA6 CLR P3.5L3:MOV R5,#8 ACALL BP DJNZ R4,L3 MOV R3,#3 SETB P3.5 AJMP AA1AA6: DJNZ R3,AA7 MOV R5,#24L5: MOV R4,#200L4: ACALL BP DJN
12、Z R4,L4 DJNZ R5,L5 MOV R3,#3AA7: MOV R5,#40 ACALL BP DJNZ R5,AA7 AA8: CLR 00H AJMP AA1BP: CLR P3.7 MOV R7,#250L2: MOV R6,#124L1: DJNZ R6,L1 CPL P3.7 DJNZ R7,L2 SETB P3.7 RET DELAY:MOV R7,#250L7: MOV R6,#250L6: DJNZ R6,L6 DJNZ R7,L7 RETEND加数码管的程序清单ORG 0000H AJMP STARTORG 0030HTABLE: DB 3FH,06H,5BH,4F
13、H,66H ; 01234 DB 6DH,7DH,07H,7FH ; 46789START:ACALL BP MOV R0,#31H MOV R2,#8 MOV DPTR,#TABLESET1: MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH,L8 AJMP SET1L8: ACALL DELAY ACALL DELAY CJNE A,#0FFH,SAVE AJMP SET1SAVE: ACALL BP ACALL LOOP1 MOV R0,A INC R0 DJNZ R2,SET1 MOV R5,#16D2S: ACALL BP DJNZ R5,D2S MOV R0,#
14、31H MOV R3,#3AA1: MOV R2,#8AA2: MOV P1,#0FFH MOV A,P1 CJNE A,#0FFH, L9 AJMP AA2L9:ACALL DELAY ACALL DELAY CJNE A,#0FFH,AA3 AJMP AA2AA3: ACALL BP ACALL LOOP1 CLR C SUBB A, R0 INC R0 CJNE A,#00H,AA4 AJMP AA5AA4: SETB 00HAA5: DJNZ R2,AA2 JB 00H,AA6 CLR P3.2 MOV R5,#8L3:ACALL BP DJNZ R5,L3 MOV R3,#3 SET
15、B P3.2 AJMP AA1AA6: DJNZ R3,AA7 MOV R5,#24L5: MOV R4,#200L4: ACALL BP DJNZ R4,L4 DJNZ R5,L5 MOV R3,#3AA7: MOV R5,#40 ACALL BP DJNZ R5,AA7 AA8: CLR 00H AJMP AA1BP: CLR P3.7 MOV R7,#250L2: MOV R6,#124L1: DJNZ R6,L1 CPL P3.7 DJNZ R7,L2 SETB P3.7 RETLOOP1:MOV R4,#00H MOV 20H,A CPL A CLR C LOOP2: RRC A I
16、NC R4 JNC LOOP2 MOV A,R4 MOVC A,A+DPTR MOV P2,A MOV A,20H RET DELAY:MOV R7,#250L7: MOV R6,#125L6: DJNZ R6,L6 DJNZ R7,L7 RETEND 第四部分 结束语经过近几个月的设计,在老师的悉心指导和严格要求下,我完成了声光报警电子密码锁单片机控制设计毕业设计是对大学三年学习成果的一次大检阅,平时课堂上学到的知识很难以融会贯通,通过本次毕业设计,让我们平时课堂上的知识得到了进一步的巩固,通过毕业设计基本可以将平时所学的一些知识应用到实际的设计中。设计刚开始时,由于对软件的不熟悉,导致绕了
17、很多弯路,甚至出现一些错误,造成了很多次的返工。但是,正是这一次次的尝试磨练了我的耐性并加强了我对软件的操作水平。在这次设计中,我不仅收获了专业知识,还在与同学的沟通交流方面有了很大的提高,为未来踏上社会、步入工作岗位打下了良好基础。毕业设计忙了两个多月,深深地体会到这是一个连接学习和工作的桥梁。毕业设计的完成标志着大学生活的结束,今后迎接我们的是更多的挑战,但是通过毕业设计的磨练,我相信我能够更好的面对这些,把握机遇, 在大学里我们得到了最好的锻炼,我们要将学到的知识转换成力量,为了自己的梦想而努力。 第五部分 致谢通过这三个月来的忙碌和学习,本次毕业设计已接近尾声,作为一个大专生的毕业设计
18、,由于经验的匮乏,难免有许多考虑不周全的地方,在这里衷心感谢指导老师的督促指导,以及一起学习的同学们的支持,让我按时完成了这次毕业设计,在毕业设计过程中,我遇到了许许多多的困难。在此我要感谢我的指导老师给我悉心的帮助和对我耐心而细致的指导,我的毕业设计较为复杂烦琐,但是老师仍然细心地纠正图中的错误。除了敬佩老师的专业水平以外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作,我才得以解决毕业设计中遇到的种种问题。同时感谢我院、系领导对我们的教导和关注;感谢大学三年传授我们专业知识的所有老师。他们在我设计中给了我许多宝贵的意见和建议。同时也要感谢自己遇到困难的时候
19、没有一蹶不振,取而代之的是找到了最好的方法来解决问题。 第六部分 参考文献1 李广弟,朱月秀,冷祖祁. 单片机基础M.(第三版) 北京:北京航空航天大学出版社,20072 康华光,陈大钦,张林. 电子技术基础(模拟部分)M.(第五版) 北京:高等教育出版社,20063 李全利. 单片机原理及接口技术M. 北京:高等教育出版社,20034 杨将新,李华军,刘到骏. 单片机程序设计及应用(从基础到实践)M北京:电子工业出版社,20065 谭浩强. C+程序设计M.北京:清华大学出版社,20046 石文轩,宋薇. 基于单片机MCS一1的智能密码锁设计M. 武汉:武汉工程职业技术学院学报,20047 祖龙起,刘仁杰. 一种新型可编程密码锁J. 大连轻工业学院学报,2002,20