51单片机简易密码锁
简易电子密码锁(基于51单片机)报告
![简易电子密码锁(基于51单片机)报告](https://img.taocdn.com/s3/m/e8fd2c7e8e9951e79b892793.png)
简易电子密码锁设计&我的设计思想联想到日前在安全技术防范领域,具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,并结合近期的学习过程和一些参考书籍,完成了简易的电子密码锁设计学习。
电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
电子密码控制不论性能还是安全性都已大大超过了机械类结,具有良好的应用前景。
一、设计目的与内容设计了一个简易电子密码锁,可按要求从矩阵键盘输入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单片机简易密码锁](https://img.taocdn.com/s3/m/426b861189eb172dec63b71d.png)
51单片机简易密码锁学号:201114040215HEBEI UNITED UNIVERSITY单片机课程设计说明书设计题目:简易电子密码锁学生姓名:李红辉专业班级:测控技术及仪器2学院:电气工程学院指导教师:曹晓华2014年06月05日成绩评定表AbstractIn daily life and work, the department of housing and security, unit documents, financial statements and some personal information to save more in order to lock the ways to solve. If use the traditional mechanical key to open the lock, people often need to carry multiple keys, use very convenient, and the key missing after security is compromised. With the continuous development of science and technology, people in daily life the demand is higher and higher safety insurance device. To meet the requirements of people on the use of the lock, increase its safety, use the password instead of the key combination lock arises at the historic moment. Combination lock with high safety, low cost, low power consumption, easy operation, etc.In the field of security technology to guard against, with electronic combination lock anti-theft alarm function gradually replace the traditional mechanical combination lock, overcoming the mechanical combination lock password quantity is little, the shortcomings of poor safety performance, make the combination lock both in technology and step in performance are improved greatly. With the development of large scale integrated circuit technology, especially the single chip microcomputer, appeared with the intelligent combination of the microprocessor, it besides has the function of electronic combination lock, also introduced the intelligent management, expert analysis system, and other functions, so that the combination lock of high security, reliability, and increasingly widely used.The course design of electronic combination lock based on MCU is introduced, the design of the hardware is mainly composed of AT89C52 minimum system, matrix circuit, 1602 LCD display circuit, power circuit and alarm circuit and so on several parts. Software is mainly composed of C language programming. The combination lock by the single chip microcomputer technology, through the matrix circuit setting, change passwords, passwordprotection, and by the LCD display password input, so as to realize the password Settings, protection.Key words: single chip microcomputer, trick lock, the 1602, the smallest system, matrix keyboard目录摘要 ............................................................................................ 错误!未定义书签。
基于51单片机的电子密码锁
![基于51单片机的电子密码锁](https://img.taocdn.com/s3/m/e466aada4028915f804dc271.png)
电子密码锁一、工作原理本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O 线的数目,在按键比较多的时候,通常采用这样方法。
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N ×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
4×4矩阵键盘的工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5所示。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。
由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
扫描原理把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。
由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让8051误判为多次输入同一按键,我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。
利用51单片机设计一个用16个按键输入,6位数字输出显示的电子时钟。
如图1-1所示。
图1-1按键分布图具体要求和按键功能介绍如下:1. 上电后,6 位数码管显示“—”;2. 设置6 位密码,密码通过键盘输入,按“确定”键确认,如密码正确,将锁打开;3. 密码由用户自己设定,若密码正确即锁被打开,则指示灯被点亮;4. 若密码1 次输入错误,则报警;5. 按Set 键,修改密码;6. 按Cle 键可清除已输入的密码,重新进行输二、系统硬件组成本次设计的主要有键盘,数码管,STC89C52芯片,以及LED灯。
基于51单片机的电子密码锁—1
![基于51单片机的电子密码锁—1](https://img.taocdn.com/s3/m/a60b9a95b8d528ea81c758f5f61fb7360b4c2b00.png)
基于51单⽚机的电⼦密码锁—1这个程序是为了实现基于51单⽚机的电⼦密码锁,⽬前,程序解决了最重要之⼀的输⼊的密码和保存的正确密码相⽐较的问题。
通过定义了两个数组:uchar table2[6]; //临时密码保存uchar password[6]="123456"; //进门密码将输⼊的密码写⼊到table2[]中有⼀点需要特别注意:因为我写到table2[]数组内的是ASCII值的0-9,⽽ASCII值的0-9对应的符号却是NUT,SOH... (省略)所以在刚开始调试时,LCD1602屏幕输出的总是奇怪的字符,⽽不是我想要的0-9,通过查询ASCLL码表可以知道字符(0-9)对应的数值是48-57,所以我通过定义了⼀个新的数组,uchar smgduan[10]={48,49,50,51,52,53,54,55,56,57};以及lcd_write_data(smgduan[table2[i]]);的⽅式,实现了在LCD上输出字符0-9的功能。
在最后做两个数组⽐较时,开始同样出现了这个情况,因为数字1和字符1对应的ASCII值不同,所以password[i]不等于table2[i],需要进⾏转换,我的⽅式的是password[i]==smgduan[table2[i]];罗⾥吧嗦这个多,主要还是给未来的⾃⼰看看,当初犯得错误多么低级。
---------------------------------------------------分割线-----------------------------------------------------------------------------------下⼀版改进考虑把重复按键选择数字改成矩阵按键,加进些其他的功能。
---------------------------------------------------分割线-----------------------------------------------------------------------------------程序部分:/*这个⽅案是我写基于51单⽚机的电⼦密码锁过程中,未完成全部功能的程序。
基于51单片机简易密码锁设计
![基于51单片机简易密码锁设计](https://img.taocdn.com/s3/m/4b297fff227916888586d7d3.png)
易密码锁设计摘要:本设计以单片机STC89C52RC作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。
根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。
而且采用键盘输入的电子密码锁具有较高的优势。
采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。
软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。
测试结果表明,本系统各项功能已达到本设计的所有要求。
关键词:单片机;智能密码锁;串行通信The Design Of The Simple Password LockAbstract: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.Key Words : singlechip; intelligent password lock; Serial communication;目录概述 (1)1 设计目标 (1)2硬件设计与原理 (2)2.1 设计总框图 (2)2.2 硬件设计分析 (2)2.2.1 电源的设计 (2)2.2.2 单片机最小系统 (3)2.2.3 显示系统 (8)2.2.4 矩阵按键模块 (8)2.2.5 蜂鸣器和指示灯电路 (9)3软件设计与分析 (9)3.1 软件设计的组成 (9)3.2 各部分软件分析 (9)3.2.1 延时子函数 (9)3.2.2 矩阵键盘扫描子函数 (10)3.2.3 检验密码正误子函数 (10)3.2.4锁定,鸣笛程序 (11)3.2.5显示子程序 (11)4软件仿真 (14)4.1 PROTEUS简介 (14)4.2仿真图 (15)总结 (19)参考文献 (20)致谢 (28)附录 (29)述随着人们生活水平的提高,传统的机械锁由于其构造的简单,被撬开的事件屡见不鲜,电子锁保密性高,能够防止不法分子多次试探密码;性价比高,因此,电子锁受到了广大的亲昵。
51单片机电子密码锁报告
![51单片机电子密码锁报告](https://img.taocdn.com/s3/m/579c010716fc700abb68fca9.png)
信息工程学院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单片机的电子密码锁设计与应用研究](https://img.taocdn.com/s3/m/da92cbe6f424ccbff121dd36a32d7375a417c69a.png)
基于51单片机的电子密码锁设计与应用研究基于51单片机的电子密码锁设计与应用研究摘要:随着科技的不断发展,电子密码锁在我们的日常生活中被广泛应用。
本文以51单片机为核心,对电子密码锁进行了设计与研究。
通过对电子密码锁的原理、组成部分及其在实际应用中的优点进行了探讨,并详细介绍了设计过程和程序实现。
利用51单片机的高性能、低功耗和强大的扩展性,成功实现了电子密码锁的设计与应用。
实验结果表明,该电子密码锁具有良好的安全性和可靠性,可以满足人们对安全性的需求。
关键词:51单片机;电子密码锁;设计;应用;安全性引言随着信息技术和智能化的快速发展,电子密码锁作为一种安全可靠的门禁控制系统,已经在社会生活中得到广泛应用。
相比于传统的钥匙锁而言,电子密码锁具有更高的安全性、更方便的使用特点,成为现代化社会安全管理的重要组成部分。
51单片机作为一种常用的微控制器,具有高性能、低功耗、价格经济等优点,因此被广泛应用于电子密码锁的设计和研究中。
本文旨在通过基于51单片机的电子密码锁的设计与应用研究,探讨电子密码锁的工作原理、设计流程和实现方法,并对其在实际应用中的优势进行分析。
一、电子密码锁的原理与组成部分电子密码锁是一种基于数字电子技术的门禁控制系统,主要由输入模块、控制模块和输出模块组成。
1. 输入模块:输入模块主要用于输入开锁密码。
一般来说,输入模块可以使用按键、密码键盘、触摸屏等方式。
在本设计中,我们选择了密码键盘作为输入模块。
2. 控制模块:控制模块主要负责接收输入的密码并进行处理,判断是否正确并控制锁的开关状态。
51单片机就是一个常用的控制模块。
3. 输出模块:输出模块用于将控制模块的指令转化为实际操作,控制锁的开关或者报警功能。
一般来说,输出模块可以使用电磁铁、继电器、蜂鸣器等设备。
在本设计中,我们采用了电磁铁作为输出模块。
二、电子密码锁的设计过程1. 硬件设计电路连接:将密码键盘的输出与51单片机的输入口相连,将电磁铁与51单片机的输出口相连。
基于51单片机多功能电子密码锁
![基于51单片机多功能电子密码锁](https://img.taocdn.com/s3/m/fb7e71c2941ea76e58fa04c4.png)
#include <reg52.h>#define uint unsigned int#define uchar unsigned char#define KEY P3 //键盘输入端口#define No_key 20 //无按键时的返回值#define lcddata P2 //1602的数据输入端口sbit lcden= P1^2。
sbit lcdrs= P1^0。
sbit lcdrw= P1^1。
sbit light= P1^3。
sbit light1= P1^4。
uchar j 。
//用来统计输入个数的全局变量uchar aa。
//用来在定时器中计数的全局变量uchar code table[]= " Hello!"。
uchar code table1[]=" OK! " 。
uchar code table2[]="Enter please:" 。
uchar code key_table[16] ={1,2,3,10,4,5,6,11,7,8,9,12,0,13,14,15}。
uchar password[]={2,0,1,0,9,3} 。
//设定初始密码uchar save[6]。
//保存输入的数据uchar conflag 。
//确认标志uchar lockflag。
//锁键盘标志uchar startflag。
//开始标志void delay(uint z>。
//延时子函数void wright_com(uchar com>。
//写指令函数void wright_data(uchar date> 。
//写数据函数void init(>。
//初始化void display_OK(>。
// 显示OKvoid delete(>。
//删除输入的最后一个数uchar keyscan(> 。
基于51单片机电子密码锁设计讲解
![基于51单片机电子密码锁设计讲解](https://img.taocdn.com/s3/m/f3b98ee09ec3d5bbfd0a74e7.png)
一、设计目的1.1课题简介如何实现防盗是很多人关心的问题,传统的机械锁由于其构造简单,被撬的事件屡见不鲜,使人们的人身及财产安全受到很大威胁。
电子密码锁是一种依靠电子电路来控制电磁锁的开与闭的装置,开锁需要输入正确密码,若密码泄露,用户可以随时更改密码。
因此其保密性高,使用灵活性好,安全系数高,可以满足广大用户的需要,现在广泛使用的有红外遥控电子密码锁,声控密码锁,按键密码锁等。
1.2课题研究目的本设计是一种基于单片机的密码锁方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。
现在很多地方都需要密码锁,电子密码锁的性能和安全性大大超过了机械锁,为了提高密码的保密性,必须可以经常更改密码,以便密码被盗时可以修改密码。
本次设计的密码锁具备的功能:LED数码管显示初始状态“——————”,用户通过键盘输入密码,每输入一位密码,LED数码管相应有一位变为“P”,若想重新输入密码,只需按下“CLR”键。
密码输入完毕后按确认键“#”,密码锁控制芯片将输入的密码与密码锁控制芯片中存储的密码相比,若密码错误,则不开锁,会有红灯亮提示,同时显示“Error”。
若正确,则开锁,会有绿灯亮提示,同时显示“PASS”。
用户可以根据实际情况随意改变密码值或密码长度,密码输入正确后可以按下“CHG”修改密码,输入新密码时每输入一位新密码相应有一位变为“H”,以便提示用户此时输入的是新密码,修改新密码时若想重新输入新密码只需按下“CLR”键即可。
输入新密码后按确认键即修改成功,新密码写入单片机内部RAM中,以便以后用来确认密码的正确性。
按下复位键,系统恢复初始状态,密码也恢复初始密码,本设计中初始密码是“096168”。
本次设计中硬件主要由我完成,软件主要由张振完成。
二、硬件设计2.1概述本系统主要由单片机最小系统、电源电路、输入键盘电路、输出显示电路、开锁电路等组成,系统框图如图1所示:图1 系统框图 2.2最小系统1.单片机:单片机最小系统包括单片机、晶振电路、复位电路等,最小系统是整个系统的核心部分,也是设计中首先应该设计的部分,其中单片机的选择直接决定着之后整个设计应该如何进行, 因为我们刚刚学完单片机,学习时是以MCS-51单片机为主的,对51系列单片机最熟悉,因此决定选用51系列单片机, 51系列单片机中Atmel89C51应用最为广泛,且价格较低,性能完全能满足本次设计,因此决定选用AT89C51芯片。
51单片机密码锁程序
![51单片机密码锁程序](https://img.taocdn.com/s3/m/8debc74cfe4733687e21aaf2.png)
sbit beep=P2^0; //蜂鸣器,低电平叫
sbit red=P2^1; //红灯,低电平亮
sbit close=P2^7; //锁合指示灯,黄色。低电平亮
1 2 3 确定
0
---------------------------------------------------------------------------------------------------------------------------------------------------------*/
初始密码为四位,1,2,3,4 如果想修改密码的长度,可将程序中的密码长度4改为你想设置的长度值
初始密码1,2,3,4也可在函数init_main()函数中修改
密码锁上电后,锁合灯亮,初始密码为1,2,3,4 。
当输入的四位密码按确定键后,密码正确时锁开灯亮,锁合灯灭。当不正确时,锁合灯继续亮,蜂鸣器短报警
pwflag = 0; // 密码标志先置为0
last_pwflag=0;
close=0; //锁合灯亮,其它灯灭
delay();
red=1;
delay();
delay();
delay();
delay();
red=0;
delay();
delay();
delay();
delay();
red=1;
}
//快闪红灯,重新输入自定义密码
void flashred_S(void)
case 0xdb: return 8;break;
51单片机设计电子锁密码锁含代码
![51单片机设计电子锁密码锁含代码](https://img.taocdn.com/s3/m/04b0d210650e52ea551898fb.png)
电子锁设计报告一,实验目的1. 学习8051定时器时间计时处理,键盘扫描及LED数码管显示的设计方法。
2. 设计任务及要求利用实验平台上8个LED数码管,设计带有报警功能的可掉电保存的电子密码锁。
3.通过本次实验,加强对所学知识的理解,增强编程能力及实践能力。
二,实验要求A.基本要求:1:用4×4矩阵键盘组成0-9数字键及确认键和删除键。
2:可以自行设定或删除8位密码,能够掉电保存。
3:用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。
4:自由发挥其他功能.5:要求有单片机硬件系统框图,电路原理图,软件流程图B.拓展部分:无三,实验基本原理单片机密码锁是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点。
本系统考虑到单片机密码锁成本及体积因素,在设计单片机密码锁部分时,以AT89S52单片机为核心,24C04、LED等构成外围电路。
本系统单片机密码锁硬件部分结构简单、成本低,软件部分使用电子加密提高锁的安全性,具有比较好的市场前景。
同时,由于本电子密码锁可以实现掉电保存,而且可以自行设计或者删除8位密码,所以具有较高的实用价值。
本密码锁采用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led 发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led 发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。
此项功能方便用户使用。
基于51单片机的电子密码锁---毕业论文
![基于51单片机的电子密码锁---毕业论文](https://img.taocdn.com/s3/m/ce7a60fa192e45361166f533.png)
目录摘要........................................................... I I Abstract ....................................................... I II1 绪论 (1)2 系统的总体设计和主要元器件介绍 (2)2.1 系统方案论证选择 (2)2.2 系统的总体思路设计 (3)2.3 主要元器件介绍 (3)2.3.1 AT89C51介绍 (3)2.3.2 继电器介绍 (6)2.3.3 LED数码管介绍 (7)2.3.4 矩阵键盘介绍 (7)3、硬件设计 (9)3.1 单片机主控制模块(含晶振、复位基本工作电路) (9)3.2 键盘输入模块 (9)3.3 显示模块 (10)3.4 报警模块 (11)3.5 开锁模块 (11)4、软件设计 (12)4.1 系统程序设计流程图 (12)4.2 系统程序设计 (12)5、系统仿真设计 (17)5.1 Proteus 软件介绍 (17)5.2 Proteus 仿真图 (18)总结 (19)参考文献 (20)附录 (21)致谢 (27)基于单片机的电子密码锁仿真设计摘要电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
本文以AT89C51单片机为核心器件,结合按键电路、LED数码管显示电路、报警指示电路和开锁机构,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的基本功能,其主要具有如下功能:●密码通过键盘输入,若密码正确,则将锁打开●密码输入错误,蜂鸣器将报警提示●用户可以自由设定密码本密码锁具有设计方法合理,简单易行成本低,安全实用等特点,具有一定的推广价值。
51单片机电子密码锁
![51单片机电子密码锁](https://img.taocdn.com/s3/m/916340ff844769eae109eda1.png)
目录第1节引言 .................................................... 1 .........1.1 电子密码锁述...................................... 1 ...............1.2 本设计主要任务.................................... 1 ...............1.3系统主要功能........................................ 2 ...............第2节系统硬件设计............................................. 3……2.1 系统的硬件构成及功能................................ 3 .............2.2 AT89C2051单片机及其引脚说明........................ 3 .........第3节系统软件设计............................................. 5……3.1 系统主程序设计(流程图)............................ 5 ...........3.2 软件设计思想...................................... 5 ...............3.3 储单元的分配...................................... 5 ...............3.4 系统源程序...................................... 6 ..................3.5系统应用说明........................................ 9 ...............3.6 小结............................................ 9 .....................结束语 (10)参考文献................................................................. 1 1附录..................................................................... 1 2电子密码锁第1节引言1.1 电子密码锁概述随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。
一种简单的基于51单片机的电子密码锁设计
![一种简单的基于51单片机的电子密码锁设计](https://img.taocdn.com/s3/m/260098b1700abb68a982fb55.png)
一种简单的基于51单片机的电子密码锁设计
是来自上世纪中期美国一位名叫摩尔斯的发明家,他发明了在电报传输使
用中所运用的编码,因此摩斯密码有时也称作为摩尔斯密码,它是由一个输入
按键在输入时按住时间间隔的长短来决定的:其中短促的电信号“.”读作“DI”,而
长时间保持按键不动的“-”读作“DA”,具体而言,“滴”的间隔时间为1T,“嗒”的间
隔时间为3T,“嘀嗒”的间隔时间为1T ;字母之间的间隔时间为3T,字与字之间的间隔时间为5T,下面具体列出各个字符和摩斯密码的对照表。
2.4 电路焊接
首先电路焊接所需要的工具,如下图所示
本电子密码锁的系统电路的主芯片是AT89C51, 其中包括时钟脉冲、电阻、电解电容以及由一个按键构成的复位电路,还有一个由八段数码管组成的
密码显示器以及一个蜂鸣器和五个LED 灯管,一个NPN 三极管和一个继电器,结合上面所述的驱动电路构成了此电子密码锁的系统电路。
tips:感谢大家的阅读,本文由我司收集整编。
仅供参阅!。
51单片机密码锁制作的程序和流程图
![51单片机密码锁制作的程序和流程图](https://img.taocdn.com/s3/m/06cda80666ec102de2bd960590c69ec3d5bbdb94.png)
51单片机密码锁制作的程序和流程图(很详细)、基本组成:单片机小系统+4* 4矩阵键盘+ 1 6 0 2显示+ DC电机基本电路:键盘和和显示键盘接P1 口,液晶的电源的开、关通过P2.7 口控制电机(控制口P2.4)二、基本功能描述:1.验证密码、修改密码a)锁的初始密码是123456(密码最长为10位,最短为1位)。
2.恢复初始密码a)系统可以恢复初始密码,否则一旦忘记密码而又不能恢复初始密码,该锁就永远打不开。
但是又不能让用户自行修改密码,否则其他人也可以恢复该初始密码,使得锁的安全性大大下降。
3.使系统进入低功耗状态a)在实际使用中,锁只有在开门时才被使用。
因而在大多数的时间里,应该让锁进入休眠状态、以降低功耗,这使系统进入掉电状态,可以大大降低系统功耗。
b)同时将LCD背光灯关闭4. DC电机模拟开锁动作。
a)DC电机启动时解除开锁把手的锁定,允许通过把手开锁。
DC电机不直接开锁,使得DC电机的功率不用太大,系统的组成和维护将变得简单,功耗也降了下来。
三、密码锁特点说明:1.0 输入将被以字符形式输入,最长为10位。
超过10位时系统将自动截取前10位、但不作密码长度溢出提示。
2.0 开锁10秒后不允许更改密码、并提示修改超时_进入初始态,需要重新输入密码方可再次修改密码。
3.0 系统未使用存储器存储密码故掉电后密码自动恢复为初始密码。
4.0 若2分钟内无任何操作,系统自动进入省电模式运行,同时关闭液晶显示,以节省电力。
5.0 输入密码正确后、电机允许开锁时间为5秒, 5秒后需要再次输入密码才可以再次开锁。
6.0 修改密码键和恢复初始密码键最好置于室内。
这是Proteus仿真结果:输入密码123456:密码正确时电机启动、电机将持续5秒:这是键盘:开锁键是接I N T O引脚接的一个独立按键,用于唤醒C P U工作、进而开启整个系统密码正确时可以修改密码:再次输入新密码,两次输入相同时、更改有效改进:1.0 密码锁的秘密没有存储,因而在掉电时最新的密码将丢失,重新上电后密码将恢复成为初始密码。
51单片机课程设计密码锁
![51单片机课程设计密码锁](https://img.taocdn.com/s3/m/fbfc31d0195f312b3169a5e2.png)
课程设计课程名称单片机原理题目名称密码锁学生学院信息工程专业班级学号学生姓名指导教师2012 年 6 月8 日密码锁一设计构思:单片机控制的密码锁设计。
STC89C52单片机P1引脚外接独立式按键S1-S8,分别代表数字键0-5、确定键、取消键。
单片机从P3.0-P3.3输出4个信号,分别为1个电磁开锁驱动信号和密码错误指示、报警输出、已开锁指示信号,分别用发光二极管L1-L4指示。
P3.4接一有源蜂鸣器,用于实现提示音。
(1)初始密码为123450,输完后按确定键开锁,取消键清除所有输入,每次按键有短“滴”声按键提示音。
(2)密码输入正确后,输出一个电磁锁开锁信号与已开锁信号,并发出两声短“滴”声提示。
4秒后开锁信号与已开锁指示清零。
(3)密码输入错误时,发出一声长“滴”声错误指示提示音,并密码错误指示灯亮,三次密码错误时,发出长鸣声报警,并密码错误指示灯亮,报警指示灯亮,此后15秒内无法再次输入密码,15秒过后,清除所有报警和指示。
(4)5秒内无任何操作后,清除所有输入内容,等待下次输入。
二系统设计:(1)分析构思要求。
写出系统整体设计思路根据题目的要求,需要考虑如下几个任务:按键的输入,密码的判断,密码输入正确或错误的计时、输出信号的控制等。
键盘的输入:由于需要输入6个数字作为密码,先要判断按键时数字键还是功能键,若判断为数字键按下,则需要将每次键盘的输入内容依次暂存在一个数组中。
在每次按键输入时,需要启动定时器实现待机计时(5秒)。
若5秒内没有输入内容则清除已输入的内容。
密码的判断和计时:在按下确认键之后,要将输入的内容与初始密码核对,如果密码正确,输出相应的指示,同时还要启动定时器实现4s的计时。
如果密码错误,错误计数变量增1,同时输出密码指示信号,若错误次数超过3s,则输出报警等信号,同时启动定时器实现15秒的计时。
输出信号的控制主要根据按键输入与密码的核对情况来决定。
整体程序设计思想:程序分为主程序和中断服务程序两个主要部分,主程序完成变量和单片机特殊功能寄存器的初始化后,进入一个循环结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:单片机课程设计说明书设计题目:简易电子密码锁成绩评定表摘要在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
本课程设计介绍了基于单片机电子密码锁的设计,该设计硬件主要由AT89C52最小系统、矩阵电路、1602LCD显示电路、电源电路和报警电路等几部分组成。
软件主要由C语言编程。
该密码锁由单片机技术,通过矩阵电路设置、修改密码、保护密码,并由LCD显示密码输入,从而实现对密码的设置、保护。
关键词:单片机,密码锁, 1602,最小系统,矩阵键盘AbstractIn daily life and work, the department of housing and security, unit documents, financial statements and some personal information to save more in order to lock the ways to solve. If use the traditional mechanical key to open the lock, people often need to carry multiple keys, use very convenient, and the key missing after security is compromised. With the continuous development of science and technology, people in daily life the demand is higher and higher safety insurance device. To meet the requirements of people on the use of the lock, increase its safety, use the password instead of the key combination lock arises at the historic moment. Combination lock with high safety, low cost, low power consumption, easy operation, etc.In the field of security technology to guard against, with electronic combination lock anti-theft alarm function gradually replace the traditional mechanical combination lock, overcoming the mechanical combination lock password quantity is little, the shortcomings of poor safety performance, make the combination lock both in technology and step in performance are improved greatly. With the development of large scale integrated circuit technology, especially the single chip microcomputer, appeared with the intelligent combination of the microprocessor, it besides has the function of electronic combination lock, also introduced the intelligent management, expert analysis system, and other functions, so that the combination lock of high security, reliability, and increasingly widely used.The course design of electronic combination lock based on MCU is introduced, the design of the hardware is mainly composed of AT89C52 minimum system, matrix circuit, 1602 LCD display circuit, power circuit and alarm circuit and so on several parts. Software is mainly composed of C language programming. The combination lock by the single chip microcomputer technology, through the matrix circuit setting, change passwords, password protection, and by the LCD display password input, so as to realize the password Settings, protection.Key words: single chip microcomputer, trick lock, the 1602, the smallest system, matrix keyboard目录摘要 ......................................................................................................................... I II ABSTRACT .. (4)第1章绪论 (7)1.1电子密码锁的现状与发展 (7)1.1.1电子密码锁的现状 (7)1.1.2电子密码锁的发展 (7)1.2电子密码锁的特色 (7)第2章电子密码锁的工作原理及总体设计 (8)2.1电子密码锁的工作原理 (8)2.2总体结构的设计 (8)第3章硬件系统设计 ............................................................... 错误!未定义书签。
3.1单片机最小系统和数据输入.............................................................. 错误!未定义书签。
3.1.1单片机最小系统.......................................................................... 错误!未定义书签。
3.1.2矩阵键盘的设计与初始数据的输入 (11)3.2数据的输出与显示 (12)3.3报警电路 (16)3.4硬件电路图 (17)第4章仿真与调试 (19)4.1 程序流程 (19)4.2 仿真结果 (20)总结 (23)参考文献 (25)附件第1章绪论1.1电子密码锁的现状和发展1.1.1电子密码锁的现状当今智能电子密码锁发展已经到了非常高的境界,由于电子元件特别是单片机应用在这几年得到空前发展,无论功能性,稳定性都比较全面,在保密方面已做到人眼识别,指纹识别,人声识别基本上电影上有的现实也有。
在国外发展比较早,所以应用也比较广泛,主要在家庭装较贵重地方,银行,保险柜等应用较多,在国内这方面发展也较快,不管自己开发或是引进都有,在重要地方应用也较多,由于价钱比普通弹子锁较贵,早几年应用较少,现在越来越普及到平常化,未来的发展也会越来越被大众采用,由于它的功能、安全是弹子锁无法相比的。
发展前境是非常大的。
1.1.2电子密码锁的发展现在,电子密码锁适用于各个领域,尤其在国民建设,和军事领域具有突出贡献。
现在的密码锁内的信息包括了数字、字符、图形图像、人体生物特征和时间等,对电子锁的要求也越来越高。
电子技术必是各国发展的优先技术。
1.2电子密码锁的特色保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
密码可变。
用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
误码输入保护。
当输入密码多次错误时,报警系统自动启动。
电子密码锁操作简单易行,一学即会。
干扰码功能在输入正确密码前可输入任意码。
出门时无需其他操作,只需一次的把手动作,可机械的开启门,所以遇到火灾等应急状况下也迅速,安全的开启门。
第三章硬件系统设计3.1 单片机最小系统和数据输入3.1.1 单片机最小系统选用单片机作为系统的核心部件,实现控制与处理的功能。
单片机具有资源丰富、速度快、编程容易等优点。
利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标。
本设计采用AT89c52单片机,89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司可靠的CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了CMOS的高速和高密度技术及CMOS 的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。