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

合集下载

简易电子密码锁(基于51单片机)报告

简易电子密码锁(基于51单片机)报告

简易电子密码锁设计&我的设计思想联想到日前在安全技术防范领域,具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,并结合近期的学习过程和一些参考书籍,完成了简易的电子密码锁设计学习。

电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

电子密码控制不论性能还是安全性都已大大超过了机械类结,具有良好的应用前景。

一、设计目的与内容设计了一个简易电子密码锁,可按要求从矩阵键盘输入6位数密码如“080874”,输入过程中有按键音提示。

当密码输入正确并按下确认键(“OK”键)后,发光二极管被点亮。

二、工作原理与基本操作过程介绍采用80C51为核心的单片机控制。

利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。

(1)键盘的人工编码给每个按键指定一个按键值,报告设定按键S1~S9对应的按键值分别为“1~9”,S10为数字“0”,S11为“OK”,S12~S16对应的按键值分别为12~16。

(2)根据按键值,指定每个按键对应的输入数字和信息。

如下表为每个按键代表的数字和输入信息。

当键盘扫描程序扫描到S10键被按下时,将其代表的按键值“0”通知CPU,CPU根据事先的规定,就会知道输入的数字是“0”。

矩阵键盘中每个按键所代表的数字和输入信息(3)输入数字和密码对比。

先将设定的密码用一个数组保存,报告中用的密码“080874”和“OK”确认信息可以用如下数组保存:Unsigned char D[ ]={0,8,0,8,7,4,11};在主程序接收到数字和信息后,通过逐位对比的方法进行判断。

输入的数字经对比正确时,程序才会继续顺序执行,否则,程序拒绝继续执行。

(4)执行预期功能。

如果输入密码正确,执行预期功能,报告设计为点亮P3.0口引脚LED。

三、电路图设计(Proteus绘制)四、程序设计(C语言)矩阵式键盘实现的电子密码锁程序#include<reg51.h> //包含51单片机寄存器定义的头文件sbit P14=P1^4; //将P14位定义为P1.4引脚sbit P15=P1^5; //将P15位定义为P1.5引脚sbit P16=P1^6; //将P16位定义为P1.6引脚sbit P17=P1^7; //将P17位定义为P1.7引脚sbit sound=P3^7; //将sound位定义为P3.7unsigned char keyval; //储存按键值/************************************************************** 函数功能:延时输出音频**************************************************************/ void delay(void){unsigned char i;for(i=0;i<200;i++);}/************************************************************** 函数功能:软件延时子程序**************************************************************/ void delay20ms(void){unsigned char i,j;for(i=0;i<100;i++)for(j=0;j<60;j++);}/************************************************************** 函数功能:主函数**************************************************************/ void main(void){unsigned char D[ ]={0,8,0,8,7,4,11}; //设定密码EA=1; //开总中断ET0=1; //定时器T0中断允许TMOD=0x01; //使用定时器T0的模式1TH0=(65536-500)/256; //定时器T0的高8位赋初值TL0=(65536-500)%256; //定时器T0的高8位赋初值TR0=1; //启动定时器T0keyval=0xff; //按键值初始化while(keyval!=D[0]) //第一位密码输入不正确,等待;while(keyval!=D[1]) //第二位密码输入不正确,等待;while(keyval!=D[2]) //第三位密码输入不正确,等待;while(keyval!=D[3]) //第四位密码输入不正确,等待;while(keyval!=D[4]) //第五位密码输入不正确,等待;while(keyval!=D[5]) //第六位密码输入不正确,等待;while(keyval!=D[6]) //没有输入“OK”,等待;P3=0xfe; //P3.0引脚输出低电平,点亮LED}/**************************************************************函数功能:定时器0的中断服务子程序,进行键盘扫描,判断键位**************************************************************/void time0_interserve(void) interrupt 1 using 1 //定时器T0的中断编号为1,使用第一组寄存器{unsigned char i;TR0=0; //关闭定时器T0P1=0xf0; //所有行线置为低电平“0”,所有列线置为高电平“1”if((P1&0xf0)!=0xf0) //列线中有一位为低电平“0”,说明有键按下delay20ms(); //延时一段时间、软件消抖if((P1&0xf0)!=0xf0) //确实有键按下{P1=0xfe; //第一行置为低电平“0”(P1.0输出低电平“0”)if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”keyval=1; //可判断是S1键被按下if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”keyval=2; //可判断是S2键被按下if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”keyval=3; //可判断是S3键被按下if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”keyval=4; //可判断是S4键被按下P1=0xfd; //第二行置为低电平“0”(P1.1输出低电平“0”)if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”keyval=5; //可判断是S5键被按下if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”keyval=6; //可判断是S6键被按下if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”keyval=7; //可判断是S7键被按下if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”keyval=8; //可判断是S8键被按下P1=0xfb; //第三行置为低电平“0”(P1.2输出低电平“0”)if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”keyval=9; //可判断是S9键被按下if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”keyval=0; //可判断是S10键被按下if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”keyval=11; //可判断是S11键被按下if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”keyval=12; //可判断是S12键被按下P1=0xf7; //第四行置为低电平“0”(P1.3输出低电平“0”)if(P14==0) //如果检测到接P1.4引脚的列线为低电平“0”keyval=13; //可判断是S13键被按下if(P15==0) //如果检测到接P1.5引脚的列线为低电平“0”keyval=14; //可判断是S14键被按下if(P16==0) //如果检测到接P1.6引脚的列线为低电平“0”keyval=15; //可判断是S15键被按下if(P17==0) //如果检测到接P1.7引脚的列线为低电平“0”keyval=16; //可判断是S16键被按下for(i=0;i<200;i++) //让P3.7引脚电平不断取反输出音频{sound=0;delay();sound=1;delay();}}TR0=1; //开启定时器T0TH0=(65536-500)/256; //定时器T0的高8位赋初值TL0=(65536-500)%256; //定时器T0的高8位赋初值}五、用Proteus软件进行仿真利用Keil软件进行编译通过后,生成hex文件。

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

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

