您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页基于单片机的电子密码锁设计毕业设计

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

来源:爱go旅游网


本科生毕业设计(论文)

题 目 基于单片机的电子密码锁设计 专 业 电子信息科学与技术 院 系 信息工程学院 学 号 xxxxxxx

姓 名 xxxxxxxxxx 指 导 教 师 xxxxxxx 答 辩 时 间 xxxxxxxxx

工作时间: 2015年12月 至 2016年5月

本科毕业设计(论文)

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

学生:xx 指导老师:xx

摘 要:本课题设计是基于STCC52单片机的电子密码锁,它是一种通过输入的密码是否正确来控制电路和单片机工作,以至于能够控制电磁锁的开关的电子器件。它的种类很繁多,有简易的电子密码锁,也有有比较复杂的电子密码锁。现在应用较广的电子密码锁是以单片机为核心芯片,通过C语言编程来实现的一

种产品。

本文主要通过STCC52单片机作为主控器件,键盘输入模块,数码管显示模块,报警电路,开锁电路以及复位电路,并且通过单片机的编程设计和丰富的I/O端口实现电子密码锁的开锁和闭锁的基本功能。其主要实现功能如下:  通过键盘输入密码,如果输入的密码正确,则锁将打开。  若密码输入错误则蜂鸣器报警。

 如果密码连续错误次数超过 3 次,蜂鸣器报警并且锁定键盘。

电子密码锁具有设计简单,安全,方便以及稳定等特点,则具有一定的推广价值。

关键词:STCC52 ;蜂鸣器;数码管;键盘

本科毕业设计(论文)

The electronic locks design

Undergraduate:xxx Professor:xx

Abstract:This paper is based on the design of single-chip electronic locks STCC52,it is a circuit to control and chip operation by entering a password,which can control the electromagnetic lock closure to achieve unlocking and locking of an electronic device.Many of its kind, has some simple circuit products, also has some complex circuit products.Now wider application of the electronic code lock is a micro-controller core, through the C language programming to achieve.This paper mainly through STCC52 MCU as the master device, keyboard input module, digital display module, alarm circuit, unlocking circuit and reset circuit, And to achieve the basic function of electronic locks by the micro-controller designing and rich I / O ports.Some mainly functions are the following.

 password can be input by keyboard.If password is right,the lock will be opened.  If password is wrong,the lock will not be opened and buzzer will buzzed.  If password is input wrong three times,so that keyboard can’t be work.

The lock has a rational design method, convenient ,safe and practical features, So it has some promotional value.

Key words: STCC52 ; Buzzer ; Digital Tube ; Keyboard

本科毕业设计(论文)

目录

绪论................................................................ 1 1设计方案的选择与分析 .............................................. 2

1.1主控模块设计方案的论证与选择................................. 2 1.2报警电路的设计与选择......................................... 2 1.3开锁电路的选择与分析......................................... 2 1.4数码管的选择与分析........................................... 2 2主要硬件描述 ...................................................... 3

2.1 STCC52单片机介绍.......................................... 3 2.2数码管介绍................................................... 4 3硬件设计与实现 .................................................... 5

3.1设计原理..................................................... 5 3.2系统设计原理图............................................... 5 3.3复位电路..................................................... 6 3.4时钟电路..................................................... 7 3.5开锁电路和报警电路........................................... 7 3.6矩阵键盘输入模块............................................. 8 3.7数码管显示模块............................................... 9 4系统的软件设计与实现 ............................................. 10 4.1主要流程图描述.............................................. 10

4.2部分程序介绍................................................ 10 结束语............................................................. 13 致 谢............................................................. 14 参考文献........................................................... 15 附录1 ............................................................. 16 附录2 ............................................................. 21

本科毕业设计(论文)

绪论

