当前位置:文档之家› 单片机课程设计--电子密码锁的制作

单片机课程设计--电子密码锁的制作

单片机课程设计--电子密码锁的制作
单片机课程设计--电子密码锁的制作

单片机原理及应用

课程设计

题目电子密码锁的设计

二级学院电子信息与电气工程学院班级07信

姓名张振

学号07020136

指导教师范力旻

设计时间2010.6.21-7.2

目录

一、设计目的 (1)

1.1 课题简介 (1)

1.2 课题研究的目的 (1)

二、硬件方案论证 (2)

2.1 硬件的部分设计 (2)

2.2 硬件的总体设计 (2)

三、软件方案论证 (3)

3.1 软件的部分设计 (3)

3.2 软件的总体设计 (10)

四、软硬件调试、仿真与使用 (11)

4.1 硬件测试、仿真 (11)

4.2 软件调试 (11)

4.3 实物调试 (12)

4.4 使用方法介绍及扩展 (12)

五、实践小结 (13)

六、参考文献 (14)

附录A 程序清单 (15)

附录B 元器件清单 (23)

附录C 原理图 (24)

附录D 实物图 (25)

一、设计目的

1.1.课题简介

如何实现防盗是很多人关心的问题,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,使人们的人身及财产安全受到很大威胁。电子密码锁是一种依靠电子电路来控制电磁锁的开与闭的装置,开锁需要输入正确密码,若密码泄露,用户可以随时更改密码。因此其保密性高,使用灵活性好,安全系数高,可以满足广大用户的需要。

1.2.课题研究的目的

本设计是一种基于单片机89C51的密码锁方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。

本次设计的密码锁具备的功能:LED数码管显示初始状态“——————”,用户通过键盘输入密码,每输入一位密码,LED数码管相应有一位变为“P”,若想重新输入密码,只需按下“CLR”键。密码输入完毕后按确认键“#”,密码锁控制芯片将输入的密码与密码锁控制芯片中存储的密码相比,若密码错误,则不开锁,会有红灯亮提示,同时显示“Error”。若正确,则开锁,会有绿灯亮提示,同时显示“PASS”。用户可以根据实际情况随意改变密码值或密码长度,密码输入正确后可以按下“CHG”修改密码,输入新密码时每输入一位新密码相应有一位变为“H”,以便提示用户此时输入的是新密码,修改新密码时若取消修改,只需按下“CLR”键即可。输入新密码后按确认键即修改成功,新密码写入单片机内部RAM中,以便以后用来确认密码的正确性。按下复位键,系统恢复初始状态,密码也恢复初始密码,本设计中初始密码是“096168”。

本次设计中软件主要由我完成,硬件主要由胡恒阳同学完成。

2.1硬件部分设计:

单片机采用AT89C51。

晶振电路采用12MHz 晶振和30pF 独石电容。

复位电路为手动复位电路,复位电容为10uF,电阻为10K 。 键盘采用4X4矩阵按键,采取行列式扫描,键图为:

图-1 键图

输出显示电路由6个移位寄存器74LS164和6个共阳极七段数码管组成,采取串行传输数据方式。

LED 发光二极管指示电路由一红色发光LED 和一绿色发光LED 组及限流电阻组成,红色LED 表示密码错误,绿色LED 亮表示密码错误。

2.2 硬件的总体设计

图-2 原理框图

原理图见附录C 。

3.1 软件的部分设计

3.1.1 资源分配定义

码锁全部采用片内程序寄存器和数据寄存器。默认寄存器组为00,在子程序中可切换为01,10。预定义R0为地址指针,R4存储计数值,R3用来做暂存器,R5、R6、R7用于延时子程序。系统的初始密码没有采用外接ROM设计,直接存于程序寄存器中,加电时传输,用于比较。故需要密码缓存区用于存储当前输入的密码,密码存储区用于存储当前的正确密码(复位后密码存储区应为初始密码,修改后为新的修改密码)。所以预先定义数据寄存器的30H—35H的6个单元作为密码缓存区,36H—3BH的6个单元作为密码存储区。作为显示输出,应设显示缓存区,故预先定义40H—45H的6个单元作为显示缓存区。比较应有标志位表示正确与否,故预先定义采用程序状态字的第五位即PSW.5作为比较结果标志位,规定等于1为错误,等于0为正确。程序起始位置设为0030H,SP堆栈指针移到60H。

3.1.2 程序总体规划

功能要求和资源分配,先画出主体程序流程图;再列出功能子程序及延时子程序,分别画出流程图;再设计所需查的表。

块功能介绍:

①主体程序控制:传输初始密码至密码存储区,初始化密码缓存区和显示缓存区,调用KEY扫描键盘,调用显示子程序Display显示”P”,调用比较子程序Compare,根据正确与否分别用灯和LED提示用户,根据是否修改进入修改密码的程序。

②KEY:键盘扫描子程序,由接线知键值由行线和列线组成。故键值可表示每个键,有11、12、14、18、21、22、、24、28等。

③Display:从显示缓冲区取数由串行口输出,并计数6次。

④Compare:取密码缓存区数与密码存储区数逐位比较,一个错误就跳转错误处理,全部正确则条住正确处理。

⑤Error:显示出错子程序,给显示缓存区送“Error-”的段码,并调用Display。

⑥PASS:显示通过子程序,给显示缓冲区送“-PASS-”的段码,并调用Display。

⑦清除子程序:CLR_PBUF用于清密码缓冲区为初始状态;CLR_DBUF用于清显示缓冲区为初始状态;CLR_SCR用于清屏幕为初始状态;CLR_PMEM用于清除密码存储区为初始状态。

⑧延时子程序:Delay0_5:表示0.5秒延时;Delay10m:表示10毫秒延时;Delay0_1:表示0.1秒延时。

⑨表区:Key2BCD:表示键值转换为BCD码,用于存储在密码缓存区和密码存储区。PWD:存储初始密码。

3.1.3 主体程序流程图