基于51单片机电子锁设计摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。

本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。

根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。

而且采用键盘输入的电子密码锁具有较高的优势。

采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。

软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。

测试结果表明,本系统各项功能已达到本设计的所有要求。

关键词:单片机;密码锁;单片机设计,电子锁。

Electronic Lock Design with 51 Serires Single Chip ControllerAbstractAlong with the exaltation of social science and the living level of people, how carry out the family to guard against theft, this problem also change particularly outstanding.Because of the simple construct of traditional machine lock,the affairs of theft is hackneyed.the electronics lock is safer because of its confidentiality, using the vivid good, the safe coefficient is high, being subjected to the large customer close.It can carry out the key information to register in the main on board initial attestation, the password information encrypt etc. Go to correspond by letter the principle according to the string between 51 machines, this is easy to encrypt and protect to the passwords information random. Adopt the numerical signal codes,not only can carry out many controls of the road information, raise the anti- interference that signal deliver, reduce the mistake action,but also the power consume is low, Respond quickly,the efficiency deliver is high, work stable credibility etc. The software design adoption the design thought from top to bottom, to make the system toward wear distribute type,turn to the direction development of small, strengthen the system and can expand the stability and circulate.Test the result enunciation, various functions of this system are already all request of this design.keyword:singlechip;cryptogram lock;singlechip design; electronics lock.目录1 绪论 (1)1.1 引言 (1)1.2 电子密码锁的背景 (1)1.3 电子锁设计的意义的本设计特点 (2)2.系统设计 (3)2.1系统总设计结构图 (3)2.2.开锁机构设计 (3)2.2.1主控芯片AT89C51单片机的简介 (4)3系统硬件设计 (6)3.1键盘设计 (6)3.2系统电路设计: (8)3.2.1 晶振时钟电路 (8)3.2.2复位电路设计 (8)3.2.3串口引脚功能介绍 (8)3.2.4 其它引脚 (9)3.3电路图的绘制 (9)3.3.1 PROTEL 99 SE简介: (12)3.4原器件采购 (14)3.5电路焊接 (14)4.软件设计 (17)4.1 系统软件设计整体思路 (17)4.2系统软件设计流程图 (18)5 程序调试 (19)5.1 程序调试用到的软件及工具 (19)5.2 KEIL C51简介 (19)5.3 调试过程 (19)6 设计总结与展望 (22)致谢 (23)参考文献 (24)附录 (25)1 绪论1.1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。

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

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