随着社会的高速发展和人民的生活水平的提高,人们的安全意识也逐渐提高,对安全的要求越来越高。机械锁是从古到今,从中到外一直都存在的器件,机械锁一直以来被称为是“铁将军”,但随着生活质量的提高,人们对锁的要求也越来越高,既要得到安全可靠的锁,也要得到使用方便的锁,这也是制作电子密码锁的目的。

据相关资料显示,早在20世纪初电子密码锁就开始出现在某些特殊场所,比如保险箱,存钱柜,某些特殊的试验基地等等。电子密码锁只需要记住密码即可,不需要像使用机械锁那样携带金属钥匙,这样很不方便,也很容易弄丢,而且金属钥匙容易被仿照复制,大大降低了锁的安全性。因此电子密码锁大大的提高了锁的安全性,大大的提高了解锁的方便性,所以电子密码锁越来越受到人们的喜爱和欢迎。

目前全球电子密码锁的种类有很多,比如指纹锁,IC卡锁,磁卡锁,口令锁等,但现在比较普及的是按键式电子密码锁。目前使用的电子密码锁大部分是基于单片机实现其功能的,其编码器与解码器的生成为软件方式,传统的机械锁与现代的电子密码锁相比更加不方便,安全性能差等特点,相反现代的电子密码锁操作更加便捷,安全性能更加良好等优点[1]。

现在世界也越来越趋近于现代化电子密码锁的设计,人们越来越喜欢用电子密码锁来替代传统机械锁,因为电子密码锁相对于传统机械锁来说更加方便,安全和稳定。本课题研究的是如何设计以单片机为核心元器件的电子密码锁,寻求更加简单,性价比更高的设计方案使得以后的电子密码锁更加的完美,人性化,更加的安全和便宜。

1

本科毕业设计(论文)

1设计方案的选择与分析

1.1主控模块设计方案的论证与选择

STCC52单片机是新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统的STCC51单片机,而且RAM和ROM要大一点,12时钟/机器周期和6时钟/机器周期可以任意选择,综合考虑设计成本以及实现的功能后,所以决定采用STCC52单片机。

1.2报警电路的设计与选择

报警电路由一个蜂鸣器,一个阻值为1K的电阻,一个PNP三极管和一个VCC组成,其中VCC提供高电平。单片机输出端默认为高电平,则蜂鸣器一端接地,一端接一个上拉电阻并与I/O口(P2.4)相连接,但是这样驱动电流不能驱动蜂鸣器工作,所以决定在蜂鸣器前端接上一个功率放大器。于是在蜂鸣器前面接一个三极管,但是程序里面报警模块工作是使I/O口输出电流为低电平,所以三极管为PNP。这样就能使得蜂鸣器正常工作。

1.3开锁电路的选择与分析

开锁电路由发光二极管,阻值1K欧姆的电阻和VCC(高电平)组成。利用发光二极管的亮与熄灭代表电磁锁的状态(即亮代表电磁锁打开,反之熄灭代表电磁锁关闭)。之前决定继电器和电磁锁组成开锁电路,但是由于成本过高,并且原理和发光二极管组成的电路相同,所以就采用了这种方法。这种开锁电路是类似于现实生活的开锁电路,此开锁电路设计简单,操作方便,而且价格便宜。

1.4数码管的选择与分析

方案一:点阵式数码管显示

点阵式由八行八列的发光二极管构成的,通过定义内部的所有二极管,可以形成各种图形,以及不同的显示方案,表现内容丰富,同时控制也比较复杂,若只作为数字显示的使用则是太浪费,与此同时其购买价格也偏高,所以我们不选用这种方式作为显示。

方案二: LED数码管显示

LED数码管由八个发光二极管组成的,外形视觉上呈“8。”样式。其有共阳和共阴两种极型。其原理是使一些点光源和点部分不发光,所以它可以显示数字0到9,字母A到F。编程还是比较容易,缺点是只能显示数字和一些字母,不能显示汉字。

方案三: LCD1602显示