首先保存密码及初始化缓存区,调整堆栈指针。密码缓存区中存放OFH,该值不能由键盘输入,故当密码不足6位时可以和密码存储区统一,以免长度不同造成误判断。初始化显示缓冲区为“-”的段码,表示待输入状态。调用KEY子程序(防抖时间0.1s),取得键值后比较。判断键功能,若是数据则将键值转换为BCD 码存进密码缓存区,同时显示缓冲区送“P”段码,若是取消则返回初始化状态待输入,若是确定则进入比较子程序。将密码缓冲区数据与密码存储区逐位比较,错误则返回PSW.5为1,正确则为0。若正确则绿灯亮10s,屏幕显示“-PASS-”(见图-4)。10s里循环检测是否按下修改键。若修改则待输入新密码,输入的新密码表示为“H”以区别表示尝试密码时的“P”。若此时取消,则密码和显示缓存区回初始状态,密码不变。若确定则先把密码存储区重新格式化为0FH,把新密码从密码缓存区搬移到密码存储区。绿灯灭,密码和显示缓存区恢复初始。若之前比较错误,则红灯以0.5s频率亮灭显示10次,同时LED显示“Error-”提示用户输入错误(见图-5)。

几种屏幕状态如图所示:

图-3 初始待输入

图-4 密码正确,通过

图-5 密码错误

图-6 主程序流程图

3.1.4 KEY扫描键值子程序

KeyYN为检测有无键按下子程序,延时10ms再判断有无键按下,这样是防抖过程。然后逐列扫描,再判断行线状态,以确定是否有键按下。没有的话则继续扫

描。当有键按下时,列码加行码作为该键的键值。返回A暂存键值,键值表如下:

图-7 按键检测子程序

3.1.5 显示子程序

这里保险起见,使用了堆栈,保存ACC寄存器和PSW状态并切换了寄存器组为01H,R0显示缓存区为指针,R4为计数器。设置串行口工作方式0。取显示缓存区值送A,A送SBUF启动传输,传输完毕置位TI标志位,查询TI标志位。TI 需由软件复位。R0指针后移,计数减1,循环送数,完成后切回寄存器组00H,ACC、PSW一次弹栈。返回。

图-8 显示子程序

3.1.6 比较子程序

完成密码缓存区和密码存储区的逐位比较功能。返回PSW.5记录比较结果。R0存储密码缓存区指针。因为CJNE命令不能直接比较两个寄存器,故密码存储区只能手写并移动,与流程图稍不同。密码缓存区为30H—35H,密码存储区为36H—3BH,都是6单元。之前给密码缓存区和密码存储区赋得初值0FH现在可见功能,当都不满6位时,正确的密码输入后,密码缓存区和密码存储区的值都相同,

这样就不会误判断,提高正确性以及增加输入密码长度可变这一特性!

图-9 比较子程序

3.1.7 显示Error 和PASS 子程序

这段程序比较简单,给R0送显示缓存区首地址40H ,依次送段码“-”“r ”“o ”“r ”“r ”“E ”(pass 则对应“

-”S ”“S ”“A ”“P ”“-”)即倒序输入。再调用显示子程序即可。

图-10 显示提示子程序

3.1.8 清除子程序

这里的子程序因频繁调用,保险起见也采用了堆栈保存状态并切换寄存器组的命令。这里都用R0做地址指针,R4做计数器。CLR_PBUF(清密码缓存区)和CLR_PMEM(清密码存储区)都是初始化为0FH。CLR_DBUF(清显示缓存区)初始化为“-”段码值。CLR_SCR(清屏幕)调用CLR_DBUF后显示即显示“-”。这里的流程图基本与上图相似,略。

3.1.9 延时子程序

延时子程序比较简单,基本都是相同格式,现以0.5s延时为例:

图-11 延时子程序

计算延时如下:

晶振12MHz,一个机器周期为1us。最内层循环总周期数:2*46H=140,中间层循环总周期数:(140+2+1)*98H=21736,外层循环总周期数:(21736+2+1)*17H=499997,加上第一行和RET共3周期,总周期数为500000。500000*1us=500ms=0.5s。

3.1.10 查表区

Key2BCD:表示键值转换为BCD码。由键值表-1可得出此表的地址分布,用DS空出间隔,用DB定义键值对应的BCD码。只写0—9即可,其他键值视为无效数。PWD即PASSWORD初始密码,这里随意,我便取我们一组两人的宿舍号,为096168。

3.2 软件的总体设计

综合以上流程图及分析,不难写出子程序及主体程序。全部程序见附录A。

四、软硬件调试、仿真与使用

4.1 硬件测试、仿真

4.1.1 硬件测试

硬件测试即焊好后,用万用表测量基本电路的焊接完好性,比如按键按下是否导通,松开是否断开,通电后各处电压是否为正常等。这由同组同学胡恒阳完成测试。

4.1.2 硬件仿真

这里采用PROTEUS软件仿真:

图-12 Proteus软件截图

4.2 软件调试

这里采用Keil调试编译:

图-13 Keil编译截图

4.3 实物调试

实物调试我们用了周六一天和周日上午的时间完成。我们在软硬件方面都遇到一些问题。首先胡恒阳同学的电源有点问题,接上我们的密码锁后只有3V电压,密码锁不工作。解决电源问题后,接通,数码管显示跳动的乱码,我们先测试各电路的焊点处电压,才突然发现原来89C51没有完全按到插座中,接触不良。硬件正常工作后,程序表现出一个问题:在输入正确密码后修改不起作用。检查程序后发现我只给了一个指令周期检查有无按下修改键,有则转修改,没有就执行绿灯的延时程序。这当然不可能检测到修改键按下。要修改的话,常用的方法是不断地循环检测有无修改键按下,但实际中不可能一直在检测按键,所以必须得在10s内检测,超时则跳转灭绿灯程序。我想到把扫描键及比较是否为修改键一段放到10s延时中去,若按下修改则跳修改段,若未修改则继续循环延时。解决这个问题后,我们接着发现修改的密码不能起作用。我们估计是密码缓存区数据没能传到密码存储区。我们分别修改了两段程序,让数码管显示“修改完”后密码缓存区和密码存储区内容。发现输入的第一个数改变了,而后面的数都没改变。我惊讶的发现原来我的传输部分的代码确实只传输了一个数,而忘了移动指针继续传输!但我们之前都没发现这个“简单”的错误!改正这个错误后,运行正常。只有按键稍嫌灵敏,便加了按键的延时0.1s,还有极个别按键稍过于灵敏应该是按键质量问题。