目录1.设计的目的和意义1.1 设计的目的 (1)1.2设计内容 (1)1.3设计要求 (1)2.硬件电路设计2.1 总体方案设计 (1)2.2 硬件电路图 (1)3.系统软件设计3.1.密码的设定 (2)3.2.密码的输入 (2)3.3.密码的判断与处理 (3)3.4. 原程序清单 (3)3.5. 程序流程图 (5)4.电路调试4.1.调试过程 (7)参考文献 (8)1.设计的目的和意义1.1 设计的目的:(二级标题和正文为小四号宋体,行距为固定值20磅)(1).根据要求设计PC机的控制电路和程序(2).熟悉模拟实验线路(3).掌握程序的系统调试1.2 设计的内容:(1).密码的设定:在此程序中密码是由我们自己设定的,通过两个按键将三位分别密码保存在20H,21H,22H单元当中。

(2).密码的输入:两个按键来完成密码的输入,其原理和密码设定是一样的,不过就是将他们存贮的单元做了改变,将其分别放入10H,11H,12H单元中。

当完成密码的输入过程。

进入密码的判断比较处理状态并给出相应的处理过程。

(3).密码的判断与处理:先将设定的密码20H单元的值与后来用户输入的密码10H单元中的值进行比较,如果正确就进行下一单元的比较,不正确则跳转到计数子程序计数。

如果计数到三次就跳转到喇叭鸣叫子程序。

1.3 设计要求:先用两个按键设定好3个初始密码,再采用二个按键实现3个密码的输入功能,当密码输入正确之后,锁就打开,相应的LED灯亮。

如果输入的三次的密码不正确,就立即引发报警声。

2.硬件电路设计:2.1.电路的连接:(1).将8051的P1.0和P1.1口分别接到两个开关上.(2).将P1.2口和P1.4口分别接到不同颜色的LED灯上.(3).将P1.3口接到喇叭口.2.2.电路硬件图:3.系统软件设计:设计思路如下:3.1---3.33.1.密码的设定:在此程序中密码是由我们自己设定的,通过两个按键将三位分别密码保存在20H,21H,22H单元当中。

51单片机四位密码锁课程设计

51单片机四位密码锁课程设计

51单片机四位密码锁课程设计51单片机四位密码锁是一种常见的电子锁,它使用51单片机作为控制核心,通过输入四位密码来控制锁的开关。

本文将介绍关于51单片机四位密码锁的课程设计。

我们需要明确设计的目标和要求。

本设计的主要目标是实现一个四位密码锁系统,并且需要满足以下要求:1.能够输入四位数字密码。

2.密码输入正确时,能够解锁并输出解锁信号。

3.密码输入错误时,不能解锁。

4.能够重置密码。

接下来,我们将详细介绍设计的步骤和实现。

1.硬件设计:在硬件设计方面,我们需要准备以下器件:- 51单片机-数码管显示模块-按键模块-继电器模块-电源模块2.软件设计:在软件设计方面,我们需要编写51单片机的程序,通过编程实现密码锁的功能。

以下是设计的主要步骤:-初始化:设置输入输出引脚,并初始化时钟和数码管显示。

-输入密码:设计密码输入的函数,通过按键模块获取用户输入的密码。

-检验密码:设计密码检验的函数,将用户输入的密码与预设的密码进行比对。

-解锁信号:如果密码输入正确,输出解锁信号,通过继电器控制开关,实现解锁。

-密码错误:如果密码输入错误,通过数码管显示密码错误的提示信息。

-重置密码:设计密码重置的函数,将新设置的密码保存。

3.程序流程:根据以上设计的步骤,我们可以得到以下主要的程序流程:-初始化引脚和时钟。

-设置初始密码。

-进入主程序循环。

-接收用户输入的密码。

-检验密码是否正确。

-如果密码正确,显示解锁信号并控制继电器解锁。

-如果密码错误,显示密码错误信息。

-进入下一次循环。

4.调试和测试:完成程序编写后,我们需要进行调试和测试。

在测试过程中,我们需要输入正确和错误的密码进行验证,检查程序是否能够正常运行,并且能够正确判断和处理用户输入的情况。

5.优化改进:如果在测试中发现问题或不足之处,我们可以对程序进行优化和改进。

例如,可以增加密码输入的最大尝试次数,增加延时等待时间,增加密码保护等功能。

总结:通过对51单片机四位密码锁的课程设计,我们学习了如何使用51单片机编写程序,实现密码锁的功能。

基于51单片机的密码锁设计报告

基于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口,如果仍为低,说明按键的确按下了,这实际上是避开了按键按下时的抖动时间。

51单片机电子密码锁报告

51单片机电子密码锁报告

信息工程学院51单片机的密码锁控制器的设计实验报告专业:电气工程及其自动化班级:10040921基于51单片机的密码锁控制器设计一、设计目的:要求设计的电子密码锁的密码用键盘上的数字按键产生的6位数字码构成的密码。