字符型LCD160液晶,不但能够显示26个字母,阿拉伯数字,还能显示出常用符号,操做控制简单,成本也低。1602的字符发生器内部已经存在了一百多个不同的字符数据,大体包括:常用的一些符号和数字,全部的英文字母和经常使用的标志符号。

综上所述,针对本次电子密码锁的设计,我们仅仅需要显示“-”,“E”,

2

本科毕业设计(论文)

“Y”,“L”即可。出于成本,效果,经济适用,所以选择LED数码管来完成本次设计的显示。

2主要硬件描述

2.1 STCC52单片机介绍

图 2-1 单片机引脚图

VCC:供电电压 GND:接地

P0口:为三态双向口,也是一个漏极开路型双向I/O口,每位能够驱动8个LS型TTL负载,当P0口作为输入口时,应该先向锁存器写为“1”,此时P0口作为高阻抗输入(P0口的管脚处于悬空状态),当P0口作为输出口时,因为此时输出电阻为漏极开路电路,所以必须外接上拉电阻[2]。

P1口:为一个内部具有上拉电阻的准双向口,P1口每一位口线也能够作为

3

本科毕业设计(论文)

输入端口或输出端口,该口线由内部上拉电阻可以置为高电平,可以由外部输入信号置为低电平,所以根据数字信号的不同可以置为高低电平,例如:当端口输入信号为“1”时,线口为高电平,当端口输入信号为“0”时,线口为低电平[3]。P1口可以驱动4个LS型TTL门电路。

P2口:一个内部带有上拉电阻的8位准双向通用I/O口,而且每一位口线能够驱动四个LS型TTL门电路。

P3口:P3口的用途很广泛,有多种用途,它也是一个准双向口,作为第一功能使用时,它的功能和P1口相同。但是P3口还有其他的特殊功能。 特殊功能如下:

P3.0:RXD (串行数据接收) P3.1:TXD (串行数据发送)

P3.2: /INT0 (外部中断0请求) P3.3: /INT1(外部中断1请求)

P3.4:T0 (定时器/计数器0计数输入)

P3.5: T1 (定时器/计数器1计数输入) P3.6: /WR (外部RAM写选通) P3.7: /RD (外部RAM读选通)

XTAL1:在单片机内部,为振荡电路反向放大器的输入端,在采用外部时钟时,应该接在GND上。

XTAL2:在单片机内部,为振荡电路反向放大器的输出端。

RST/VPP:复位信号输入端,高电平有效。如果为了完成复位操作,则需要此输入端保持两个机器周期的高电平。

ALE/PROG:地址锁存允许信号端口,当访问外部存储器时,ALE用于锁存出现在P0端口的低八位地址,以实现低位地址和数据的隔离,当51单片机上电正常工作时,ALE就以时钟振荡频率的1/6的固定频率周期地向外输出正弦冲信号,所以它也可以作为外部时钟或者外部定时脉冲源使用,此引脚的第二功能/PROG是在对8751的EPROM编程时作为编程脉冲的输入端[4]。 /PSEN:程序存储允许输出信号端口,低电平有效。/PSEN同样可以驱动8个LS型TTL输入。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器,不管是否有内部程序存储器,注意加密方式1时,/EA将内部锁定为RESET,当/EA端保持高电平时,此间内部程序存储器[5]。在FLASH编程期间,此引脚也用于加入12V电源。

2.2数码管介绍

LED数码管分为“8”字形8段数码管、“米”字形数码管、点阵形数码管等等。根据公共端的连接方式,数码管分为共阳极数码管和共阴极数码管,本课题采用的是“8”字形8段共阴极数码管。

4

本科毕业设计(论文)

图 2-2数码管示意图

如图所示,一个数码管由A,B,C,D,E,F,G共7个字段和一个小数点DP的发光二极管组成。例如,显示字符“8”时,A,B,C,D,E,F,G亮,DP熄灭,从高到低的顺序为DP,G,F,E,D,C,B,A,则可以得到字符“8”的共阴字形码为7FH。 显示字符“8”时,A,B,C,D,E,F,G熄灭,DP亮,从高到低的顺序为DP,G,F,E,D,C,B,A,则可以得到字符“8”的共阳字形码为80H。