4.4 使用方法介绍及扩展方法

使用方法:通5V直流电后,六个LED数码管显示初始状态“——————”,用户通过键盘输入密码,每输入一位密码,LED数码管相应有一位变为“P”,若想重新输入密码,只需按下“CLR”键。密码输入完毕后按确认键“#”,密码锁将输入的密码与存储的密码(初始密码是“096168”)相比,若密码错误,则不开锁,会有红灯亮提示,同时LED显示“Error-”。若正确,则开锁,会有绿灯亮提示,同时显示“-PASS-”。用户可以根据实际情况随意改变密码值或密码长度,方法是:密码输入正确后可以按下“CHG”修改密码,输入新密码时,每输入一位新密码相应有一位LED变为“H”,以便提示用户此时输入的是新密码,区别尝试时的输入“P”,修改新密码时若想取消修改,只需按下“CLR”键即可。输入新密码后按确认键即修改成功。此时只要不断电不复位,密码就改为新输入的密码。按下复位键,系统恢复初始状态,密码也恢复初始密码。

扩展思路:本系统离实际使用还有差距,可外接一个EPROM,每次上电后可以从EPROM读取密码,保证断电后不会丢失密码。还可以增加防止试探功能,连续输错三次密码就自动报警并锁定键盘。开锁电路并没设计,实际使用中需要继电器来控制电磁锁电路的开闭。

五、实践小结:

这次单片机课程设计我有两点体会颇深。一点是合作、分工。当今社会强调团队合作的重要性,这次我和胡恒阳同学的合作便让我体会到这一点。我觉得我们的合作优势体现在合理的分工。我焊接技术较弱,电路分析较差,但对软件分析设计比较有心得,操作电脑比较熟练,所以由我设计程序,调试和在电脑上画图仿真。而胡恒阳同学细心耐心,焊接技术过硬,电路分析强,所以由他设计电路并焊接。我们彼此熟悉,配合很好,效率很高。另一点是锻炼了我的编程能力,实践的成功给了我极大的鼓舞。这次编程是我编的最长的程序,思考的过程中逐渐体会到结构化程序设计的好处,先决定目的功能,再设计流程图,再由流程图推出主程序,由调用的子程序的入口、出口设计出功能。我还体会到调试的方法,当我们遇到新密码没有传输到密码存储区的问题时,我采用了写些小程序测试某部分功能的方法,逐步确定了问题的位置。总之,这次课程设计我收获很大,实践的成功更增加了我们的兴趣和信心,而且硬件软件全部自己设计让我们感到自豪,我想以后出于兴趣还会继续制作单片机的制作。

六、参考文献:

1.《单片机典型外围器件及应用实例》求是科技著,人民邮电出版社

2.《单片机典型系统设计实例精讲》彭为.黄科中.雷道仲,电子工业出版社3.《单片机项目设计教程》孙慧芳著,电子工业出版社

4.《单片机原理及其接口技术》胡汉才著,清华大学出版社

5.《单片机入门与趣味实验设计》肖婧著,北京航空航天大学出版社

6.《MCS-51单片机应用开发实用子程序》边春远.王志强,人民邮电出版社

7.《单片机原理,应用与PROTEUS仿真》张靖武.田灵彬,电子工业出版社

8.《单片机课程设计指导》楼然苗.李光飞,北京航空航天大学出版社

9.《单片机C语言程序设计实训100例:基于8051+Proteus仿真》彭伟,电子工业出版社

10.《单片机控制技术在通信中的应用.MCS-51系列》潘超群,电子工业出版社

附录A程序清单ORG 0000H

SJMP MAIN

ORG 0030H

MAIN:MOV SP,#60H

CLR A

MOV R0,#36H

MOV R4,#06H

;传输密码至存储区

INI_PMEM:MOV R3,A

MOV DPTR,#PWD

MOVC A,@A+DPTR

MOV @R0,A

MOV A,R3

INC A

INC R0

DJNZ R4,INI_PMEM

MOV R4,#06H

MOV R0,#30H

;初始化密码缓冲区

INI_PBUF:MOV @R0,#0FH

INC R0

DJNZ R4,INI_PBUF

MOV R4,#06H

MOV R0,#41H

;初始化显示缓冲区为-的段码

INI_DBUF:MOV @R0,#0FDH

INC R0

DJNZ R4,INI_DBUF

LCALL Display

CLR A

;初始的扫描键盘

INI_SCAN:MOV R0,#30H

MOV R1,#41H

;扫描键盘

SCAN:LCALL KEY ;调用KEY子程序,返回A为键值JZ SCAN

MOV R3,A;保存键值

LCALL Delay0_1

Release1:LCALL KEY

JNZ Release1;测试按键松开

MOV A,R3

;比较是否为CLR键,不是则跳转NotCLR1

CJNE A,#48H,NotCLR1

LCALL CLR_PBUF;清密码缓冲区

LCALL CLR_SCR;清屏幕

LJMP INI_SCAN

;存数并移下一位

Save1:MOV DPTR,#Key2BCD;查键值转BCD表

MOVC A,@A+DPTR

MOV @R0,A

MOV @R1,#31H;显示P代表每位密码

LCALL Display

INC R0

INC R1

LJMP SCAN

;比较是否为确定#键,不是则跳转Save1

NotCLR1:CJNE A,#44H,Save1

LCALL Compare;调用比较子程序,返回PSW.5,值1为错误JBC PSW.5,Wrong;错误跳Wrong

CLR P2.1;绿灯亮

LCALL PASS;显示pass通过

CLR C

;再检测是否按下修改键

;10S延时检测

Delay10S:MOV R7,#0BFH

D3:MOV R6,#0BDH

D4:MOV R5,#89H

LCALL KEY

JZ CON;没有键按下则继续循环

SUBB A,#81H;比较修改键

JZ INI_CHG;修改则跳到INI_CHG

LJMP NotCHG;未修改则跳NotCHG

