1、单片机课程设计电子密码锁设计模板1.2设计电子密码锁的意义及相关技术指标当前虽然许多智能锁(如指纹辨别、人声识别、IC卡识别等)已相继问世,但这类产品是针对特定指纹、声音或有效卡,只能用于保密要求高且仅供个人使用的箱、柜、房间等。另外,卡片式的IC卡易丢失和损坏,加上其成本较高,在一定程度上限制了这类产品的普及和推广。而电子密码锁具有安全性能高、成本低、低功耗、操作简单等优点,经济好用,易于推广和普及。本次单片机课程设计内容为设计一个电子密码锁,技术指标如下:输入正确密码开锁指示灯亮,否则开锁指示灯灭;应包含0-9和设置、输入,删除12个键的键盘;输入密码可由数码管显示;连续3次密码输入错误,
2、则控制蜂鸣器发声报警。第2章 总体设计及方案论证为完成电子密码锁的功能设计,需要通过不同的模块来共同实现。设计思路及总体设计如图图2.1 主程序流程图在电源供电下,单片机通过控制各个模块共同构成一个电子密码锁,34键盘作为人机交互的界面使用,加上复位电路的作用是在程序运行出错或陷入死循环时能从头开始执行程序。2.3数码管显示模块LED显示器有静态显示和动态显示两种显示方式。2.3.1 LED静态显示方式所谓静态显示,就是当显示器显示某一字符时,相应段的发光二极管恒定地导通或截止,并且显示器的各位可同时显示。静态显示时,较小的驱动电流就能得到较高的显示亮度。静态显示方式的缺点是N位静态显示器要求
3、有N8根的I/O口线,占用I/O口线资源较多。2.3.2 LED动态显示方式所谓动态显示就是一位一位地轮流点亮显示器的各个位(扫描),对于显示器的每一位而言,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。相比于静态显示方式而言,8位LED动态显示电路只需要两个8位I/O口,充分利用了I/O口资源。电子密码锁的显示电路设计需要用到8位数码管来显示密码,为节约I/O口资源,显示电路应采用LED动态显示方式。2.4电源模块AT89C51单片机供电电压为+5V,可采用两种供电方式。2.4.1蓄电池供电采用+6V蓄电池经电阻分压后直接给单片机供电,电路简单。2.4
4、.2双路电源供电220V交流市电经降压,整流,集成稳压芯片稳压为+5V后给直接给单片机供电,当停电后,采用蓄电池供电。利用一个单反相器实现两种供电电路的自动切换。本设计为电子密码锁的设计,需要用到UPS(不间断电源),故采用双路电源供电为宜。2.5开锁电路模块输入密码正确时,单片机输出信号作为开关信号,控制电磁铁动作,来完成开锁功能。输入密码错误时,则不响应。2.7最优方案综上,最优方案为选用AT89C51单片机作为主控元件,采用双路电源自动切换供电方案,数码管显示采用动态显示方式,以矩阵式键盘作为人机交互的界面,加上开锁和报警电路及相应的软件,构成一个安全可靠的电子密码锁。第3章 硬件电路设
5、计3.1输入键盘图3.1键盘电路本设计采用矩阵式键盘,连接方式如图3.1所示:键盘的工作过程:第一步是CPU检测键盘上是否有按键按下,具体方法是:将列线送入全扫描字,读入行线的状态来判断,即所有的列线置成低电平,然后将行线电平的状态读入累加器A中,如果有按键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为“1”。第二步是识别哪一个按键按下,如果列输入状态不全为“1”则按下的键必在此列,而且是该列与“0”电平的交点上的那个键。为求取编码,在逐列扫描时,可用计数器记录下当前扫描列的列号,检测到第几行有按键按下时,就用该行的首键码加列号得到当前按键的编码。本设计采用的是查询方式,这种方式
6、是直接在主程序中插入键盘的子程序,主程序每执行一次则键盘子程序被执行一次,对进行检测一次,如果没有按键按下,则跳过按键识别,直接执行主程序,如果有按键按下,则通过键盘扫描子程序识别按键,得到按键的编码,然后根据编码值进行相应的处理,处理完后再回到主程序执行。3.2显示数码管硬件连接电路如图所示:图3.2显示电路如图3.1所示为数码管的控制及显示电路,数码管为共阳极数码管,通过段选和位选实现动态显示方式,即通过软件用分时的方法轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余晖效应,给人的印象就是一组稳定
7、的显示数据。3.3开锁电路图3.3开锁电路如图3.3所示为开锁控制电路,当输入密码与原设置密码相同时,P3.2引脚输出高电平,三极管UNLOCK导通,电磁铁动作开锁,同时开锁指示灯亮。输入密码不正确时,电磁铁不动作,且开锁指示灯灭。3.5电源电路图3.5电源电路采用双路电源自动切换工作方式,正常情况下,交流市电220V经降压变压器降压,整流电桥整流,稳压芯片LM7805稳压后变为+5V直流电源给单片机供电。当出现停电的情况时,3点处的电势变为低电势,经单反相器后控制NPN1三极管导通,启动蓄电池或干电池电源并经分压后供电,从而保证单片机的不间断供电。3.6复位电路图3.6复位电路采用按键电平复
8、位,按下键后,通过R3和R4形成回路,使RESET端产生高电平。按键的时间决定了复位时间。3.7振荡电路图3.7振荡电路如图3.7所示,晶体振荡器采用12MHZ,通过两个30pF的电容与单片机连接,为单片机工作提供准确稳定的时钟脉冲。第4章 软件设计4.1主程序流程图及程序 图4.1主程序流程图主程序如下: ORG 0000H SJMP START ORG 000BH SJMP INT START: MOV SP,#70H CLR P3.0 CLR P3.1 CLR P3.2 CLR P3.3 MOV TMOD,#01H MOV TL0,#00H MOV TH0,#00H SETB TR0 S
9、ETB ET0 SETB EA MOV R2,#0FFH MOV 3AH,#03H MOV R3,#06H PASSWORD:MOV R4,#08H MOV R0,#40H MOV A,#07H MOV R0,A INC R0 INC A DJNZ R4,PASSWORD MOV R0,#30H DETPW:MOV R4,#08H AGAIN:ACALL INPUT MOV A,R7 CJNE R7,#0BH,IN ACALL CHPSW AJMP GETPW IN:MOV R0,A CLR P3.3 ACALL DELAY SETB P3.3 COMP:MOV R4,#08H MOV R0,
10、#30H AGAI:MOV 50H,R0 ADD R0,#010H MOV A,R0 SUBB R0,#010H CJNE A,50H,ONCEMORE INC R0 DJNZ R4,AGAI CLP P3.0HERE:AJMP HEREONCEMORE:CLR P3.4 ACALL DELAY SETB P3.4 DJNZ R3,GETPW CPL P3.1THERE:AJMP THERE END4.2延时子程序DELAY:MOV R5,#30H DELAY1:MOV A,#0FFHLOOP:DEC A JNZ LOOP DJNZ R5,DELAY1 RET 4.3修改密码子程序CHPSW:
11、MOV R0,#40H ANOTHER:ACALL INPUT MOV A,R7 MOV R0,A INC R0 CLR P3.3 ACALL DELAY SETB P3.3 DJNZ R4,ANOTHER RET4.4扫描键盘输入子程序INPUT:MOV R6,#02H MOV R1,#40HLOP:ACALL DELAY MOV P1,#0FFH CPL P1.6 MOV A,P1 ANL A,#0FH CJNE A,#0FH,INKEY MOV P1,#0FH CPL P1.5 MOV A,P1 ANL A,#0FH CJNE A,#0FH,INKEY MOV P1,#0FFH CLR
12、P1.4 MOV A,P1 ANL A,#0FH CJNE A,#0FH,INKEY SJMP LOPINKEY:MOV R1,P1 INC R1 DJNZ R6,LOP DEC R1 MOV A,R1 DEC R1 CJNE A,40H,INPUT RET4.5中断及报警子程序 INT:PUSH ACC MOV TMOD,#01H MOV TL0,#00H MOV TH0,#00H SETB TR0 SETB ET0 SETB EA DJNZ R2,CONTCONTINUE:DJNZ 3AH,CONT CLR P3.2 STOP:AJMP STOP CONT:POP ACC RET4.6显示
13、子程序LOOP2: MOV P0,R7 MOVC R5,#LP MOVC A, A+R5 MOV R7,A INC R7 CLR P2.0 ACALL DELAY MOV P0,#0FFH MOV R2,#0FFH MOV P0,R7 MOVC R5,#LP MOVC A, A+R5 MOV R7,A INC R7 CLR P2.1 ACALL DELAY MOV P0,#0FFH MOV R2,#0FFH MOV P0,R7 MOVC R5,#LP MOVC A, A+R5 MOV R7,A CLR P2.0 INC R7 ACALL DELAY MOV P0,#0FFH MOV R2,#0
14、FFH MOV P0,R7 MOVC R5,#LP MOVC A, A+R5 MOV R7,A INC R7 CLR P2.0 ACALL DELAY MOV P0,#0FFH MOV R2,#0FFH MOV P0,R7 MOVC R5,#LP MOVC A, A+R5 MOV R7,A INC R7 CLR P2.0 ACALL DELAY MOV P0,#0FFH MOV R2,#0FFH MOV P0,R7 MOVC R5,#LP MOVC A, A+R5 MOV R7,A INC R7 CLR P2.0 ACALL DELAY MOV P0,#0FFH MOV R2,#0FFH MO
15、V P0,R7 MOVC R5,#LP MOVC A, A+R5 MOV R7,A INC R7 CLR P2.0 ACALL DELAY MOV P0,#0FFH MOV R2,#0FFH MOV P0,R7 MOVC R5,#LP MOVC A, A+R5 MOV R7,A INC R7 CLR P2.0 ACALL DELAY MOV P0,#0FFH MOV R2,#0FFH LP:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,35H,42H第5章 设计总结本次设计的电子密码锁采用AT89C51作为主控元件,加之附加电路及相应软件,通过
16、软硬件结合的方式来实现。此电子密码锁共有有8位密码,每一位包含0-9共10个数字,经计算,三次机会随机开启密码锁的概率为一千万分之三,也即333万个人开锁只有一个人能打开,概率小到几乎为零,安全可靠。将本密码锁安装在现有的防盗门上,与防盗门的机械锁联动锁闭,同时如果条件允许或者是需要用在保护贵重物品的场合,也可以在防盗门上加装一个摄像头,在密码锁报警的同时开启摄像头,就会将非法开锁人员的面孔尽收眼底。这样做会给日后收集证据提供有效的图像信息,能更好的起到安全防范的作用。总之,电子密码锁还有很大的发展空间。参考文献1梅丽风,王艳秋.单片机原理及接口技术M.北京市:清华大学出版社、北京交通大学出版
17、社,2009.2.2宋浩,田丰.单片机原理及应用M.北京市:清华大学出版社、北京交通大学出版社,2004.12.3张云、周明辉.基于AT89S51的多功能电子密码锁设计J.电子设计工程,Vol.18,2010,10.4张晓光.用PIC16F877A单片机制作的4位密码电子锁J.电子世界,2010,05.5邱玉娟.用串行ROM和AT89C51实现电子密码锁J.电脑知识与技术,2005,04.附录附图1总电路图附录附表1:器件清单器件名称数量标号参数定值电阻25R1,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17,R18,R19,R20,R
18、21,R22,R23,R24,R25,R261k,200,1k,2k,2k,2k,2k,470,470,470,470,470,470,470,470,1k,1k,1k,1k,1k, 1k,1k,1k,1k,1k滑动变阻器1R210 k二极管3D1,D2,D31N4002发光二极管1D42EF302单片机1AT89C51AT89C51集成稳压器1LM7805LM7805LED数码管8LED0, LED1, LED2, LED3, LED4, LED5, LED6, LED7,CH-N005三极管11NPN1,NPN2,NPN3, LED0,LED1, LED2, LED3, LED4,LED5, LED6, LED7,NPN整流桥1BRIDGEAC-DC蓄电池1BATTERY6V反相器1U1M74HCT132B1R按键1S1SW-PB电容5C1,C2,C3,C4,C530pF, 30pF,100uF, 100uF,22uF晶体振荡器1CRYSTAL12MHZ键盘按键120,1,2,3,4,5,6,7,8,9,UNLOCK,MODIFYSW-PB蜂鸣器1BUZZERMPB14A变压器1TRANS1S8F7
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1