如果输入密码正确开锁(发光二极管量),如果密码不正确,发出报警信号。

二、实验要求:1、显示位数:6位密码显示2、键盘设置密码三、设计方案:本设计包括矩阵键盘接口电路、密码锁的控制电路和输出显示电路等三部分。

键盘部分包括键盘扫描时序产生电路;键盘扫描;弹跳消除;键盘译码;按键存储。

程序控制包括数字按键的数字输入;存储及清除;功能按键的功能设计;移位寄存器的设计与控制;密码清除、变更、存储;激活开锁电路;密码核对;解除电锁电路。

输出显示电路的设计包括:数据选择;BCD对显示译码;七段显示扫描。

(1)密码数据输入:每按一个数字键,在显示器上显示一个“-”最多可设置6位密码。

(2)密码设置:每按一个数字键,就输入一个数值,并在显示器上的最右方显示出该数值,并将先前已经输入的数据依序左移一个数字位置。

注意:密码设置必须是在开锁状态下设置。

(3)数码清除:按下此键可清除前面所有的输入值,清除成为“000000”。

(4)密码更改:按下此键时将目前的数字设定成新的密码。

(5)激活电锁:按下此键可将密码锁上锁。

(6)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。

(7)密码错误:声光报警四、实验电路及连线:1、实验接线2、LED电平显示电路实验仪上装有8只发光二极管及相应驱动电路。

见下图,L0―L7为相应发光二极管驱动信号输入端,该输入端为高电压电平“1”时发光二极管点亮。

我们可以通过P1口对其直接进行控制,点亮或者熄灭发光二极管。

LED电平显示电路3、键盘及LED显示电路键盘和LED显示的地址译码见下图,做键盘和LED实验时,需要将KEY/LED CS接到相应的地址译码上。

位码输出的地址为0X002H,段码输出的地址为0X004H,键盘行码读回的地址为0X001H,此处X是由KEY/LED CS决定,参见地址译码。

51电子密码锁课程设计

51电子密码锁课程设计

51电子密码锁课程设计一、课程目标知识目标:1. 理解电子密码锁的基本原理,掌握相关电子元件的功能与连接方式;2. 学会编写简单的程序控制51单片机实现密码锁功能;3. 了解信息安全的基本概念,认识到密码学在电子密码锁中的应用。

技能目标:1. 能够独立设计并搭建一个51电子密码锁电路;2. 掌握51单片机的编程技巧,通过实践操作完成密码锁程序的编写;3. 学会运用所学知识解决实际问题,具备一定的创新能力和动手能力。

情感态度价值观目标:1. 培养学生对于电子技术、编程技术和信息安全的兴趣,激发学习热情;2. 培养学生的团队协作意识,提高沟通与交流能力;3. 增强学生的信息安全意识,培养良好的信息安全素养。

本课程针对中学生设计,结合学生特点,注重实践操作和创新能力培养。

课程内容与教材紧密关联,旨在帮助学生掌握电子密码锁相关知识,提高实际操作能力,同时培养情感态度价值观,为学生的全面发展奠定基础。

后续教学设计和评估将围绕课程目标进行,确保教学效果。

二、教学内容1. 电子密码锁基本原理:介绍电子密码锁的工作原理,分析锁体结构、密码输入与处理过程;- 教材章节:第二章 电子技术与传感器2. 51单片机及其外围电路:学习51单片机的结构、功能及应用,掌握相关外围电路的连接方法;- 教材章节:第三章 单片机原理与应用3. 编程控制51单片机:学习51单片机的编程语言和编程技巧,编写实现密码锁功能的程序;- 教材章节:第四章 单片机编程与控制4. 电子密码锁电路设计与搭建:根据原理图,设计并搭建51电子密码锁电路;- 教材章节:第五章 电子电路设计与实践5. 信息安全与密码学:介绍信息安全的基本概念,学习密码学在电子密码锁中的应用;- 教材章节:第六章 信息安全与密码学6. 实践操作与创新能力培养:通过实践操作,巩固所学知识,培养学生的创新能力和动手能力;- 教材章节:实践活动教学内容安排和进度:第1周:电子密码锁基本原理学习;第2周:51单片机及其外围电路学习;第3周:编程控制51单片机;第4周:电子密码锁电路设计与搭建;第5周:信息安全与密码学;第6周:实践操作与创新能力培养。

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

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