CON:DJNZ R5,$

DJNZ R6,D4

DJNZ R7,D3

LJMP NotCHG

INI_CHG:LCALL CLR_SCR

LCALL CLR_PBUF

NO_CLR:LCALL KEY

JNZ NO_CLR

MOV R0,#30H

MOV R1,#41H

Change:LCALL KEY

JZ Change

MOV R3,A

LCALL Delay0_1

Release2:LCALL KEY

JNZ Release2

MOV A,R3

CJNE A,#48H,NotCLR2;比较是否为CLR

LJMP NotCHG

Save2:MOV DPTR,#Key2BCD

MOVC A,@A+DPTR

MOV @R0,A

MOV @R1,#91H;"H"

LCALL Display

INC R0

INC R1

LJMP Change

NotCLR2:CJNE A,#44H,Save2;比较是否为确认#键LCALL CLR_PMEM

MOV R0,#30H

MOV R1,#36H

MOV R4,#06H

;密码缓冲区的新密码存入密码存储区

T_NewPWD:MOV A,@R0

MOV @R1,A

INC R0

INC R1

DJNZ R4,T_NewPWD

NotCHG:SETB P2.1;绿灯灭

LCALL CLR_SCR

LCALL CLR_DBUF

LJMP INI_SCAN;回初始扫描键盘

Wrong:MOV R4,#0AH

LCALL Error;显示Error

RED:CLR P2.0;红灯亮

LCALL Delay0_5

CPL P2.0;红灯灭

LCALL Delay0_5

DJNZ R4,RED

LCALL CLR_SCR

LCALL CLR_PBUF

LJMP INI_SCAN

;#################

;## 子程序####

;#################

;扫描键值子程序

KEY:ACALL KeyYN

JZ keyend

ACALL Delay10m ACALL KeyYN

JZ keyend

MOV R7,#4

MOV R6,#80H

Key1:MOV A,R6

CPL A

MOV P1,A

NOP

MOV A,P1

CPL A

ANL A,#0FH

JNZ Key2

MOV A,R6

RR A

MOV R6,A

DJNZ R7,Key1

SJMP keyend

Key2:ADD A,R6 keyend:RET

KeyYN:MOV P1,#0FH NOP

MOV A,P1

CPL A

ANL A,#0FH

RET

;显示子程序

Display:PUSH PSW PUSH ACC

SETB RS0;切换寄存器组MOV R0,#41H

MOV R4,#06H

MOV SCON,#00H

S_Port:MOV A,@R0 MOV SBUF,A

JNB TI,$

CLR TI

INC R0

DJNZ R4,S_Port

CLR RS0

POP ACC

POP PSW

RET

;比较子程序

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

电子综合课程设计报告设计课题:基于单片机的电子密码锁设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

单片机电子密码锁课程设计

单片机技术及应用综合训练 (设计报告)

前言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。 本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。 本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。 关键词:电子密码锁、报警、液晶显示

目录 一、选题要求 (1) 二、硬件电路设计 (1) 2.1 51单片机 (2) 2.2 键盘电路 (2) 2.3 液晶显示电路 (2) 2.4 警报电路 (3) 2.5 密码储存电路 (3) 2.6 晶振、复位及关锁 (3) 三、软件设计 (4) 四、软硬件调试结果 (9) 4.1 电路总原理图 (9) 4.2 调试结果 (10) 五、总结 (11)

一、选题要求 本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为0~9,用户可以自行设定和修改密码。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警,期间输入密码无效,以防窃贼多次试探密码。6位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下: 1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的 更替而使锁的密级下降。 3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 4) 无活动零件,不会磨损,寿命长。 5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 6) 电子密码锁操作简单易行,一学即会。 二、硬件电路设计 下面是整个设计的流程图:

基于51单片机电子密码锁设计

一、设计目的 1.1课题简介 如何实现防盗是很多人关心的问题,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,使人们的人身及财产安全受到很大威胁。电子密码锁是一种依靠电子电路来控制电磁锁的开和闭的装置,开锁需要输入正确密码,若密码泄露,用户可以随时更改密码。因此其保密性高,使用灵活性好,安全系数高,可以满足广大用户的需要,现在广泛使用的有红外遥控电子密码锁,声控密码锁,按键密码锁等。 1.2课题研究目的 本设计是一种基于单片机的密码锁方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。现在很多地方都需要密码锁,电子密码锁的性能和安全性大大超过了机械锁,为了提高密码的保密性,必须可以经常更改密码,以便密码被盗时可以修改密码。 本次设计的密码锁具备的功能:LED数码管显示初始状态“——————”,用户通过键盘输入密码,每输入一位密码,LED数码管相应有一位变为“P”,若想重新输入密码,只需按下“CLR”键。密码输入完毕后按确认键“#”,密码锁控制芯片将输入的密码和密码锁控制芯片中存储的密码相比,若密码错误,则不开锁,会有红灯亮提示,同时显示“Error”。若正确,则开锁,会有绿灯亮提示,同时显示“PASS”。用户可以根据实际情况随意改变密码值或密码长度,密码输入正确后可以按下“CHG”修改密码,输入新密码时每输入一位新密码相应有一位变为“H”,以便提示用户此时输入的是新密码,修改新密码时若想重新输入新密码只需按下“CLR”键即可。输入新密码后按确认键即修改成功,新密码写入单片机内部RAM中,以便以后用来确认密码的正确性。按下复位键,系统恢复初始状态,密码也恢复初始密码,本设计中初始密码是“096168”。 本次设计中硬件主要由我完成,软件主要由张振完成。 二、硬件设计 2.1概述 本系统主要由单片机最小系统、电源电路、输入键盘电路、输出显示电路、开锁电路等组成,系统框图如图1所示:

电子密码锁单片机课程设计

电子密码锁单片机课程设计

单片机原理与应用技术课程设计报告 电子密码锁设计 专业班级:电气 124 姓名: 时间:2015年1月2日 指导教师:秦国庆 2015年1月2日