3硬件设计与实现

3.1设计原理

本课题设计主要是通过单片机作为主控器件,4*3键盘输入模块,数码管显示电路,报警电路,开锁电路以及复位电路,并且通过单片机的灵活的编程设计和丰富的I/O端口实现电子密码锁的开锁和闭锁的基本功能。用户可以通过键盘输入密码,密码并且保存输入单片机与原始密码相比较。本次毕业设计显示现象如下:如果用户输入的密码正确,则单片机驱动开锁电路工作,即电磁锁开锁(即发光二极管点亮),且数码管第一位显示“Y”,蜂鸣器不工作,并且返回输入密码界面;如果用户输入的密码错误,则单片机驱动报警电路工作,使蜂鸣器鸣叫,且数码管第一位显示“E”,发光二极管不发光,并且返回输入密码界面;如果输入的密码连续发生3次错误,则自动封锁键盘3秒钟,数码管第一位显示“L”,LED发光二极管闪烁。

3.2系统设计原理图

系统设计原理图如下图所示

5

本科毕业设计(论文)

图 3-1 设计原理图

整个电子密码锁系统是基于单片机STCC52的设计,其中包括时钟电路,复位电路,4*3输入键盘,4位一体的共阴数码管显示模块,报警电路,开锁电路。

3.3复位电路

图 3-2 复位电路

单片机的RST管脚接收到2us以上的电平信号,只需要保证位电路的电容充电放电的时间大于2us,则可以完成复位。

6

本科毕业设计(论文)

3.4时钟电路

图 3-3 时钟电路

时钟电路由一个晶振和两个电容组成,其中一个输入端接XTAL1,另一个输

入端接XTAL2,两个电容之间接地,由此构成了一个自激振荡电路。时钟电路就像电脑的心脏一样,为电路提供时钟脉冲信号,构成时钟逻辑电路。

3.5开锁电路和报警电路

图 3-4开锁电路和报警电路

7

本科毕业设计(论文)

报警电路由PNP、蜂鸣器、单片机、上拉电阻组成。该电路选用的一只电压式蜂鸣器,此时,电压式蜂鸣器通过的电流大约在100mA左右。但是驱动蜂鸣器的电流太小,无法驱动蜂鸣器工作,所以采用PNP三极管作为功率放大器放大电压信号源,放大后得到足够大的电流信号驱动蜂鸣器工作。当单片机的P2.4口输出低电平时,经过PNP三极管,由于UBUC,所以三极管发射结正偏, 集电结反偏,此时三极管导通并且不失真的放大信号源供蜂鸣器工作。当单片机的P2.4口输出高电平时,经过PNP三极管,由于UB>UE,UB>UC,所以三极管发射结反偏,集电结反偏,此时三极管截止即信号源不能供蜂鸣器工作。

开锁电路由一个阻值为1K的电阻,一个发光二极管和一个VCC组成。利用发光二极管的亮与熄灭代表电磁锁的状态(即亮代表电磁锁打开,反之熄灭代表电磁锁关闭)。之前决定继电器和电磁锁组成开锁电路,但是由于成本过高,并且原理和发光二极管组成的电路相同,所以就采用了这种方法。这种开锁电路是类似于现实生活的开锁电路,此开锁电路设计简单,操作方便,而且价格便宜。

3.6矩阵键盘输入模块

图 3-5 4*3按键示意图

矩阵式键盘是一种扫描式键盘,矩阵式键盘的工作过程要比键盘式按键复杂的多,矩阵键盘是由列线(I/O口线),行线(I/O口线)以及行线和列线的交叉处的按键组成。一般系统需要的按键比较多的时候,如果使用按键的话需要太多的I/O口线,浪费资源,考虑到经济效益问题,节约成本,所以本课题采用矩阵式键盘作为输入模块。