基于单片机的电子密码锁设计摘要随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。

在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。

本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E²PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。

它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。

用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。

本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。

关键词:电子密码锁;报警;液晶显示Design of Electric Password Lock Based on MCUAbstractAs people's living standards improve, the question how to achieve home security has become particularly prominent. In science and technology is developing continuously, electronic code lock as a security guard's role is increasingly important.This article from the economical point of view, the system by the STC89C52 with low power CMOS based E ² PROM AT24C02 as the master chip and the data memory unit, combined with the external keyboard, LCD display, alarm, unlock and other circuit modules. It performs the following functions: enter the password correctly under the premise of unlocking; wrong password case the alarm; password can be changed according to user needs. Master in C language control program and EEPROM AT24C02 chip to read and write process are combined and compiled with the Keil software, designed a number you can change the password, the password with an electronic alarm control system.The lock has a reasonable design, simple, low cost, safe and practical, confidentiality, flexibility, and high, with some promotional value.Key Words:Electric Password lock;Alarm; LCD Display目录引言 (8)第1章绪论 (9)1.1 电子密码锁的背景与研究意义 (9)1.2电子密码锁的现状及发展趋势 (9)1.3本章小结 (11)第2章系统整体方案设计 (12)2.1 设计目标 (12)2.2 主控部分的选择 (12)2.3 密码输入方式的选择 (12)2.4 本章小结 (13)第3章硬件系统设计 (14)3.1系统芯片介绍 (14)3.1.1单片机STC89C52功能介绍 (14)3.1.2 LCD1602显示器介绍 (15)3.1.3存储芯片AT24C02介绍 (16)3.1.4 I2C总线介绍 (16)3.2 硬件电路设计 (18)3.2.1 复位电路 (18)3.2.2 晶振电路 (19)3.2.3存储电路 (19)3.2.4 键盘输入电路 (20)3.2.5 显示电路 (21)3.2.6 电源输入电路 (22)3.2.7 报警电路 (22)3.2.8 开锁电路 (23)3.3 本章小结 (24)第4章软件程序设计 (25)4.1 主程序流程图 (25)4.2 按键软件设计 (25)4.2.1 按键功能程序流程图 (25)4.2.2 按键功能子程序 (26)4.3 密码设置软件设计 (27)4.3.1 密码设置程序流程图 (27)4.3.2 密码设置子程序 (28)4.4 开锁软件设计 (28)4.4.1 开锁程序流程图 (28)4.4.2 开锁功能子程序 (29)4.5 本章小结 (30)第 5 章系统仿真、调试及结论 (31)5.1 Proteus软件简介 (31)5.2 进入Proteus ISIS (31)5.3 工作界面 (31)5.4 各模块的电路图及说明 (33)5.4.1 电子密码锁系统主模块AT89C51单片机 (33)5.4.2 电子密码锁系统的键盘模块 (34)5.4.3 电子密码锁系统的显示模块 (34)5.4.4 电子密码锁系统的晶振复位电路 (35)5.4.5电子密码锁系统的掉电存储及报警电路 (35)5.4.6 电子密码锁系统的开锁电路 (35)5.4 本章小结 (36)结论与展望 (37)致谢 (38)参考文献 (39)附录A 密码锁电路原理图 (40)附录B 一篇引用的外文文献及其译文 (41)附录C 主要参考文献的题录及摘要 (47)附录D 主要C语言源程序 (49)插图清单图2- 1系统整体设计框图 (12)图3- 1 STC89C52引脚分布图 (14)图3- 2 AT24C02引脚图 (16)图3- 3开始结束信号图 (17)图3- 4复位电路原理图 (19)图3- 5晶振电路原理图 (19)图3- 6掉电存储电路原理图 (20)图3- 7键盘输入原理图 (21)图3- 8显示电路原理图 (22)图3- 9电源输入电路原理图 (22)图3- 10报警电路原理图 (23)图3- 11密码锁开锁机构示意图 (23)图3- 12开锁电路原理图 (24)图4- 1主程序流程图 (25)图4- 2按键功能流程图 (26)图4- 3密码设置流程图 (27)图4- 4开锁流程图 (29)图5- 1 Proteus启动时的屏幕 (31)图5- 2 Proteus ISIS的工作界面 (32)图5- 3 Proteus运行按键 (32)图5- 4 Proteus仿真图 (33)图5- 5 STC89C52单片机引脚图 (33)图5- 6键盘输入模块 (34)图5- 7密码显示模块 (34)图5- 8晶振及复位电路 (35)图5- 9掉电存储及报警电路 (35)图5- 10开锁电路 (36)表格清单表3-1 LCD1602引脚接口说明表 (8)表3-2 LCD1602基本操作程序 (15)引言在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工具,目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安文理学院机械电子工程系专业课程设计报告专业班级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功能键。

)。

