目 录
选题背景 1
密码锁目的与意义 1
密码锁的原理 1
系统方案和总体结构 2
整体实验功能 2
硬件设计 2
实验仪器 2
电路原理图 3
软件设计 4
程序设计流程图 4
所用到的函数、功能和原理 5
硬软件调试过程 6
源程序代码 7
课程设计体会 12
参考文献 12
选题背景
密码锁目的与意义
随着科学技术的不断发展,在人们的生活中人们对于安全防盗器件的要求高。传统的防盗不方便携 带,安全性都比较差,满足不了我们的日常生活,随着单片机的发展,在我们的日常生活中出现了很多电子密码锁,这些技术的发展使我们的安全性得到了显著的提高。单片机产生后,我们就将这些变为智能化,我们只需要在单片机外围接一点简单的接口电路,核心的部分只能由人为的写入程序来完成。电子密码锁可以在日常生活和现在办公来完成,在我们的住在和办公的环境中有些重要的文件和报表以及一些重要的个人资料的保存等很多场所需要使用。密码锁具有安全性高,成本低,低功耗,易操作等优点, 这样极大的提高了我们的安全性。人们对安全的重视和科学技术的发展,许多电子智能锁,例如指纹识别,IC识别等已出现在我们的生活中,这些产品的特点需要一个特别的指纹或有效卡,成本相对不高。针对当前的技术和水平,电子密码锁是这类电子防盗产品的主流。
密码锁的原理
密码锁的原密码存在单片机的某几个单元里,通过矩阵按键扫描输入的密码,若密码相同,锁打卡;否则,密码错误,蜂鸣器报警。
若想改密码,先判断是否输入正确的原密码,后允许输入新的密码并显示在数码管上且替换储存原密码单元的数。
系统方案和总体结构
整体实验功能
该密码锁完成的主要功能是当输入密码时,数码管只显示“-”,当密码位输入正确完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则开锁,此处用LED发光二极管亮一秒钟做为提示。若密码不正确,禁止按键三秒,同时发出“嘀、嘀”报警声。密码锁的密码可以修改,若想改密码,先判断是否输入正确的原密码,后允许输入新的密码并显示在数码管上且替换储存原密码单元的数。
硬件设计
实验仪器
1个蜂鸣器
1个4×4矩阵按键
1个51单片机最小系统
2个LED灯
8位数码管。
ORG 0000H
MOV P0,#00H
MOV P2,#0FFH
LJMP MAIN1
ORG 0100H
MAIN1:
MOV 21H,#00H //所有状态清零
MOV 22H,#00H
MOV 23H,#00H
MOV 24H,#00H
MOV 25H,#00H
MOV 26H,#00H
MOV 27H,#00H
MOV 28H,#00H
MOV 51H,#00H
MOV 52H,#00H
MOV 53H,#00H
MOV 54H,#00H
MOV 55H,#00H
MOV 56H,#00H
MOV 57H,#00H
MOV 58H,#00H
MOV 71H,#00H
MOV 72H,#00H
MOV 73H,#00H
MOV 74H,#00H
MOV 75H,#00H
MOV 76H,#00H
MOV 77H,#00H
MOV 78H,#00H
MOV 33H,#00H
MOV 50H,#00H
MOV 21H,#06H //设置初始密码
MOV 22H,#03FH
MOV 23H,#066H
MOV 24H,#05BH
MOV 25H,#06FH
MOV 26H,#05BH
MOV 27H,#066H
MOV 28H,#066H
MOV R0,#51H //两个指针清零
MOV R1,#71H
MAIN:
MOV 50H,#00H
ACALL SAOMIAO
MOV A,50H
CJNE A,#00H,QWER //判断是否有键盘输入
LJMP QWER3
QWER:
CJNE A,#03H,QWER9 //判断是否要重置密码
JB P2.7,ERERER //判断当前是否为改密码的状态,二者之间跳转。其中p2.7为重置密码标志位,1:正常状态;0:修改密码状态
MOV 33H,#00H
SETB P2.7
MOV R0,#51H //状态置零
MOV R1,#71H
MOV 51H,#00H
MOV 52H,#00H
MOV 53H,#00H
MOV 54H,#00H
MOV 55H,#00H
MOV 56H,#00H
MOV 57H,#00H
MOV 58H,#00H
MOV 71H,#00H
MOV 72H,#00H
MOV 73H,#00H
MOV 74H,#00H
MOV 75H,#00H
MOV 76H,#00H
MOV 77H,#00H
MOV 78H,#00H
LJMP QWER3
ERERER:
MOV 33H,#0FFH //33h中为0ffh则为改密码状态,00h不是改密码状态,此处与上面的p2.7相比有点多余。
CLR P2.7
MOV R0,#51H
MOV R1,#71H
MOV 51H,#00H
MOV 52H,#00H
MOV 53H,#00H
MOV 54H,#00H
MOV 55H,#00H
MOV 56H,#00H
MOV 57H,#00H
MOV 58H,#00H
MOV 71H,#00H
MOV 72H,#00H
MOV 73H,#00H
MOV 74H,#00H
MOV 75H,#00H
MOV 76H,#00H
MOV 77H,#00H
MOV 78H,#00H