矩阵式键盘由于采用矩阵式结构,所以一根I/O口线是不能具体确定哪个按

8

本科毕业设计(论文)

键键入的,则需要采用两根I/O口线才能具体确定是哪个按键键入。矩阵式键盘和式按键的接线方式不一样(式按键一端接单片机管脚,一端接GND)。所以只能先对列线和行线单独进行确定,然后对整体确认(相与关系)才能完全确定是哪颗按键键入。

矩阵式键盘的具体工作原理如下:首先使得矩阵式键盘的行线(I/O口线)置为低电平,然后再对列线(I/O口线)进行处理并且对列线的状态进行判断。 如果列线处于高电平,则表示没有按键键入,如果列线中有一颗按键的状态为低电平,则表示该按键键入。也可以使得矩阵式键盘的列线(I/O口线)置为低电平,然后再对行线(I/O口线)进行处理并且对行线的状态进行判断。如果行线处于高电平,则表示没有按键键入,如果行线中有一颗按键的状态为低电平,则表示该按键键入。

按 键 0-9键 无 # 键 表格 3-1 按键功能示意图 键 名 功 能 说 明 数 字 键 无 确认键 输 入 密 码 无 确认密码输入完毕

第一排按键分别为1、2、3,第二排按键分别为4、5、6, 第三排按键分别为7、8、9,第四排按键分别为 无、0、#,

3.7数码管显示模块

本课题采用的四位一体的7段共阴级数码管如下图所示:

图 3-6 4位一体共阴的数码管示意图

9

本科毕业设计(论文)

4系统的软件设计与实现

4.1主要流程图描述

如下图所示,首先启动整个设计系统,然后开始输入密码,输入密码完毕后按下确认密码,待密码输入正确后,则开锁电路开锁即发光二极管点亮且数码管显示“Y”,返回开始;如果确认密码输入错误后,报警电路工作且数码管显示“E”,返回开始。

图 4-1 工作流程图

4.2部分程序介绍

1.报警电路的程序 void alarm()

{

num=0; buzzer=1;

10

本科毕业设计(论文)

delay(200);

buzzer=0; delay(200); }

2.显示电路的程序

首先将最后一个数码管显示“-”,然后将数码管显示的“-”循环左移显示。 void display()

{ uchar i,j,cs=0xef; for(i=num;i>0;i--) {

P0=table[0]; cs=_crol_(cs,1); P2=cs;

delay(10); }

for(j=4-num;j>0;j--) {

P0=table[1];

cs=_crol_(cs,1);

P2=cs; delay(10); } }

3.确认程序

将输入的密码(4个数字)依次对比,如果密码不正确则数码管显示“E”,蜂鸣器响一声;如果密码正确则数码管显示“Y”,发光二极管亮。 void ok()

{

if(shu!=mima)

{

P0=0x79; alarm(); shu=0; num=0;

u++; }

11

本科毕业设计(论文)

if(shu==mima) {

relay=0; P0=0X6e; delay(1000);

}

num=0; shu=0; u=0;

}

12

本科毕业设计(论文)

结束语

在做毕业设计之前,我一直准备研究生考试,等到3月底复试回来后开始正式准备毕业设计。经过三个周的努力终于将毕业设计完成了,虽然毕业设计完成了,但是过程令我感触颇深,我觉得如果对自己所学的知识没有一个熟悉的概念,对这个项目没有一个大概的了解,对过程没有足够的耐心,那么肯定是不能够完成此项目的。如果稍微大意,难么做出来的东西肯定是不符合实际需求的,那么会导致功亏一篑的。