电子密码锁课程设计任务书 1.设计目的与要求 设计出一个电子密码锁。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能: (1)状态显示功能:锁定状态时系统用3位数码管显示OFF, 用3位码管显示成功开锁次 数;成功开锁时用3位数码管 显示888,用3位数码管显示 成功开锁次数。 (2)密码设定功能:通过一个4×4的矩阵式键盘可以任意设 置用户密码(1-26位长度), 同时系统掉电后能自动记忆 和存储密码在系统中。(3)报警和加锁功能:密码的输入

时间超过12秒或者连续3次 输入失败,声音报警同时锁定 系统,不让再次输入密码。此 时只有使用管理员密码方能 对系统解锁。 2.设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出; 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。 1

电子密码锁 电气124 赵政权 摘要:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本设计利用51单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成电子密码锁的设计成品。其中数码管使用两组三位一体共阳数码管,数据存储器使用AT24C04芯片通过IIC协议实现数据的传输,矩阵键盘用执行效率极高的代码扫描控制。使用Keil4.6编写程序代码,用Proteus进行仿真,无误后使用Altium制图,最终做成能使用的成品。 关键词: 51单片机 IIC协议矩阵键盘动态显示 Keil Proteus Altium 2

基于51单片机电子密码锁毕业论文(设计)

摘要 摘要:在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。 基于以上思路,本次设计使用 ATMEL公司的 AT89C51 实现一基于单片机的电子密码锁的设计,其主要具有如下功能: (1)密码通过键盘输入,若密码正确,则将锁打开。

