基于单片机的电子密码锁的设计与仿真课程设计报告
- 格式:doc
- 大小:456.50 KB
- 文档页数:50
基于单片机控制的电子密码锁摘要:本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。
系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。
除上述基本的密码锁功能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。
本系统成本低廉,功能实用关键词:AT89S51,AT24C02, 电子密码锁,矩阵键盘一、引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。
设计本课题时构思了两种方案:一种是用以AT89s51为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。
考虑到数字电路方案原理过于简单,而且不能满足现在的安全需求,所以本文采用前一种方案。
二、方案论证与比较方案一:采用数字电路控制。
其原理方框图如图1-1所示。
图2-1 数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。
用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。
电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。
密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。
方案二:采用一种是用以AT89S51为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。
《单片机原理与应用》课程设计报告基于单片机的密码锁的设计院系:专业(班级):姓名:学号:指导教师:职称:完成日期:《单片机原理与应用》课程设计任务书院(系):专业:指导教师:目录1 课题设计 (1)1.1 课题背景 (1)1.2 课题设计目标 (1)2系统方案论证 (2)2.1 主控部分的选择 (2)2.2 密码输入方式的选择 (2)3 系统总体设计和主要芯片介绍 (3)3.1 系统总体设计 (3)3.2 主要芯片介绍 (3)4 系统硬件构成 (10)4.1 系统整体电路图 (10)4.2 单片机最小系统原理图 (10)4.3 电源输入部分 (11)4.4 键盘输入部分 (12)4.5 密码存储部分 (12)4.6 显示部分 (13)4.7 报警部分 (14)5软件的设计与实现 (14)5.1 设计原理 (15)5.2 主程序流程图 (15)6 结论 (16)[参考文献] (17)7 附录 (18)1课题设计随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。
锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。
随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。
1.1 课题背景由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。
电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。
电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。
但较实用的还是按键式电子密码锁。
1.2 课题设计目标本设计采用AT89S51单片机为主控芯片,通过软件程序组成电子密码锁系统,能够实现:1.正确输入密码前提下,开锁提示;2.错误输入密码情况下,蜂鸣器报警;3.密码可以根据用户需要更改;4.断电存储功能;5. 完成实际实物的焊接;2系统方案论证系统从主控部分和密码输入方式两方面进行论证2.1 主控部分的选择方案一:采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合。
基于51单片机的密码锁设计报告课程:单片机原理学院:电子与信息工程学院专业:班级:姓名:学号:指导老师:完成日期:目录一、矩阵按键 (1)(1)按键接口 (1)(2)按键开关的抖动问题 (1)二、LCD1602液晶 (2)(1)1602 液晶的介绍 (2)(2)液晶的读写时序介绍 (4)(3)1602 液晶的指令介绍 (6)三、设计 (7)(1)输出密码后,显示LCD1602 (7)(2)输出密码后,交替亮灭显示LED (7)四、程序设计 (7)(1)主程序 (7)(二)LCD1602程序 (9)(3)矩阵键盘程序 (10)五、仿真截图 (12)(1)输出密码后,显示LCD1602 (12)(2)输出密码后,交替亮灭显示LED (15)基于51单片机的密码锁设计一、矩阵按键(1)按键接口键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向单片机输入指令、地址和数据。
一般单片机系统中采和非编码键盘,非编码键盘是由软件来识别键盘上的闭合键,它具有结构简单,使用灵活等特点,因此被广泛应用于单片机系统。
(2)按键开关的抖动问题组成键盘的按键有触点式和非触点式两种,单片机中应用的一般是由机械触点构成的。
在下图1、图2中,当按键被按下时,P1.0输入为高电平;当按键按下后,P1.0输入为低电平。
由于按键是机械触点,当机械触点断开、闭合时,会有抖动动,P1.0输入端的波形如图2所示。
这种抖动对于人来说是感觉不到的,但对单片机来说,则是完全可以感应到的,因为单片机处理的速度是在微秒级,而机械抖动的时间至少是毫秒级,对单片机而言,这已是一个“漫长”的时间。
图1图2按键抖动波形为使CPU能正确地读出P1口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件方法和软件方法。
单片机中常用软件法,因此,对于硬件方法我们不介绍。
软件法,就是在单片机获得P1.0口为低的信息后,不是立即认定按键已被按下,而是延时10毫秒或更长一些时间后再次检测P1.0口,如果仍为低,说明按键的确按下了,这实际上是避开了按键按下时的抖动时间。
摘要在现代社会,电子密码锁已不是一个陌生的名词。
本设计是基于P8052AH单片机为控制核心的密码锁设计方案,它是一种通过密码输入来控制电路或是芯片工作,运用键盘输入、密码修改、密码检测、开锁电路、红外检测模块、报警电路、键盘输入次数锁定电路来完成开锁、闭锁等任务。
利用识别密码是否正确来开锁或报警。
通过键盘输入次数记录来实现键盘的锁定。
本文设计的密码锁具有安全性高、成本低、功耗低、易操作等优点。
关键词:P8052AH、报警、红外检测、密码检测、多用户AbstractIn modern society, the electronic lock has not a strange noun. The design is based on P8052AH as control core design scheme of locks, it is a password to control circuit through work, or chip keyboard input, password revision, password lock circuit, detection and alarm circuit, keyboard input frequency lock, to complete the circuit, etc. Using the correct password recognition to replace or alarm. Through the keyboard input frequency to lock the keyboard recording. In this design with high security locks, low cost, low power consumption, easy operation, etc.Keywords: P8052AH;control circuit;identify the password;alarm目录摘要 (1)Abstract (1)第一章引言 (1)1.1 电子密码锁的设计背景……………………………1.2 国内外的现状………………………………………1.3 本设计所要实现的目标…………………………第二章系统方案的设计………………………………………2.1 设计思路及原理……………………………………2.2 系统方案一…………………………………………2.3 系统方案二…………………………………………2.4 系统方案的选择……………………………………第三章硬件电路的设计……………………………………3.1 核心的处理器的设计………………………………3.2 电源模块的设计……………………………………3.3 矩阵键盘的设计……………………………………3.4 开锁电路的设计……………………………………3.5 密码存储模块的设计………………………………3.6 报警系统的设计……………………………………3.7 红外检测模块的设计………………………………3.8 显示电路的设计……………………………………3.9 系统设计的总体电路图……………………………第四章系统软件的设计……………………………………4.1主程序的设计…………………………………………4.2用户切换模块的设计…………………………………4.3密码修改模块的设计…………………………………4.4密码存储和读取的设计…………………………………4.5报警模块的设计…………………………………………第五章系统仿真与调试……………………………………第六章结束语…………………………………………………附录一参考文献………………………………………………附录二程序代码………………………………………………第一章引言1.1 电子密码锁的设计背景随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。
单片机原理与应用课程设计报告题目基于51单片机地电子密码锁设计系别物理与电子工程学院专业电子信息科学与技术学生姓名学号班级2013年 12月26日摘要电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关地闭合,完成开锁、闭锁任务地电子产品.在保密性、操作地方便性、密码地可变性、和一些自动化地功能上已经远远超过了机械密码锁.因此其应用非常广泛.而且由于其使用微型计算机地特质,导致其可以灵活地挂载电子化设备,比如界面友好地显示设备,方便快捷地输入设备等.本文简要介绍了一种基于A T89C51单片机地电子密码锁设计,主要采用汇编程序完成整个软件地设计,可以实现简易地电子密码锁功能.关键词:4×4矩阵键盘;AT89C51;密码锁;单片机目录一、绪论 (3)二、系统所要完成地功能 (3)三、系统总体方案设计 (4)四、硬件电路设计 (6)4.1单片机最小系统 (6)4.2 键盘电路设计 (6)4.3 LCD显示电路 (8)4.4 开锁电路 (8)五、软件设计 (9)六、系统调试 (13)七、心得体会 (13)参考文献 (14)附录 (15)源程序清单 (15)实物图 (23)一、绪论在日常地生活和工作中, 住宅与部门地安全防范、单位地文件档案、财务报表以及一些个人资料地保存多以加锁地办法来解决.若使用传统地机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣.随着科学技术地不断发展,人们对日常生活中地安全保险器件地要求越来越高.为满足人们对锁地使用要求,增加其安全性,用密码代替钥匙地密码锁应运而生.密码锁具有安全性高、成本低、功耗低、易操作等优点.在安全技术防范领域,具有防盗报警功能地电子密码锁逐渐代替传统地机械式密码锁,克服了机械式密码锁密码量少、安全性能差地缺点,使密码锁无论在技术上还是在性能上都大大提高一步.随着大规模集成电路技术地发展,特别是单片机地问世,出现了带微处理器地智能密码锁,它除具有电子密码锁地功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高地安全性、可靠性,应用日益广泛.随着人们对安全地重视和科技地发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世.但是这些产品地特点是针对特定地指纹和有效卡,只能适用于保密要求地箱、柜、门等.而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点.加上其成本较高,一定程度上限制了这类产品地普及和推广.鉴于目前地技术水平与市场地接收程度,电子密码锁是这类电子防盗产品地主流. 二、系统所要完成地功能基于以上思路,本文主要介绍一种使用STC公司地STC11F16XE单片机电子密码锁地设计,其主要具有如下功能:1、密码确认功能:密码通过矩阵键盘输入,若密码输入正确,则将通过驱动口发出高电平信号作为机械制动开锁地依据完成开锁功能.同时在主界面上显示:“The keywords is ok!”2、密码设置功能:单片机刚刚上电复位后会通过LCD1602界面提示设置密码:“Please set the keywords!”而且设置地密码是可重复地,程序运行中可再次通过输入相应密码然后修改.3、在密码输入错误时系统会通过LCD1602界面提示密码输入错误字符:“The keywords i sfalse!”同时不做开锁动作.4、本次设计中利用一只LED代替机械制动系统,灯亮表示开锁,灯灭表示闭锁.在本次地设计中,具体实现系统设计地过程如下:1、完成硬件地设计.通过PROTEL99SE绘制单片机最小系统板和矩阵键盘地原理图和PCB版图,然后通过实验室地腐蚀液腐蚀出来,焊上元件,下载测试程序调试.完成软件地设计.通过Keil uVision3软件,编辑好源汇编程序,然后编译和修改直到编译器通过为止.把编译好地HEX文件下载到单片机内部运行,通过查找系统功能上地不足和可修改地地方,然后回过去修改源文件,最终成型.三、系统总体方案设计方案一:采用数字电路控制.利用数字电路地逻辑运算功能,然后设计成电子密码锁,也可以完成系统地设计,甚至直接用FPGA完成设计就更加方便了.但是如果用FPGA完成则显得非常地浪费,因为,FPGA一方面价格昂贵,另一方面用功能如此强大地芯片制作功能如此简单地系统是一种耗费资源地行为,极不可取,故这里不采用此方案.方案二:采用DSP芯片TMS320F2812完成电子密码锁地设计.由于DSP芯片在逻辑运算和数学运算上地强大,完成电子密码锁地设计非常容易,而且容易实现.但是DSP芯片TMS320F2812地价格昂贵,故此处不采用此方案.方案三:采用51系列单片机STC11F16XE为核心来完成控制方案,然后实现电子密码锁地设计.我们可以利用单片机灵活地编程设计和丰富地IO端口,及其控制地准确性,不但能实现基本地密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能.其原理如图3-1所示.图3-1单片机控制方案通过比较以上三种方案,单片机方案有较大地活动空间,不但能实现所要求地功能而且能在很大地程度上扩展功能,而且还可以方便地对系统进行升级,所以我们采用第三种方案.设计地效果场景如下:1、输入密码用矩形键盘,包括数字键、字母键和功能键.2、用液晶显示屏LCD1602显示字符和操作界面.3、用发光二极管代替开锁地电路,发光表示开锁,熄灭表示闭锁.4、打开电源后,显示器显示“Please set the keywords !”提示用户设置密码,用户可以在此时输入一个8位地密码.输入至8位后系统自动跳转到另一界面,显示字符“The keywords set ok !”5、在完成上面地步骤后,系统再次跳换到另一个界面:“Please input the keywords !”此时系统提示用户输入正确地密码以完成开锁地功能.用户此时可以通过矩阵键盘来完成输入密码地功能.输入位数为8位数.6、若输入密码正确则系统会显示:“The keywords is ok !” ,同时点亮LED 灯完成开锁.否则系统将显示“The keywords is false!”并且不做任何动作.在本次设计中,硬件主要完成单片机最小系统和矩阵键盘地设计,软件主要由矩阵键盘子程序、显示初始化程序、显示字符子程序、数据比较子程序、数据寄存子程序和子程序调度主程序等组成.四、硬件电路设计4.1、单片机最小系统设计单片机地最小系统中包括外接晶振、复位电路和P0口地上拉电阻.其原理图如图4.1所示:图4.1 单片机最小系统4.2、键盘电路设计本设计中使用矩阵键盘作为输入设备,它最大地优点就是可以减少单片机I/O总线地占用,节省资源,而且可以产大量地不同组输入数据.在按键比较多地时候,通常采用这样方法.其原理如图4.2所示:.图4.2 矩阵键盘原理图每一条水平(行线)与垂直线(列线)地交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键地键盘.在这种行列式矩阵键盘非键盘编码地单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下地程序段.当确认有按键按下后,下一步就要识别哪一个按键按下.对键地识别通常有两种方法:一种是常用地逐行扫描查询法;另一种是速度较快地线反转法.对照图4.2所示地4×4键盘,说明线反转地工作原理.首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断.方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线地电平状态读入累加器A中.如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1.判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现地.方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下地键不在此列;如果不全为1,则所按下地键必在此列,而且是在与零电平行线相交地交点上地那个键.本次电路地设计中,矩阵键盘地具体地功能设计如表3.1:表4.1 按键功能按键键名功能说明1-9键数字键输入密码A--F键字母键输入密码4.3、LCD显示电路由于LCD1602地引脚中有一个对比调整电压,因此电路设计中主要就是对它串联可调电阻和对背光灯串联可调电阻地设计.这里我们采用P0口地并口总线和LCD1602数据总线相对应.控制线采用P2.2、P2.3、P2.4三个位组成,分别控制RS、RW和E.在程序中用指令EQU定义.由于显示电路比较简单,故不截图单独说明.4.4、开锁电路在本次设计中,基于节省材料地原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁.电路图如3.3所示.当P2.0口输出低电平时,二极管发光,表示开锁.图4.3 开锁电路五、软件设计5.1、软件设计思路电子密码锁工作地主要过程是LCD1602液晶显示器提示开始输入密码,通过矩阵键盘输入密码,同时由液晶显示器显示输入地情况,到输入完成后系统自动作出判断,作出开锁或闭锁处理.密码地设定,在本设计中地程序中输入地密码是保存在30H—46H中地.在输入过程中,首先输入密码地长度,接着根据密码地长度输入密码地位数,直到所有长度地密码都已经输入完毕;或者输入确认功能键之后,才能完成密码地输入过程.进入密码地判断比较处理状态并给出相应地处理过程.5.2 各个子程序地设计1、键盘扫描子程序键盘扫描流程图如图4.2.1图5.1 键盘扫描流程图键盘扫描子程序如下:KEY1: MOV A,P1 //键盘程序入口ORL A,#0F0HCPL AJZ KEY1ACALL DELAY10MSMOV A,P1ORL A,#0F0HCPL AJZ KEY1MOV P1,#7FH // 确认有键按下 MOV P1,#7FHMOV A,P1ORL A,#0F0HCPL AJNZ CHULI1 // 开始各种相应处理MOV P1,#0BFHMOV A,P1ORL A,#0F0HCPL AJNZ CHULI2MOV P1,#0DFHMOV A,P1ORL A,#0F0HCPL AJNZ CHULI3MOV P1,#0EFHMOV A,P1ORL A,#0F0HCPL AJNZ CHULI42、液晶显示初始化程序初始化程序主要完成各种显示功能地配置:MOV P0,#01H //显示程序入口初始化ACALL ENABLEMOV P0,#38HACALL ENABLEMOV P0,#0FHACALL ENABLEMOV P0,#06HACALL ENABLEMOV P0,80H3、液晶显示部分程序液晶显示程序主要完成读时序和写时序地功能:ENABLE: CLR RSCLR RWCLR EACALL DELAY10MSSETB ERETDAT1: SETB RSCLR RWCLR EACALL DELAY10MSSETB ERET其中,ENABLE子程序主要完成对LCD1602地写控制地功能,DAT1子程序主要完成对其地写数据地功能.4、数据比较判断子程序BIJIAO: ACALL DELAYMOV P0,#01HACALL ENABLEACALL PLEASEACALL INPUTACALL PASSWORD MOV R3,#8MOV R1,#2AHACALL MAINCLR CMOV A,20HSUBB A,2AHJNZ ZHONGZHIMOV A,21HSUBB A,2BHJNZ ZHONGZHIMOV A,22HSUBB A,2CHJNZ ZHONGZHIMOV A,23HSUBB A,2DHJNZ ZHONGZHIMOV A,24HSUBB A,2EHJNZ ZHONGZHIMOV A,25HSUBB A,2FHJNZ ZHONGZHIMOV A,26HSUBB A,30HJNZ ZHONGZHIMOV A,27HSUBB A,31HJNZ ZHONGZHI此子程序根据输入地密码自动和设置地密码进行比对,并且依据其是否相等作出判断而跳转至不同地其他地子程序中去做相应地操作.六、系统调试本次调试采用实物调试.首先设计电子密码锁地源程序,源程序经过汇编后,生成地目标文件下载到单片机内部,运行并做操作后查看和预期结果是否一样.经过不断地修改,效果见附页.其中主要包括了开机界面地显示,输入密码正确后地显示,提示输入密码地界面显示和开锁后地效果.七、心得体会实践是检验真理地唯一标准,当然也是检验学习成果地标准.在经过一段时间地学习之后,我们需要了解自己地所学应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学地知识在实践中来检验.这次课程设计终于顺利完成了,由于我们对于单片机地应用并不熟悉,因此,我们请了硕勋励志班地优秀同学给我们进行指导.虽然老师并不要求做出实物,但硕勋班地那位同学认为要在实践中我们才能学到更多,理解地更全面.因此,我们在那位同学地指导下做出了实物,虽然并不完美,但却比理论学习地更多,实践是检验真理地唯一标准.当然我们在设计中也遇到了很多问题,仿真软件不熟悉,指令指针应用不熟悉,实务操作就更是困难,真正体现出书到用时方恨少,我们女生在实践方面地劣势也严重地凸显出来.开始地时候,几乎是寸步难行,编程,操作什么地都要靠硕勋班同学细心地解释指导,慢慢地才生疏地上手了,在这里要诚挚地感谢硕勋励志班地同学,耐心地指导我们.其实一直到最后作品出来了,我们也没有真正地理解了所有地东西,只是明白了许多零零散散地概念,这也证明了没有什么是可以轻易学到地.这次我们最大地心得就是要想真正地学习某一方面地东西,就必须全心全意心无旁骛地朝着这个方向走下去..在做设计期间,在励志班同学地指导下,通过自身地不断努力,无论是思想上,学习上,都取得了长足地发展和巨大地收获.顾起此次单片机课程设计,至今我们感慨颇多,地确,从选题到定稿,从理论到实践,在整整两星期地日子里,可以说得是苦多于甜,但是可以学到很多很多地地东西,同时不仅可以巩固了以前所学过地知识,而且学到了很多在书本上所没有学到过地知识.通过这次课程设计使我们懂得了理论与实际相结合是很重要地,只有理论知识是远远不够地,只有把所学地理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己地实际动手能力和独立思考地能力.在设计地过程中遇到问题,可以说得是困难重重,这毕竟第一次做地,难免会遇到过各种各样地问题,同时在设计地过程中发现了自己地不足之处,对以前所学过地知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好,通过这次课程设计之后,一定把以前所学过地知识重新温故.参考文献[1] 李朝青.单片机原理及接口技术(简明修订版)[M].北京:北京航空航天大学出版社,1998[2] 李全利.单片机原理及接口技术[M].高等教育出版社,2003[3] PROTEL99 SE电路设计与制板[M].机械工业出版社,2007[4] 杨将新,李华军,刘到骏等.单片机程序设计及应用(从基础到实践)[J].电子工业出版社,2006[7] 黄智伟.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社, 2005附录源程序清单ORG 0000HRS EQU P2.2RW EQU P2.3E EQU P2.4AJMP STARTORG 2000HDB 30H,31H,32H,33H,34H,35H,36H,37HDB 38H,39H,41H,42H,43H,44H,45H,46HORG 0030HSTART: MOV DPTR,#2000H //系统初始化MOV SP,#60HMOV R3,#8MOV R1,#20HSETB P2.0MOV P0,#01H //显示程序入口初始化ACALL ENABLEMOV P0,#38HACALL ENABLEMOV P0,#0FHACALL ENABLEMOV P0,#06HACALL ENABLEMOV P0,80HACALL ENABLEACALL PLEASEACALL SEETACALL PASSWORDACALL MAINACALL XIANSHI1ACALL BIJIAOAJMP $MAIN: MOV P1,#0FHKEY1: MOV A,P1 //键盘程序入口ORL A,#0F0HCPL AJZ KEY1ACALL DELAY10MSMOV A,P1ORL A,#0F0HCPL AJZ KEY1MOV P1,#7FH // 确认有键按下 MOV P1,#7FHMOV A,P1ORL A,#0F0HCPL AJNZ CHULI1 // 开始各种相应处理MOV P1,#0BFHMOV A,P1ORL A,#0F0HCPL AJNZ CHULI2MOV P1,#0DFHMOV A,P1ORL A,#0F0HCPL AJNZ CHULI3MOV P1,#0EFHMOV A,P1ORL A,#0F0HCPL AJNZ CHULI4CHULI1: MOV P1,#07FH //键值生成程序部分 MOV A,P1JNB ACC.0,C1Z1JNB ACC.1,C1Z2JNB ACC.2,C1Z3JNB ACC.3,C1Z4C1Z1: MOV A,#3AJMP WANCC1Z2: MOV A,#7AJMP WANCC1Z3: MOV A,#11AJMP WANCC1Z4: MOV A,#15AJMP WANCCHULI2: MOV P1,#0BFHMOV A,P1JNB ACC.0,C2Z1JNB ACC.1,C2Z2JNB ACC.2,C2Z3JNB ACC.3,C2Z4C2Z1: MOV A,#2AJMP W ANCC2Z2: MOV A,#6AJMP W ANCC2Z3: MOV A,#10AJMP W ANCC2Z4: MOV A,#14AJMP W ANCCHULI3: MOV P1,#0DFHMOV A,P1JNB ACC.0,C3Z1JNB ACC.1,C3Z2JNB ACC.2,C3Z3JNB ACC.3,C3Z4C3Z1: MOV A,#1AJMP W ANCC3Z2: MOV A,#5AJMP W ANCC3Z3: MOV A,#9AJMP W ANCC3Z4: MOV A,#13AJMP W ANCCHULI4: MOV P1,#0EFHMOV A,P1JNB ACC.0,C4Z1JNB ACC.1,C4Z2JNB ACC.2,C4Z3JNB ACC.3,C4Z4C4Z1: MOV A,#0AJMP W ANCC4Z2: MOV A,#4AJMP W ANCC4Z3: MOV A,#8AJMP W ANCC4Z4: MOV A,#12AJMP W ANCWANC: MOV @R1,A //键值显示程序 INC R1MOVC A,@A+DPTRMOV P0,AACALL DAT1DJNZ R3,MM1MM0: AJMP ZUIHOUMM1: AJMP MAINZUIHOU: RETXIANSHI1: MOV P0,#01HACALL ENABLE //清屏MOV P0,#50H //PACALL DAT1MOV P0,#41H //AACALL DAT1MOV P0,#53H //SACALL DAT1MOV P0,#53H //SACALL DAT1MOV P0,#57H // WACALL DAT1MOV P0,#4FH //OACALL DAT1MOV P0,#52H //RACALL DAT1MOV P0,#44H //DACALL DAT1MOV P0,#2DH //-ACALL DAT1ACALL SEETMOV P0,#2DHACALL DAT1 //-MOV P0,#4FHACALL DAT1 //OMOV P0,#4BHACALL DAT1 //KMOV P0,#21HACALL DAT1 //!ACALL DELAYMOV P0,#01H //清屏ACALL ENABLERETDELAY10MS:MOV R0,#5DEL1: MOV R4,#192DEL2: MOV R2,#255DJNZ R2,$DJNZ R4,DEL2DJNZ R0,DEL1RETDELAY: MOV 30H,#50DY1: MOV 31H,#200DY2: MOV 32H,#200DJNZ 32H,$DJNZ 31H,DY2DJNZ 30H,DY1RETBIJIAO: ACALL DELAYMOV P0,#01HACALL ENABLEACALL PLEASEACALL INPUTACALL PASSWORDMOV R3,#8MOV R1,#2AHACALL MAINCLR CMOV A,20HSUBB A,2AHJNZ ZHONGZHIMOV A,21HSUBB A,2BHJNZ ZHONGZHIMOV A,22HSUBB A,2CHJNZ ZHONGZHIMOV A,23HSUBB A,2DHJNZ ZHONGZHIMOV A,24HSUBB A,2EHJNZ ZHONGZHIMOV A,25HSUBB A,2FHJNZ ZHONGZHIMOV A,26HSUBB A,30HJNZ ZHONGZHIMOV A,27HSUBB A,31HJNZ ZHONGZHITRUE: MOV P0,#01HACALL ENABLE //清屏MOV P0,#50H //PACALL DAT1MOV P0,#41H //AACALL DAT1MOV P0,#53H //SACALL DAT1MOV P0,#53H //SACALL DAT1MOV P0,#57H // WACALL DAT1MOV P0,#4FH //OACALL DAT1MOV P0,#52H //RACALL DAT1MOV P0,#44H //DACALL DAT1MOV P0,#2DH //-ACALL DAT1MOV P0,#49H //IACALL DAT1MOV P0,#53HACALL DAT1 //SMOV P0,#2DHACALL DAT1 //-MOV P0,#4FHACALL DAT1 //OMOV P0,#4BHACALL DAT1 //KMOV P0,#21HACALL DAT1 //!CLR P2.0// LCALL DELAYAJMP EDDZHONGZHI: MOV P0,#01HACALL ENABLE //清屏MOV P0,#50H //PACALL DAT1MOV P0,#41H //AACALL DAT1MOV P0,#53H //SACALL DAT1MOV P0,#53H //SACALL DAT1MOV P0,#57H // WACALL DAT1MOV P0,#4FH //OACALL DAT1MOV P0,#52H //RACALL DAT1MOV P0,#44H //DACALL DAT1MOV P0,#2DH //-ACALL DAT1MOV P0,#49H //IACALL DAT1MOV P0,#53HACALL DAT1 //SMOV P0,#2DHACALL DAT1 //-MOV P0,#46HACALL DAT1MOV P0,#61HACALL DAT1MOV P0,#6CHACALL DAT1MOV P0,#53HACALL DAT1MOV P0,#65HACALL DAT1SETB P2.0EDD: AJMP BIJIAORETPLEASE: MOV P0,#50H //P ACALL DAT1MOV P0,#6CH //LACALL DAT1MOV P0,#65H //eACALL DAT1MOV P0,#61H //aACALL DAT1MOV P0,#73H //sACALL DAT1MOV P0,#65H //eACALL DAT1MOV P0,#2DH //-ACALL DAT1RETINPUT: MOV P0,#69H // iACALL DAT1MOV P0,#6EH //nACALL DAT1MOV P0,#70H //pACALL DAT1MOV P0,#75H //uACALL DAT1MOV P0,#74H //tACALL DAT1MOV P0,#2DH //-ACALL DAT1RETPASSWORD: MOV P0,#50H //P ACALL DAT1MOV P0,#41H //AACALL DAT1MOV P0,#53H //SACALL DAT1MOV P0,#0C0HACALL ENABLEMOV P0,#53H //SACALL DAT1MOV P0,#57H // WACALL DAT1MOV P0,#4FH //OACALL DAT1MOV P0,#52H //RACALL DAT1MOV P0,#44H //DACALL DAT1MOV P0,#21HACALL DAT1RETSEET: MOV P0,#73HACALL DAT1MOV P0,#65HACALL DAT1MOV P0,#74HACALL DAT1RETCHU: ACALL PLEASEACALL INPUTACALL PASSWORDRETENABLE: CLR RSCLR RWCLR EACALL DELAY10MSSETB ERETDA T1: SETB RSCLR RWCLR EACALL DELAY10MSSETB ERET硬件实物图。
基于51单片机的密码锁设计报告一、引言随着科技的不断发展,安全问题越来越受到人们的关注。
密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。
本设计报告介绍了一种基于 51 单片机的密码锁系统,该系统具有成本低、可靠性高、操作简单等优点,适用于家庭、办公室等场所。
二、系统总体设计(一)设计目标设计一个基于 51 单片机的密码锁系统,实现以下功能:1、密码输入与验证功能。
2、密码修改功能。
3、错误输入次数限制及报警功能。
4、开锁状态指示功能。
(二)系统组成本系统主要由 51 单片机、矩阵键盘、液晶显示屏(LCD)、电磁锁驱动电路、报警电路等组成。
1、 51 单片机作为核心控制器,负责处理密码输入、验证、修改等操作,并控制其他模块的工作。
2、矩阵键盘用于输入密码和执行相关操作。
3、 LCD 显示屏用于显示系统状态和提示信息。
4、电磁锁驱动电路用于控制电磁锁的开关。
5、报警电路在密码输入错误次数超过限制时发出报警信号。
三、硬件设计(一)51 单片机选型本设计选用 STC89C52 单片机,该单片机具有丰富的 I/O 口资源、较高的性价比和良好的稳定性。
(二)矩阵键盘设计矩阵键盘采用 4×4 行列式结构,通过扫描的方式获取按键值。
(三)LCD 显示屏接口设计选用 1602 液晶显示屏,通过并行接口与单片机连接,实现数据的传输和显示。
(四)电磁锁驱动电路设计电磁锁采用直流电源供电,通过三极管驱动电路控制其开关。
(五)报警电路设计报警电路采用蜂鸣器实现,当密码输入错误次数超过限制时,单片机输出高电平驱动蜂鸣器发声报警。
四、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、LCD 初始化等。
然后进入密码输入状态,等待用户输入密码。
用户输入密码后,进行密码验证,如果密码正确,则打开电磁锁,并显示开锁成功信息;如果密码错误,则记录错误次数,并显示错误提示信息。
单片机课程设计电子密码锁实验报告学院:电子信息工程学院班级:自***姓名:***学号:******指导教师:***单片机课程设计电子密码锁实验报告(一)实验目的1、了解电子密码锁工作原理和八段LED数码管显示原理。
2、掌握LED数码管显示器与单片机接口电路设计方法。
3、掌握实现密码锁功能的编程方法。
(二)设计实现功能(1)由程序设定初始密码,密码输入正确时锁打开,指示灯亮,发出“叮咚”的声音;密码输入不正确时,指示灯闪亮四次,发出“嘀嘀嘀滴”报警声。
(2)具有保护密码的功能,输入密码在数码管上显示可改为“88888”的方式,防止别人偷窥密码。
(3)具有修改密码的功能,密码输入错误可按DEL键进行删除。
(4)具有防止多次试探密码的电子密码锁并加报警功能,密码输入错误超过三次,将一直发出“滴滴滴滴。
”报警声。
(5)具有设定新密码的功能,输入密码后按CHG键,密码将被重新设定。
(三)整体电路设计思路核心用单片机AT89S52来实现此实验的要求。
用4*4键盘来输入密码。
每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线分别通过两并行接口和CPU通信。
每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接V CC,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
用8个7段数码管来显示密码。
数码管的显示用扫描的方式,利用动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。
单片机电子密码锁课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握电子密码锁的基本工作原理。
2. 使学生掌握电子密码锁设计中涉及的编程知识,如C语言基础、寄存器操作等。
3. 帮助学生了解电子密码锁电路的组成,熟悉相关电子元器件的使用。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的单片机电子密码锁的能力。
2. 提高学生动手实践能力,学会使用编程软件、烧录器和相关调试工具。
3. 培养学生团队协作和问题解决能力,学会分析电子密码锁故障并找出解决办法。
情感态度价值观目标:1. 激发学生对电子制作的兴趣,培养创新意识和动手能力。
2. 培养学生严谨的科学态度,注重实验数据和实验结果的准确性。
3. 引导学生关注单片机技术在日常生活中的应用,提高对科技的认识和热爱。
本课程针对高年级学生,他们在之前的学习中已经具备了一定的电子和编程基础。
因此,课程设计将注重实践操作,以项目为导向,让学生在动手实践中巩固知识,提高技能。
通过本课程的学习,学生将能够独立设计并实现一个具有实用价值的单片机电子密码锁,提升解决实际问题的能力。
二、教学内容1. 单片机基础原理:回顾单片机的组成、工作原理,重点讲解51单片机的内部结构、时钟电路和复位电路。
教材章节:第三章《单片机原理与接口技术》2. C语言编程基础:介绍C语言在单片机编程中的应用,讲解数据类型、运算符、控制语句等基本语法。
教材章节:第四章《单片机C语言编程》3. 电子密码锁原理:讲解电子密码锁的基本工作原理,分析锁体的电路组成和功能。
教材章节:第七章《单片机应用实例》4. 硬件设计:学习并设计电子密码锁的硬件电路,包括键盘输入、显示模块、锁驱动电路等。
教材章节:第五章《单片机接口技术》5. 软件设计:编写电子密码锁的控制程序,实现密码输入、校验、开锁等功能。
教材章节:第四章《单片机C语言编程》6. 系统调试与优化:学习使用调试工具,对电子密码锁系统进行调试和优化。
前言随着电子技术的进展,具有防盗报警等功能的电子密码锁代替密码量少、平安性差的机械式密码锁已是必然趋势。
电子密码锁与一般机械锁相较,具有许多独特的优点:保密性好,防盗性强,能够不用钥匙,记住密码即可开锁等。
目前利用的电子密码锁大部份是基于单片机技术,以单片机为要紧器件,其编码器与解码器的生成为软件方式。
下面确实是此刻主流电子密码锁:目前常见的遥控式电子防盗锁要紧有光遥控和无线电遥控两类。
键盘式电子密码锁从目前的技术水平和市场认可程度看,利用最为普遍的是键盘式电子密码锁,该产品要紧应用于保险箱、保险柜和金库,还有一部份应用于保管箱和运钞车。
卡式电子防盗锁利用各类“卡”作为钥匙的电子防盗锁是当前最为活跃的产品,不管卡的种类如何多种多样,依照输入卡的操作方式,都可分为接触式卡和非接触式卡两大类。
生物特点防盗锁人的某些与生俱来的个性特点(如手、眼睛、声音的特点)几乎不可重复,作为“钥匙”确实是唯一的(除非被强逼或损害)。
因此,利用生物特点做密码的电子防盗锁,也专门适合金融业注重“验明正身”的行业特点。
人们生活水平的提高和平安意识的增强,对平安的要求也就愈来愈高。
锁自古以来确实是把守护门的铁将军,人们对它要求甚高,既要平安靠得住的防盗,又要利用方便,这也是制锁者长期以来研制的主题。
随着电子技术的进展,各类电子产品应运而生,电子密码锁确实是其中之一。
据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。
这种锁是通过键盘输入一组密码完成开锁进程。
研究这种锁的初衷,确实是为提高锁的平安性。
由于电子锁的密钥量(密码量)极大,能够与机械锁配合利用,而且能够幸免因钥匙被仿造而留下平安隐患。
电子锁只需记住一组密码,无需携带金属钥匙,免去人们携带金属钥匙的苦恼,而被愈来愈多的人所欣赏。
电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC 卡锁,生物锁等。
但较有效的仍是按键式电子密码锁。
20世纪80年代后,随着电子锁专用集成电路的显现,电子锁的体积缩小,靠得住性提高,本钱较高,是适合利用在平安性要求较高的场合,且需要有电源提供能量,利用还局限在必然范围,难以普及,因此对它的研究一直没有明显进展。
一、设计总说明随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。
但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。
而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。
加上其成本较高,一定程度上限制了这类产品的普及和推广。
鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。
本次基于8051单片机电子密码锁的设计,其主要具有如下功能:(1)设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。
(2)密码可以由用户自己修改设定(只支持6位密码),锁打开后才能改密码。
修改密码之前必须再次输入密码,在输入新密码时候需要二次确以防止误操作。
(3)报警、锁定键盘功能。
密码输入用发光管显示,当连续3次输入错误密码,系统声光报警。
电子密码锁的设计主要由三部分组成:4×4矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。
另外系统还有LED提示灯等。
密码锁设计的关键问题是实现密码的输入、清楚、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。
(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。
(3)密码更改功能:将输入的值作为新的密码。
(4)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果确锁打开,否则不打开。
主要的设计实施过程:首先,选用8051单片机,以及选购其他电子元器件。
第二步,设计硬件电路。
第三步,编写单片机语言实现功能。
第四部,分别进行软件和硬件的调试。
最后,联合软、硬件调试整个系统,完成本次课程设计。
关键词:4×4矩阵键盘;8051单片机;密码锁;密码二次确认二、绪论2.1背景随着社会物质财富的日益增长,安全防盗已成为社会问题。
而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。
单片机课程设计题目基于单片机的电子密码锁设计郑州科技学院单片机课程设计任务书一、设计题目基于单片机的电子密码锁设计二、设计任务与要求(1)本设计为防止密码被窃取在输入密码时屏幕上显示8。
(2)设计开锁密码位为六位密码的电子密码锁。
(3)能够在密码正确时显示“1HELLO”,密码错误时显示“2ERROR”,输入密码的位数时显示为8的个数。
(4)4×4的矩阵键盘中包括0-9的数字键确认键和消除键的功能键。
(5)本产品具备报警功能,当输入密码错误时蜂鸣器响(6)在密码输入过程中,若输入错误,可以利用“C”键删除刚才输入的错误的数字。
在输入密码的过程中可以随时对输入的密码进行修改。
三、主要参考文献[1] 何宏主编.单片机原理与接口技术.[M]北京:国防工业出版社. 2006.07[2] 赵益、徐晓林、周振峰. 电子密码锁的系统原理. [M]北京:清华大学出版社. 2003.[3] 张培仁.基于C语言编程MCS- 51单片机原理与应用.北京:清华大学出版社. 2002. 12四、设计时间2015 年01月16日至2015 年01月16 日指导教师签名:年月日目录1 电子密码锁的背景 (1)2 总体设计方案的确定 (2)2.1 电子密码锁设计要求 (2)2.2 总体设计方案选定 (2)3 系统硬件设计 (3)3.1 设计原理 (3)3.2 单片机STC89C52简介 (3)3.4七段数码管显示器部分 (7)3.5 键盘设计 (8)3.6 蜂鸣器模块 (8)4 系统软件设计 (9)4.1 主程序模块 (9)5 系统制作及调试 (11)5.1 焊接注意事项 (11)5.2 硬件调试问题及解决方法 (11)6 结论 (12)参考文献 (13)附录1:实物图 (14)附录2:元件清单 (15)附录3:电路原理图 (16)附录4:程序 (17)1 电子密码锁的背景随着社会物质财富的日益增长,如何实现家庭防盗这一问题也变的尤其的突出,而锁自古以来就是把守门户的铁将军,人们对它要求甚高,即要安全可靠地防盗,又要使用方便。
1课程设计报告论文题目:基于单片机的密码锁设计学生姓名:张圣矗学生学号:57系别:电气信息工程学院专业:自动化届别:11级指导教师:徐锋电气信息工程学院制基于单片机的密码锁设计学生:张圣矗指导教师:徐锋电气信息工程学院自动化专业摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件不足为奇;电子锁由于其保密性高,利用灵活性好,安全系数高,受到了广大用户的青睐。
本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。
按照51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。
而且采用键盘输入的电子密码锁具有较高的优势。
采用数字信号编码和二次调制方式,不仅能够实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反映速度快、传输效率高、工作稳固靠得住等。
软件设计采用自上而下的模块化设计思想,以使系统朝着散布式、小型化方向进展,增强系统的可扩展性和运行的稳固性。
测1试结果表明,本系统各项功能已达到本设计的所有要求。
关键词:单片机;密码锁;单片机设计;电子锁目录Ⅰ目录 (Ⅰ)1绪论 (1)引言 (1)电子密码锁的背景 (1)电子锁设计的意义的本设计特点 (2)2 系统设计 (4)系统总设计结构图 (4).开锁机构设计 (4)主控芯片AT89C51单片机的简介 (5)3 系统硬件设计 (8)键盘设计 (8)系统电路设计: (10)晶振时钟电路 (10)复位电路设计 (10)串口引脚功能介绍 (10)其它引脚 (10)显示电路设计 (13)电路图的绘制 (14)2元器件采购 (14)4 软件设计 (14)系统软件设计整体思路 (16)系统软件设计流程图 (16)5 程序调试 (16)程序调试用到的软件及工具 (16)KEIL C51简介 (17)调试进程 (19)6 设计总结与展望 (20)参考文献 (22)附录 (23)31 绪论引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件不足为奇,电子锁由于其保密性高,利用灵活性好,安全系数高,受到了广大用户的喜爱。
基于单片机的电子密码锁的课程设计随着科技的发展,电子密码锁在日常生活中得到越来越广泛的应用。
电子密码锁具有安全性高、易于操作、使用方便等优点,受到了广泛的欢迎。
因此,在大学的课程设计中,基于单片机的电子密码锁也成为了一个热门的课程设计课题。
本文将介绍这个课程设计的步骤、具体内容和实现方法。
一、课程设计的步骤课程设计步骤主要包括需求分析、电路设计、程序设计和实验验证。
在需求分析阶段,需要明确电子密码锁的基本功能与操作流程,包括输入密码、判断密码正确性、开关门等。
在电路设计阶段,需要考虑到电路的可靠性、安全性以及实现的复杂度等因素。
在程序设计阶段,需要编写代码和测试程序。
在实验验证阶段,需要将课程设计投入实际应用,并测试其功能、稳定性等指标。
二、课程设计的具体内容1.硬件设计硬件设计主要包括电路设计和元器件选择两个部分。
电路设计主要包括输入密码电路、密码储存电路、密码判断电路和驱动开锁电路等。
元器件选择主要包括单片机、键盘、LCD屏幕和驱动芯片等。
2.软件设计软件设计主要包括系统流程设计、密码的输入和储存、密码的判断和开锁等功能的编写和测试。
3.系统整合系统整合是将硬件和软件组合到一起,实现功能的完整性并检测系统的稳定性和实用价值。
三、实现方法1.铁电非易失存储器电子密码锁需要存储用户密码信息,可以使用铁电非易失存储器来实现密码数据的存储和读取,铁电非易失存储器比普通存储器更加安全和稳定。
2.芯片加密在硬件电路的设计中,可以使用芯片加密的技术来提高电子密码锁的安全性。
通过软件和加密芯片相结合,可以防止非法破解和恶意攻击。
3.矩阵键盘在电子密码锁输入密码时,可以使用矩阵键盘来实现。
矩阵键盘的输入方式相比普通电子锁更加安全和方便。
综上所述,基于单片机的电子密码锁的课程设计不仅可以提高学生的电子技术和程序设计能力,还可以实现实用价值,为社会贡献力量。
物理与电气工程学院课程设计报告基于单片机的密码锁设计作者专业年级指导教师成绩日期 2013.10.6基于单片机的密码锁设计(安阳师范学院物电学院, 河南安阳455000)摘要:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
本文以AT89C52单片机为核心器件,结合按键电路、LCD数码管显示电路、报警指示电路和开锁机构,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的基本功能,其主要具有如下功能:●密码通过键盘输入,若密码正确,则将锁打开●密码输入错误,蜂鸣器将报警提示●用户可以自由设定密码●与万年历相结合本密码锁具有设计方法合理,简单易行成本低,安全实用等特点,具有一定的推广价值。
关键词:单片机液晶显示器键盘万年历1 引言:随着人们生活水平的提高,日常生活和工作中的住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等一系列安全防盗问题变的尤其突出。
传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,且人们常需携带多把钥匙, 使用极不方便, 一旦钥匙丢失安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁因具有安全性高、成本低、功耗低、易操作等优点,受到了广大用户的青睐。
据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。
但当时多半是配合机械锁一起作用且存在着诸如体积较大,成本较高,可靠性较低等缺点一时难以普及。
20世纪80年代后,随着信息技术、集成电路、半导体技术的发展,电子密码锁的设计也取得了快速的进步。
用单片机模拟密码门锁1.总体设计:1)所实现功能描述:密码门锁工作过程比较简单,用户只有输入了正确的密码,才开锁,当三次输入错误以后,则延时一段时间才允许再次输入。
2)设计方案的描述:(1) 鉴于实际条件的限制,我们只是从试验板上模拟这个过程,可以利用红绿灯的亮灭来模拟门的开关状态,用键盘来输入密码,用定时中断来延时。
(2)可以用某个特定键来进行密码输入完成后的确认,检测到这个键则进行密码比较并改变锁的状态。
2.1)实验设备:8051单片机及其机器设备等。
2)设计方案:这个实验是单片机模拟数字密码锁的功能,程序初试设定一个默认密码1,程序运行后,如果连续输入三次密码错误,那么亮红灯,表示输入有误。
如果输入正确密码,则绿灯亮,表示门开。
这个程序密码默认是一位的,如果应用到实际中,会比较容易被破结,安全上有不足。
初始默认密码可以通过程序中的设置键号来改变。
3. 四、主要技术问题的描述:本题内容比较简单,主要技术点有如下几个:(1)主程序不断检测键盘按键并记录到缓冲区,当确认键被按下后进行密码比较。
(2)用一个存储单元存储错误次数,当到达错误次数以后,则启动定时中断,并设置某个标志位使主程序不记录下面的按键,定时停止以后再纪录。
4.方案的不足:该方案只适合比较简单的密码,一旦超过三位程序将无反应;另一方面,密码轻易被识破。
5.改进方案:将程序的密码设为多位以不易识破。
设置忘了密码后,可以找回的6.YNNYY7,实验程序:org 0000h ;设定初始值start: mov sp,#60h ;设置堆栈指针初值mov dptr,#0ff20hmov a,#03hmovx @dptr,amov 70h,#00hmov r1,#03hkey1: acall ks1 ;调用ks1jnz lk1n1: acall dirajmp key1lk1: acall diracall diracall ks1jnz lk2ajmp key1 ;跳转到key1 lk2: mov r2,#0fehmov r4,#0lk4: mov dptr,#0ff21hmov a,r2movx @dptr,ainc dptr ;数据指针+1inc dptrmovx a,@dptrjb acc.0,lone ;判断acc.0mov a,#0ajmp lkplone: jb acc.1,ltwomov a,#08hajmp lkpltwo: jb acc.2,lthrmov a,#10hajmp lkplthr: jb acc.3,lformov a,#18hsjmp lkplfor: jb acc.4,nextmov 70h,#19hajmp key1lkp: add a,r4mov 70h,apush acc ;压栈保存lk3: acall diracall ks1jnz lk3pop acclcall y1retnext: inc r4mov a, r2jnb acc.7,kndrl a ;左移mov r2,aajmp lk4knd: ajmp key1ks1: mov dptr,#0ff21hmov a,#0movx @dptr,ainc dptrmovx a,@dptrcpl a ;取反anl a,#1fhretdir: mov r0,#70hmov a,@r0anl a,#0fhmov 30h,amov a,@r0swap a ;高低位交换anl a,#0fhmov 31h,amov r0,#30h ;把30h值赋给r0mov r3,#01hdo1: mov a,r3mov dptr,#0ff21hmovx @dptr,ainc dptrmov a,@r0add a,#0dhmovc a,@a+pc ;查表dir1: movx @dptr,aacall dl1mov a,r3rl ajb acc.2,ld1mov r3,ainc r0ajmp do1ld1: retdseh: db 0f8h,99h,80h,92h,90h,82h,88h,83hdb 0f9h,0c0h,0a4h,8eh,0b0h,86h,0c6h,0a1h,0ffh,0c0h dl1: mov r7,#2 ;延时子程序dl: mov r6,#0ffhdl6: djnz r6,dl6djnz r7,dlrety1: cjne a,#8h,set1 ;设置初始密码ljmp next2set1: dec r1cjne r1,#0,y2clr p1.7lcall dlrsetb p1.7ljmp y2retnext2: clr p1.6lcall dlrrety2:ljmp key1dlr: mov r7,#250 ;延时子程序l2:mov r6,#124l1:djnz r6,l1djnz r7,l2retend8自评分:80实验心得:虽说这些程序不完全是自己的,但里面倾注了我白分之八十的心血。
电子综合课程设计报告设计课题:基于单片机的电子密码锁设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:
指导教师签名:日期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日
导师签名:日期:年月日。