我做的毕业设计是基于单片机的电子密码锁设计,看似简单,但是做起来却很难。首先我们要了解做电子密码锁需要实现什么基本功能,要在脑海中有一个大致的工作流程,然后要学会利用PROTEUS和KEIL这两个软件。学习这两个软件花了不少的时间,在空闲的时候就上网看看关于如何操作这两个软件的视频和文章,为此还吃了不少苦头。不过皇天不负有心人,最终还是能够简单的使用这两款软件,能够实现该课题的功能了。我们需要先画出仿真电路图看看是否能够实现基本功能,于是我用PROTUES画出了仿真图;然后利用KEIL写出了C语言程序,然后我就运行生成HEX文件,突然发现没有生成HEX文件,后来才想起忘了设置CREAT HEX(这里应该注意一下),最后设置好了成功生成HEX文件。然后在PROTEUS上面运行程序,发现蜂鸣器不能工作,后来才发现驱动电流过小,于是问邓老师,然后邓老师建议我在蜂鸣器前面加一个功率放大器,于是课题能够完全实现功能。

总而言之,这次做毕业设计的过程让我变得充实起来,让我学习到了很多实际操作的知识,与书本上的知识完全不同。更加坚定了对本专业进一步学习的信心,我坚信自己能够走好人生的每一步,希望以后能有更多的这种锻炼机会。使用单片机制作的电子密码锁具有设计简单,制作成本比较不高,安全性能和稳定性能高,操作容易,使用方便等特点。所以电子密码锁逐渐取代安全性能不高,操作麻烦的传统机械锁的地位,成为了世界主流防盗系统,电子密码锁的前景越来越好。

13

本科毕业设计(论文)

致 谢

在邓艳老师的悉心的指导下毕业设计终于画上了完美的句号。首先请允许我向教导我的老师们,说声:“老师们,辛苦你们了,谢谢你们这四年的辛苦付出,是你们的教导和帮助奠定了我完成这项目的基础,再次感谢你们!”

光阴似箭,日月如梭,在这里还要感谢学校提供这次项目的机会,提供学习的平台。学校为我们默默的付出,为我们提供实验的器材,学习的氛围。如果不是学校提供我们这个学习机会的话,那我们就不可能有这么舒适的环境学习。所以,再次感谢学校提供这次机会,“谢谢母校!!!”

14

本科毕业设计(论文)

参考文献

[1]王长涛,单片机原理及应用——C语言程序设计与实现(第2版),北京:人民邮电出版社,2014,168-177.

[2]童诗白,成华英,模拟电子技术基础(第四版),北京:高等教育出版社,2006.05. [3]郭天祥,51单片机C语言教程:入门、提高、开发、拓展全攻略,北京:电子工业出版社,2009.1.

[4]胡汉才,单片机原理及其接口技术[M](第3版),北京:清华大学出版社 ,2010, 20-50. [5]张毅刚,新编MCS-51单片机应用设计[M](第3版),哈尔滨:哈尔滨工业大学出版社 ,2008.

[6]李全利,单片机原理及应用(M)(第2版),北京:高等教育出版社,2010, 30-40. [7]胡翔骏,电路分析(第2版),北京:高等教育出版社,2007.01. [8]谭浩强,C语言程序设计(第4版),北京:清华大学出版社,2010.06. [9]赵建领,51系列单片机开发宝典(第2版),北京:电子工业出版社,2012.

[10]Robert L.Boylestad,Louis Nashelsky,模拟电子技术,北京:电子工业出版社,2008. [11]Guiyun Tian,foundation and application of microcontroller,高等教育出版社,2012. [12]张毅刚,单片机原理及应用(第2版),高等教育出版社,2010.05. [13]赵建领,51系列单片机开发宝典(第2版),电子工业出版社,2012.02.

15

本科毕业设计(论文)

附录1

#include #include

#define uint unsigned int #define uchar unsigned char sbit buzzer=P2^4; sbit relay=P2^5;

uchar code table[2]={0x40,0x00 }; //共阴极数码管编码 显示'-'和 熄灭 uchar num;

uint shu=0,mima,u=0;

//==============================延迟程序 延时x毫秒 void delay(uint xms) {

uint i,j;

for(i=xms;i>0;i--)

for(j=110;j>0;j--); }

//==============================报警程序1 void alarm() {

