基于单片机的电子密码锁的设计与仿真课程设计报告
单片机课程设计电子密码锁报告

基于单片机控制的电子密码锁摘要:本系统由单片机系统、矩阵键盘、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单片机的密码锁设计报告

基于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单片机的电子密码锁课程设计报告

单片机原理与应用课程设计报告题目基于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 单片机的密码锁系统,该系统具有成本低、可靠性高、操作简单等优点,适用于家庭、办公室等场所。
二、系统总体设计(一)设计目标设计一个基于 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. 系统调试与优化:学习使用调试工具,对电子密码锁系统进行调试和优化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子综合课程设计报告设计课题:基于单片机的电子密码锁设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:
指导教师签名:日期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日
导师签名:日期:年月日。