(2)报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且锁定键盘。 电子密码锁的设计主要由三部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有 LED 提示灯,报警蜂鸣器等。 密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。 (2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。 (3)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。 主要的设计实施过程:首先,选用 ATMEL公司的单片机 AT89C51,以及选购其他电子元器件。第二步,使用 DXP 2004设计硬件电路原理图,并设计 PCB图完成人工布线(后因 PCB 板损坏决定采用万能板焊接的方法)。第三步,使用 Keil uVision3 软件编写单片机的 C 语言程序、仿真、软件调试。第四部,使用 PROTEUS 软件进行模拟软、硬件调试。最后,联合软、硬件调试电路板,完成本次毕业设计。 关键词:4×4矩阵键盘;AT89C51;密码锁;密码二次确认

单片机课程设计-电子密码锁

电子密码锁的设计说明书 院系:机电汽车工程学院 专业:机械设计制造及其自动化 班级: 姓名: 学号: 指导老师: 同组人员:

中文摘要 摘要: 随着经济的发展,人们对日常生活质量的要求也越来越高,从工作、学习、出行、购物等的各个方面,人们也对现代安全设施提出来更高的要求。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。密码锁具有安全性高、成本低、功耗低、易操作等优点,同时还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 本次电子密码锁的设计主要就针对于这种社会需求,从程序设计到硬件设计以及硬件安装连接都做了详细的说明。

设计说明 本次设计使用 ATMEL公司的 AT89C51 实现一基于单片机的电子密码锁的设计,其主要具有如下功能: ①密码通过键盘输入,若密码正确,则将锁打开。 ②报警、锁定键盘功能。密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且锁定键盘。 电子密码锁的设计主要由三部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED 提示灯,报警蜂鸣器等。 密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能: ①密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。 ②密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。 ③开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。 主要的设计实施过程:首先,选用 ATMEL公司的单片机AT89C51,以及选购其他电子元器件。第二步,使用 DXP 2004

基于单片机的电子密码锁设计与实现

河南理工大学万方科技学院课程设计报告 2015— 2016学年第一学期 课程名称单片机原理及应用 设计题目电子密码锁设计 学生姓名杨会毫 学号 1516353019 专业班级计算机15升 指导教师苏百顺

日5 月2016 年1 I 摘要 近年来,随着改革开放的深入发展,电子电器的飞速发展。人民的生活水平有了很大提高。各种高档家电产品和贵重物品为许多家庭所拥有。然而不法分子也是越来越多,原因在于大部分人防盗意识还不够强,造成偷盗现象屡见不鲜。越来越多的居民家庭对财产安全问题十分担忧。因此,出于安全方便等方面的需求,电子密码锁相继问世。 本设计是以单片机AT89S51为主控芯片,并结合外围液晶显示LCD1602、存储芯片AT24C02、红外遥控HS0038,以及键盘输入、复位、电源等电路组合而成。系统能够完成开锁、报警、修改密码等基本功能,还能够通过红外来控制单片机的开锁,以及掉电储存密码的功能。整个设计在Keil开发环境下,用C语言编写主控芯片的控制程序来实现具有多功能的电子密码锁。 关键词:密码锁AT89S51 储存显示红外

II 目录 摘要......................................................................................................................... I 引言 (1) 1 概述 (2) 1.1 课题背景和意义 (2) 1.2电子密码锁的发展趋势 (2) 2 系统总体设计思路 (3) 2.1 系统设计要求 (3) 2.2系统设计方案 (3) 3 系统硬件设计与实现 (4) 3.1主控芯片AT89S51 (4) 3.2 存储模块AT24C02 (7) 3.3红外模块HS0038 (9) 3.4 显示模块LCD1602 (10) 3.5 电源电路模块 (11) 3.6 键盘输入模块 (12) 3.7 报警电路 (13) 3.8 开锁电路 (13) 3.9 复位电路 (14) 3.10串行通信电路 (14) 3.11 系统整体原理图 (16) 4系统软件设计........................................................................................................... 17 4.1 主程序设计 (17) 4.2键值判断设计 (18) 4.3开锁设计 (19) III

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电 子密码锁 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

山东交通学院 单片机原理与应用课程设计院(部):轨道交通学院 班级:自动化121 学生姓名: 学号: 指导教师: 时间:— 课程设计任务书 题目电子密码锁设计 系 (部) 轨道交通学院 专业班级自动化121 学生姓名 学号 06 月 01 日至 06 月 12 日共 2 周 指导教师(签字) 系主任(签字) 年月日

目录 3.总体设计 (2)

4 密码比较模块 (6) (6) (8) (9) 附录 (10)

摘要 设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。 关键词:单片机、密码锁、修改密码 1.设计要求 本实验将实现六位数的电子密码锁。要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。 2. 按下“10”,开始则显示“Enter Please:”。3. 随时可以输入数值,并在LCD上实时显示‘*’。当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。 4. 按下“13”键,则表示确定键按下,进行密码对比。如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。如果密码连续三次错误则蜂鸣器连续响5下,并且持续5秒不能进行任何操作 5.在开锁状态下按下“12”键,进入修改密码状态,LCD同时提示“Enter new code!”。为删除按键,出入之后可以进行删除。按键为关闭按键,只有在打开状态下才可以关闭,按下之后LCD显示“Close the door!”。 2.功能概述 此设计分为四个功能模块。 第一模块:按键输入模块,用于密码的输入以及其他的密码操作按键。 第二模块:LCD模块,是与使用者交流的界面,用于显示各种状态下的内容。 第三模块:步进电机模块,用于控制密码锁的打开与关闭。 第四模块:24C08模块,用于储存输入的密码并读出来。 3.总体设计 本次设计作品的主要构成部分包括80C51单片机、LCD1602、24C08、矩阵按键、LED 等、蜂鸣器。如图1总体仿真图,图2实物图。 图1 总体电路图 图2 密码锁实物图 4.硬件设计 矩阵按键设计 如图3所示矩阵按键由P1口控制,了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N × M 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确

基于单片机的电子密码锁设计_董海棠

基于单片机的电子密码锁设计 董海棠1,张 旭2,冯中毅3 (1兰州交通大学机电工程学院甘肃兰州,730070) (2北京铁路局北京,100860) (3 兰州城市学院信息工程学院甘肃兰州,730070) 摘 要:电子密码锁是一种通过密码输入来控制电路或芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子 产品。应用较广的电子密码锁是以芯片为核心,通过编程来实现的。设计以AT89C51单片机作为密码监控装置和控制核心,结合键盘电路,LCD 显示电路,报警电路和开锁机构,利用单片机灵活的编程设计和丰富的I/O 端口及其控制的准确性,通过软件程序来控制整个系统实现电子密码锁的基本功能,其性能和安全性已远远超过传统的机械锁。该设计具有保密性好、成本低、功耗低、操作简单、随机开锁成功率几乎为零、密码可变、误码输入保护、多次错误报警、断电记忆等优点。测试结果表明,设计各项功能已达到预期要求。 关键词:单片机;AT89C51;电子密码锁;报警DOI 编码:10.14016/https://www.doczj.com/doc/c42658018.html,ki.1001-9227.2014.10.042 Abstract:The electronic combination lock is electronic products,which control the mechanical switch by the control circuit or chip when you input a password.Now the electronic locks are widely used and achieved the function by programming.The design use single chip microcomputer AT89C51as the combination lock monitoring device and control core,combining with key circuit,LCD display circuit,an alarm circuit and unlocking mechanism,using a flexible programming design and rich I/O port of microcon-troller,and its control by software program to control the whole system to realize the electronic combination lock.The performance and security has been far more than the traditional mechanical lock.The design has the advantages of good security,low cost,low power consumption,simple operation,random unlock success rate is almost zero,the password input variable,error protection,many false alarm,power-off memory etc.The test results show that the design of each function has reached the expected require-ments. Key words :Single Chip Microcomputer;AT89C51;Electronic Combination Lock;Alarm 中图分类号:TP393 文献标识码:B 文章编号:1001-9227(2014)10-0042-03 收稿日期:2014-08-20 0引言 科技发展和生活水平提高的同时,安全问题也随之而来,被撬事件屡见不鲜,那么如何更好的防盗呢?由于传统的机械锁抵抗不了强力破坏,制作工艺简单,技术落后,极易被开启,所以它只能保存着锁的原始意义,而与此同时涌现出一批满足人们需求的安全可靠不易被破解的电子锁。其中键盘式的电子密码锁使用最为广泛,本产品主要用于保险箱、防盗门、保险柜之类的,还有一部分用于智能车。 该设计从经济实用角度出发,采用AT89C51单片机作为密码监控装置和控制核心,结合AT24C02存储单元电路,4×4矩阵键盘电路,LCD1602显示电路,报警电路和开锁电路构成的,通过键盘输入正确的密码来控制电路,从而完成开锁、机械上锁、智能锁定键盘、修改密码等功能的电子产品。1 系统设计 1.1设计思路 该设计以AT89C51单片机为主控单元,AT24C02存储芯片为存储单元,矩阵键盘为主输入单元,LCD1602为显示单元, 独立按键为模拟功能按键,蜂鸣器为报警装置以及继电器为开锁装置完成整个系统设计。系统结构框图如图1所示。 图1系统结构框图 1.2系统的功能 (1)密码通过键盘输入,若密码正确,则开锁并提示。(2)若密码输入错误,提示错误信息,如若连续错误超过三次,报警提示并智能锁定键盘。 (3)每输入一个密码,在LCD1602显示器上对应显示一个“*”。 (4)密码可根据用户的需求进行修改,但必须要输入正确的旧密码。 (5)两分钟内操作完成密码的输入,大于两分钟,即使密码正确也不会开锁。 基于单片机的电子密码锁设计董海棠,等 42

密码锁-单片机课程设计

1 绪论 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性和方便性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点随着人们对安全的重视和科技的发展,对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。具有报警功能的电子密码锁保密性高,使用灵活性好,安全系数高,密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有推广价值。电子密码锁采取电子电路控制,通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务。 本次设计使用AT89S52单片机构成最小系统,接以键盘,报警系统,液晶显示构成人性化的方便易用的电子密码锁。

2 设计任务、功能要求说明及总体方案介绍 2.1 设计目的与任务 本设计采用AT89S52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD 1602A等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统。 2.2 设计内容及要求 (1)课程设计中,锁体用LED代替(如“绿灯亮”表示开锁,“红灯亮”表示闭锁)。 (2)其密码为方8位十进制代码(代码自设定)。 (3)开锁指令为串行输入码,当开锁密码与存储密码一致时,锁被打开。当开锁密码与存储密码不一致时,电路则报警并实现自锁。(报警动作为响1分钟,停10秒) (4)选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。安装调试设计电路,查阅至少5篇参考文献。按《湖南工学院课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 2.3 设计总体方案及工作原理说明 采用以单片机AT89S52为核心的控制方案,总体框图见图1。 单片机作为本装置的核心器件,在系统中起到控制声光报警、以及数码动态显示的作用。一般来说在选择单片机时下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O 端口,以及控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接加

单片机电子密码锁报告

目录 第1章概述 (1) 第2章系统总体方案设计 (2) 第3章硬件电路设计 (4) 3.1 键盘电路设计 (4) 3.2LED显示电路 (6) 3.3 开锁电路 (8) 3.4报警电路 (9) 第4章软件设计 (9) 4.1软件设计思路 (10) 4.2 各子程序设计 (10) 第5章系统调试 (16) 第6章心得体会 (17) 第7章参考文献 (18) 第8章附录 (19) 8.1源程序清单 (19) 8.2硬件原理图 (26)

第1章概述 随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。 本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。 本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。

第2章系统总体方案设计 系统总体设计方案框图2.1: 图2.1系统总体设计方案框 本方案采用一种是用以89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。 初步设计思路如下: 1.输入密码用矩形键盘,包括数字键和功能键。 2.LED数码管显示输入密码,用74JS247驱动数码管发光显示数 码,用74LS138控制各位显示器分时进行显示。 3.用发光二极管代替开锁的电路,发光表示开锁。 4.输入密码错误次数超过3次,系统报警。 5.打开电源后,显示器显示“000000”,设原始密码为“123456”, 只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。 6.按“C”键,清除显示器为“000000”。

基于单片机的电子密码锁及程序

毕业论文 基于单片机的电子密码锁设计

基于单片机的电子密码锁设计 摘要 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤为突出,传统的机械锁由于构造简单,被撬事件屡见不鲜。电子密码锁保密性好,使用灵活性高,收到广大用户的青睐。 本设计是以单片机AT89C52作为密码锁的主控芯片与数据存储单元,结合外围的矩阵键盘输入、LCD显示、开锁、报警等,用C语言编写程序,并用Keil uVision4软件进行编译设计了一款可以更改密码,具有报警功能的电子密码控制系统。 本设计采用矩阵键盘对密码进行输入,具有较高的优势,减少了I/O口的占用数目。密码的显示采用LCD显示屏实现,为确保安全性统一使用“*”显示密码,当重新设置密码时按下“修改”键,LCD显示屏显示数字。采用蜂鸣器模拟报警系统,增加了密码锁的安全能力。软件使用C语言编程,运用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,设计达到电子密码锁的功能。 关键字:密码锁、AT89C52、矩阵键盘、报警

一、设计背景 随着社会科技的进步,锁已经发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像来控制锁的开启,从而大大提高了锁的安全性。当今安全信息系统应用越来越广泛,特别在机密保护、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的一部分,运用非常广泛,研究它具有重大的现实意义。 电子密码锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用AT89C52单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。 二、设计目的 1.了解单片机开发系统的组成及结构; 2.掌握I/O口的操作方法; 3.能够熟练使用protues和keil软件进行连线和编程,并熟练掌握仿真方法; 4.掌握LCD显示屏的显示原理; 5.掌握C语言编程方法; 6.培养查找错误和改正错误的能力。 三、设计要求 本设计采用单片机为主控芯片,结合外围电路组成电子密码控制系统。设计主要功能有: 1.设置6位密码,密码通过键盘输入,若密码正确,则锁打开,LCD显示 “Password Right Lock Opened!”。原始密码在首次开锁时为“000000”。 2.重新设置密码时,LCD显示“******”,按下“修改”键显示数值。 3.密码只能输入6位数字,无法输入多余数字。 4.具有自动报警功能:当密码输入错误三次,报警,蜂鸣器响3秒。 5.LED数码管显示密码,为确保安全性所有密码均用“*”表示。

电子密码锁单片机课程设计

湖南学院 课程设计 课程名称 课题名称电子密码锁设计 专业测控技术与仪器 班级测控 学号 姓名 指导教师 年月日

湖南学院 课程设计任务书 课程名称 课题电子密码锁设计 专业班级测控 学生姓名 学号 指导老师 审批 任务书下达日期年月日 任务完成日期年月日

设计内容与设计要求 设计内容: 1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的 密码为“12345”共5位密码。 2、密码的输入:采用两个按键来完成密码的输入,其中一个按 键为功能键,另一个按键为数字键。在密码都已经输入完毕并 且确认功能键之后,才能完成密码的输入过程。然后进入密码 的判断比较处理状态并给出相应的处理过程。 3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下 并开始进入按键识别状态时,按键禁止功能被激活,但启动的 状态是在3次密码输入不正确的情况下发生的。 设计要求: 1、设计方案要合理、正确; 2、系统硬件设计及焊接制作; 3、系统软件设计及调试; 4、系统联调; 5、写出设计报告。

主要设计条件 1、MCS-51单片机实验操作台1台; 2、PC机及单片机调试软件; 3、单片机应用系统板1套; 4、制作工具1套; 5、系统设计所需的元器件。 说明书格式 1.封面 2.课程设计任务书 3.目录 4.系统总体方案设计 5.系统硬件设计 6.软件设计(包括流程图) 7.系统的安装调试说明 8、总结 9、参考文献 10、附录(源程序清单及硬件原理图等); 11、课程设计成绩评分表。

进度安排 设计时间为两周 第一周 星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论 星期二、确定总体设计方案 星期三、硬件模块方案设计 星期四、软件模块方案设计 星期五、设计及调试 第二周 星期一、设计及调试 星期二、设计及调试 星期三、总调 星期四、写说明书 星期五、上午:写说明书,整理资料 下午:交设计资料,答辩 参考文献 [1]、《微型计算机原理及应用》许立梓编机械工业出版社 2002 [2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社 2000 [3]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社 2000 [4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版 社2000 [5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社 2001 [6]、《微型计算机接口技术》邓亚平编清华大学出版社 2001 [7]、《单片机原理及及应用》王迎旭编机械工业出版社 2001 [8]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社 2002 [9]、《单片机实用技术问答》谢宜仁主编人民邮电出版社 2002

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

西安文理学院机械电子工程系专业课程设计报告 专业班级2011级测控技术与仪器1班 课程单片机课程设计 题目基于51单片机的电子密码锁的设计学号0703110121 学生姓名党晓英 指导教师陈琦

2014年5月 西安文理学院物理与机械电子工程学院 课程设计任务书 学生姓 名党晓英专业班级 2011级测控技术与仪器1 班 学 号 0703110121 指导教 师陈琦职称讲师 教研 室 C0409 课 程 单片机课程设计 题 目 基于51单片机的电子密码锁的设计任务与要求

设计任务: 以51单片机为核心,设计带有密码输入键盘、电磁阀等部件的单片机应用系统,实现电子锁的锁闭和打开。 设计要求: 1、完成系统的硬件电路设计与软件设计; 2、采用汇编或C语言编程; 3、采用Proteus、KeilC等软件实现系统的仿真调试。 4、论文要求思路清晰,结构合理,语言流畅,书写格式符合要求。 开始日期2014年5月12日完成日期2014年5月25日 2014年5 月28日 基于51单片机的电子密码锁的设计 摘要:在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以 及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。 目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。 本系统由AT89C51单片机系统(主要是AT89C51单片机最小系统)、4×4矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能(本设计由P0口控制LCD显示,密码正确显示password ok!密码错误显示password error!超过三次输入错误自动锁定。由P1口控制矩阵键盘含有0-9数字键和A-F功能键。)。除上述基本的密码锁功能外,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。

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

单片机课程设计 题目基于单片机的电子 密码锁设计

郑州科技学院 单片机课程设计任务书 一、设计题目基于单片机的电子密码锁设计 二、设计任务与要求 (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)

单片机电子密码锁课程设计

单片机电子密码锁 课程设计 1

基于单片机的电子密码锁设计 一、设计要求和条件 1.1 设计要求 根据单片机开发板所提供的元件特性和硬件电路, 编写相关的程序, 经过实验开发板实现电子密码锁在LCD1602上显示的功能。 1.搭建proteus仿真电路图平台, 模拟单片机要实现的功能; 2.焊接单片机系统开发板; 3.编写程序, 实现密码锁相关功能; 4.下载并调试程序, 实现密码锁的具体功能。 1.2 设计目的 1.熟练掌握KEIL软件的使用方法; 2.熟练掌握PROTEUS软件的使用方法; 3.掌握单片机I/O接口的工作原理; 4.掌握中断系统的工作原理; 5.掌握液晶LCD1602的工作原理及编程方法; 6.掌握蜂鸣器的编程使用; 2

7.掌握行列式键盘的工作原理及编程使用方法; 8.掌握单片机的ISP下载使用方法。 1.3 功能概述 本设计是基于单片机的密码锁设计方案, 根据要求, 给出了该单片机密码锁的硬件电路和软件程序, 同时给出了硬件设计方案、软件流程图、C语言源程序及详细注释等内容, 由于单片机实验板上的矩阵键盘为3*3的, 则规定0-5号键为数字键, 6-8号键为功能键, 其中该密码锁的具体功能介绍如下: (1)按”8”号键则输入密码, 初始密码为012345, 在LCD1602上显示密码值为”******”( 密码是保密的) , 输完6位后键盘就锁定, 在LCD1602上显示密码是否正确, 若输入的密码长度小于6位, 则1602等待密码输入。 (2)若密码输入正确后, 则绿色的发光二极管亮表示开锁, 而且1602上显示”you are right!”, 等待是否修改密码。 (3)密码输入错误时显示”code is wrong”, 接着会给你第二、第三次机会输入密码, 如果三次密码都错误时, 发出”叮咚”的报警声, 且红色报警指示灯不停闪烁, 按复位键清除报警。 3

PIC单片机电子密码锁

一、系统主要功能 1)基本要求 1.硬件设计要求: (1)CPU使用PIC16F877A。 (2)用4x4矩阵键盘作为操作信息输入。 (3)用LCD1602或六位数码管作为信息输出。(建议使用LCD1602) (4)用蜂鸣器及发光二极管作为错误报警及状态显示。 2.系统功能要求: (1)输入密码功能。输入密码时用“*”号或“-”显示。在输入密码时,具有清除前一位密码功能(用CLR键)。密码输 入完毕,按(ENTER键)确认并生效。 (2)上锁功能。在锁开状态下,通过(LOCK键)上锁。 (3)在锁合的状态下,通过密码开锁功能。开锁时,直接在键盘上输入六位密码,按(ENTER键)确认,如果密码正确, 转入锁开状态。 (4)在锁开状态下,修改密码功能。在键盘上输入六位新的密码,按(ENTER键)确认,代替旧密码,并保存在RAM中。 (4)在开锁时,如果输入密码三次错误,产生声、光报警功能。 (5)0~9为密码键数字键,E为ENTER键,C为清除键CLR键,D作为上锁键LOCK键,如果用到其他键时,可自行定义。2)进阶要求 密码保存在PIC16F877A内部的EEPROM中,以防断电密码丢失。(不 使用外挂的EEPROM,如:AT24C02等) 二、系统设计要求 1)根据系统的功能和目标,画出系统功能框图。 2)根据系统功能框图用Proteus画出仿真电路图。 3)根据系统的功能要求,画出程序流程图。 4)根据程序流程图,用PIC C语言编写系统源程序。 5)进行编译、调试建立目标代码。 6)在Proteus环境下进行仿真。 三、设计报告

报告内容包括系统设计思路、方案选择、器件选择及电路元器件明细表、系统功能框图、程序流程图、源程序清单、系统工作原理和设计心得等。 四、评分标准: 1、完成《基本要求》者,得分80~89分; 2、完成《基本要求》及《进阶要求》者,得分90~100分; 五、设计时间安排 十九周的星期一至星期五(2011年6月27日至7月1日) 1)周一: 布置任务,进行方案选择、器件选择。 2)周二: 画电路原理图和程序流程图。 3)周三: 编写源程序,调试和仿真。 4)周四: 编写源程序,调试和仿真。 4)周五: 学生答辩,交报告。

相关主题
文本预览
相关文档 最新文档