




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实训六 电子密码锁 很多行业的许多地方都需要密码锁,但普通密码锁的密码容易被多次试探而破译。要求设计一种能防止多次试探密码的密码锁,从而有效地克服了上述缺点。一、 系统功能要求:1. 共位密码,每位的取值范围为。2. 用户可以自行设定和修改密码。3. 按每个密码键时都有声音报警。4. 若键入的6位开锁密码不完全正确,则报警秒钟,以提醒他人注意。5. 开锁密码错次要报警分钟,报警期间输入密码无效,以防窃贼多次试探密码。6. 键入的位开锁密码完全正确才能开锁,开锁时要有秒的提示音。7. 密码键盘上只允许有6个密码按键,8. 锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的。9. 密码设定完毕后要有秒的提示音。10. 成本要比较低,硬件和软件都要尽可能简洁可靠,易于批量生产。二、 系统整体方案: 根据系统功能要求,系统总体设计方案如下:1、单片机可采用AT89C51、AT89C52、AT89S52、fosc=12MHz。2、时钟电路,复位电路的设计。3、电源打开后,显示器显示“000000”,密码有TABLE读取“221582”为内定密码,只要输入此密码便可开门。这样可预防万一停电后再送电时无密码可用。4、按“#”,清除显示器为“000000”。5、欲更改密码时,先输入新密码再按“*”,即可建立新密码。6、输入新密码,再按“D”开门键。若号码与密码相符,则门会打开,否则显示器会清除为“000000”。系统功能框图如下: 单片机时钟电路显示电路密码输入电路复位电路开锁电路三、 硬件系统设计:硬件系统原理图如下页图:根据总体要求分析,选择质优价廉的AT89C,而且不需要外接程序存储器和数据存储器及其它扩展部件。在上图所示电路中,口连接个密码按键,开锁脉冲由2.1输出,报警和提示音由2.0输出。是用于报警与声音提示的喇叭,是电磁锁的电磁线圈。四系统软件设计流程如图:上电复位短声提示设密码初始化等待设置密码有键按下?为消抖动而延时短音提示保存设定的密码6位密码设完?2秒长音提示错码次数清零按键次数清零密码错标志置错码次数加1已经错3次?报警10分钟错码标志清零报警5秒错码标志清零有键按下为抖动而延时短音提示密码对吗?已按键八次?错码标志=0?开锁并长音提示错码次数清零2、六位密码锁程序清单: ORG 00H MOV R7,#00H ;延时 DJNZ R7,$ MOV R7,#01H ;内定密码在TABLE的起始地址 MOV R6,#06H ;内定6个密码 MOV R1,#35H ;6个密码分别存入30H-35H地址L1: MOV A,R7 ;内定密码取码指针 MOV DPTR,#TABLE ;数据指针指到TABLE MOVC A,A+DPTR ;至TABLE取码 MOV RI,A ;存入35H-30H地址 DEC R1 ;存下一个地址 INC R7 ;取码指针加1 DJNZ R6,L1START:ORL P2,#0FFH ;清除p2 MOV R4,#06 ;清除显示器存放地址40H-45H的地址 MOV R0,#40H CLEAR:MOV R0,#00H INC R0DJNZ R4,CLEARL2:MOV R3,#0F7H ;扫描指针初值(PL3=0)MOV R1,#00H; 键盘取码指针L3: MOV A,R3; 扫描指针载入累加器 MOV P1,A ; 输入至P1扫描 MOV A,P1;读入P1扫描 MOV R4,A ;存入R4,以判断按钮是否开放 SETB C;C=1 MOV R5,#04H;扫描P12-P17L4: RLC A JNC KEYIN;有键按下则C=0 INC R1;无键按下则指针加1 DJNZ R5,L4 CALL DISP;调用显示子程序 MOV A,R3;载入扫描指针 SETB C;C=1 RRC A;扫描下一行 MOV R3,A;存入扫描指针寄存器 JC L3 JMP L2KEYINI:MOV A,R1;是否按“C” XRL A,#0BH JZ X3;是则显示密码 MOV A,R1;是否按“D” XRL A,#0FH JZ X4;是则比较密码,正确则开门 MOV R7,#10;消除抖动D1: MOV R6#248 DJNZ R6,$ DJNZ R7,D1D2: MOV A,P1 XRL A,R4;按钮是否开放 JZ D2 MOV A,R1;载入按键指针 MOV DPTR,#TABLE;数据指针指到TABLE MOVC A,A+DPTR;至TABLE取码 MOV R7,A;取到按键值暂存入R7 XRL A,#OAH;是否按“*” JZ SET0;是则设定新密码 MOV A,R7;载入按键值 XRL A,#0BH;是否按“#” JZ START;是否清楚 MOV A,R7 XRL A,#0CH;是否清楚 MOV A,R7 XRL A,#0CH;“A”未设定键 JZ L2 MOV A,R7 ;“B”不是则载入按键值 JZ L2 MOV A,R7 ;不是则载入按键值 XCH A,40H ;现按键值存入(40H) XCH A,41H ;旧(40H)值存入(41H) XCH A,42H ;旧(41H)值存入(42H) XCH A,43H ;旧(42H)值存入(43H) XCH A,44H ;旧(43H)值存入(44H) XCH A,45H ;旧(44H)值存入(45H) CALL DISP ;调用显示子程序 JMP L2X3: JMP DISP2X4: JMP COMPDISP: MOV R0,#45H ;显示地址指针45HDISP1: MOV A,R0 ;载入D6显示值 ADD A,#50 ;加上D6 74138的扫描值 MOV P0,A ;输入至P0显示D6 CALL DELAY ;扫描延时 DEC R0 ;载入D5显示值 MOV A,R0 ADD A,#40H ;加上D5 74138的扫描值 MOV P0,A ;输入至P0显示D4 CALL DELAY ;扫描延时 DEC R0 ;载入D4显示值 MOV A,R0 ADD A,#30H ;加上D4 74138的扫描值 MOV P0.A ;输出至P0显示值D3 CALL DELAY ;扫描延时 DEC R0 ;输入D2显示值 MOV A,R0 ADD A,#10H ;加上D2 74138的扫描值 MOV P0,A ;输出至P0显示D2 CALL DELAY ;扫描延时 MOV A,R0 ADD A,#00H ;加上D1 74138的扫描值 MOV P0,A ;输出至P0显示D1 CALL DELAY ;扫描延时 RETCETO: MOV R2,#06H ;6个密码 MOV R0,#40H ;按键显示地址 MOV R1,#30H ;密码存放地址E1: MOV A,R0 ;40H存入30H.45号 H存入35H XCH A,R1 INC R0 INC R1 DJNZ R2,E1 CALL DELAY ;延时E2: JMP STARYCOMP: MOV R1,#45H ;按键显示地址 MOV R0,#35H ;密码存放地址 MOV R2,#06H ;6个密码C1: MOV A,R1 ;按键值与密码值比较 XRL A,R0 JNZ C3 ;不同则清除 DEC R1 ;相同则比较下一个码 DEC R0 DJNZ R2,C1 CLR P2,0 ;令电锁动作 MOV R2,#200 ;延时0.1C2: MOV R6,#248 DJNZ R6,$ DJNZ R2,C2C3: JMP STARTDISP2: ;欲显示密码值 MOV R0,#35 ;密码存放地址 CALL DISP1 ;调用显示子程序 MOV A,P1 ;“C”放开否?没有则继续显示 XRL A,R4 JZ DISP2 CALL DELAY ;是则清除 JMP STARTDELAY:MOV R7,#03 ;显示扫描时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论