除上述基本的密码锁功能外,依据实际的情况还可以添加遥控功能。

本系统成本低廉,功能实用。

关键词:AT89C51;LCD1602;电子密码锁;4×4矩阵键盘目录1.设计目的 (1)1.1、课题背景和意义 (1)1.2、电子密码发展趋势 (1)2.总体设计方案 (1)2.1、设计目标 (2)2.2、课题方案的选定 (2)3.系统的硬件组成和原理 (2)3.1、单片机AT89C51的简介 (2)3.2、系统的硬件组成 (3)3.2.1、最小系统的设计 (3)3.2.2、芯片擦除 (4)3.2.3、开锁机构 (4)3.2.4、键盘设计 (5)3.2.5、显示电路的设计 (6)3.3、系统设计总图 (7)4.系统软件设计 (7)4.1、系统软件方框图 (7)4.2、键盘扫描及识别子程序 (8)4.3、密码设置子程序 (10)5.系统调试 (10)5.1、程序调试 (10)5.2、电路仿真调试 (12)总结 (14)致谢 (14)参考文献 (14)附录Ⅰ电路总图 (15)附录Ⅱ程序清单 (16)1.设计目的1.1、课题背景和意义伴随着现在电子技术和科学技术的快速发展,随着单片机性能不断完善,性能价格比也随着显著提高,技术日趋完善。

由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因此在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。

本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高大学生对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。

同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。

随着科技水平的提高和人们安全意识的加强,对安全和个人的隐私的要求也就越来越高。

机械锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。

伴随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。

据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。

这种锁是通过键盘输入一组密码完成开锁过程。

研究这种锁的初衷,就是为提高锁的安全性。

由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。

电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。

1.2、电子密码发展趋势现在,电子密码锁使用于各个领域,尤其在国民建设,和军事领域具有突出贡献。

现在的密码锁内的信息包括了数字、字符、图形图像、人体生物特征和时间等,对电子锁的要求也越来越高。

电子技术必是各国发展的优先技术。

由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈”。

组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。

2.总体设计方案2.1、设计目标(1)本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号。

(2)设计开锁密码位六位密码的电子密码锁。

(3)能够LCD显示在密码正确时显示PASSWORD OK,密码错误时显示PASSWORD ERRO输入密码时显示INPUT PASSWORD。

(4)实现输入密码错误超过限定的三次电子密码锁定。

(5)4×4的矩阵键盘其中包括0-9的数字键和A-F的功能键(6)本产品具备报警功能,当输入密码错误时蜂鸣器响并且LED灯亮。

(7)密码可以由用户自己修改设定(只支持6位密码),修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。

2.2、课题方案的选定采用一种是用以AT89C51为核心的单片机控制方案。

选用单片机AT89C51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。

在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。

3.系统的硬件组成和原理3.1、单片机AT89C51的简介AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

与MCS-51 兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路图3.1单片机引脚图3.2、系统的硬件组成3.2.1、最小系统的设计当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

根据应用的要求,复位操作通常有两种基本形式:上电复位和开关复位。

图3.3即为手动(开关)复位电路。

图3.2手动复位电路a、复位后PC值为0000H,表明复位后的程序从0000H开始执行。

b、SP值为07H,表明堆栈底部在07H,一般需要重新设置SP值。

c、P0~P3口值为FFH。

P0~P3口用作输入口时,必须先写入“1”。

单片机在复位后,已使P0~P3口每一端线为“1”,为这些端线用作输入口做好了准备。

AT89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。

这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见下图。

外接石英晶体(或陶瓷谐振器)及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。

对外接电容Cl、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。

如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。

用户也可以采用外部时钟。

采用外部时钟的电路如图1所示。

这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。

由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。

图3.3晶振电路3.2.2、芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE 管脚处于低电平10ms 来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

3.2.3、开锁机构用户通过LCD提示信息,用键盘输入正确密码,从而达到开锁的目的。

当用户输入的密码正确并且是在按下确定键的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。

电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。

在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。

图3.4开锁电路3.2.4、键盘设计本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。

每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。

在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。

相关文档
最新文档