num=0; buzzer=0; delay(300); buzzer=1; delay(300); }

//============================报警程序2 void alarm1() {

num=0; buzzer=0; delay(1000); buzzer=1; delay(1000);

}

//==============================数码管显示程序

16

本科毕业设计(论文)

void display()

{ uchar i,j,cs=0xef; for(i=num;i>0;i--) {

P0=table[0]; cs=_crol_(cs,1); P2=cs;

delay(10); }

for(j=4-num;j>0;j--) {

P0=table[1];

cs=_crol_(cs,1); P2=cs;

delay(10); } }

//==============================密码 void shenrui(uint a) { shu=shu*10+a; }

//==============================确认键程序 void ok()

{

if(shu!=mima) {

P0=0x79; //显示“E” alarm(); shu=0; num=0; u++; }

if(shu==mima)

{

relay=0;

P0=0X6e;//显示“Y”

17

本科毕业设计(论文)

delay(1000);

num=0; shu=0; u=0; } }

//==============================键盘扫描程序 void keyscan() {

uchar temp1,temp2;

P1=0xfe;//令第一列为低电平,检测第1列

temp1=P1;

if(temp1!=0xfe) {

delay(5); //消抖 temp2=P1;

if(temp1==temp2) {

switch(temp2) {

case 0xf6: if(num<4){shenrui(1);num++;display();} else alarm(); break;

case 0xee: if(num<4){shenrui(4);num++;display();} else alarm(); break;

case 0xde: if(num<4){shenrui(7);num++;display();} else alarm(); break;

case 0xbe: alarm();break;

} } }

while(temp1!=0xfe) temp1=P1;//等待按键释放 P1=0xfd;//检测第2列 temp1=P1;

if(temp1!=0xfd) {

18

本科毕业设计(论文)

delay(5); //消抖

temp2=P1;

if(temp1==temp2) {

switch(temp2) {

case 0xf5: if(num<4){shenrui(2);num++;display();} else alarm(); break;

case 0xed: if(num<4){shenrui(5);num++;display();} else alarm();

break;

case 0xdd: if(num<4){shenrui(8);num++;display();} else alarm();

break;

case 0xbd: if(num<4){shenrui(0);num++;display();} else alarm(); break; }

}

}

while(temp1!=0xfd) temp1=P1;//等待按键释放 P1=0xfb;//检测第3列 temp1=P1;

if(temp1!=0xfb) {

delay(5); //消抖 temp2=P1;

if(temp1==temp2) {

switch(temp2) {

case 0xf3: if(num<4){shenrui(3);num++;display();} else alarm(); break;

case 0xeb: if(num<4){shenrui(6);num++;display();} else alarm(); break;

19

本科毕业设计(论文)

case 0xdb: if(num<4){shenrui(9);num++;display();}

else alarm(); break;

case 0xbb: if(num==4) ok();

else alarm();shu=0; break; } } }

while(temp1!=0xfb) temp1=P1;//等待按键释放 display();

}

//============================主函数 main() {

uint i ; mima=1111; while(1) {

keyscan();

if(u==3) { ;

alarm1();

P0=0x38;//显示“L” for(i=0;i<3;i++) {

relay=0; delay(1000); relay=1; delay(200); } u=0; } } }

20

附录2 本科毕业设计(论文)

图 附2-1实物输入密码界面

21

本科毕业设计(论文)

图 附2-2 实物开锁示意图

22

本科毕业设计(论文)

图 附2-3 实物报警示意图

23

本科毕业设计(论文)

图 附2-4实物锁键盘示意图

24

本科毕业设计(论文)

C230UFRP1RESPACK-7CRYSTALC130UFU219XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD39383736353433322122232425262728101112131415161718XTAL29RSTC31nFR410k29PSEN30ALE31EA12345678X1R21k12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7ATC51R11kQ1PNP123456D1LED-YELLOWBUZ17BUZZER无0确认 图 附2-5 设计原理图

25

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务