文档库 最新最全的文档下载
当前位置:文档库 › 基于单片机的电子密码锁设计毕业设计论文

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

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

毕业论文(设计)

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

英文题目Design of Electric Coded Lock Based on MCU

院系

专业

姓名

年级

指导教师

- I -

摘要

随着科技的不断发展,人们越来越重视对具有私密、重要物质的场所的安全性,所以具有报警功能的电子密码锁在日常生活中用的越来越多,因此研究与设计单片机为主要控制器的电子密码锁具有工程意义和解决日常应用需求的价值。

本电子密码锁的设计采用以单片机STC89C52RC为主控制器,应用矩阵键盘、SMC1602A液晶显示器、STC89C52RC内部的EEPROM等器件进行设计了键盘电路、液晶显示电路、UART串口电路、电源(5V)电路、指示(LED)电路、报警(蜂鸣器)电路等电路设计;应用protel软件设计了硬件原理图和PCB图;应用C51语言设计了显示时间和校对时间、输入密码和修改密码、控制EEPROM等软件模块;最后焊接PCB并调试电路。最终设计出一个具有等待状态显示时间(可以对时间进行校准)、输入密码、修改密码、密码正确与否指示、报警、密码保护、一键还原初始密码等功能的密码锁。设计此系统具有较高的安全性和科学性。

关键词:单片机;电子密码锁;液晶显示;报警;密码保护

- II -

Abstract

As technology continues to evolve, there is growing emphasis on having a private, important material security of the place, so the alarm function of electronic locks used in everyday life, more and more, so the research and design of microcontroller as the main controller's electronic locks with engineering significance and value of solving everyday applications. The electronic locks are designed using a microcontroller STC89C52RC main controller, application matrix keyboard, SMC1602A LCD monitors, STC89C52RC internal EEPROM devices such as the design of the keyboard circuit, liquid crystal display circuit, UART serial circuit, power supply (5V) circuit, indicating (LED) circuit, alarm (buzzer) circuit, circuit design; protel software application designed hardware schematics and PCB map; C51 language designed application displays the time and checking the time, enter the password and change passwords, control software modules such as EEPROM ; finally soldered PCB and debug circuits. The final design of a status display with waiting time (time can be calibrated), enter your password, change your password, the password is correct or not indication, alarm, password protection, a key to restore the initial password lock and other functions. Design of this system with high security and scientific.

Keywords: MCU;Electric ;Coded Lock ;LCD ;Alarm;Password Protection

- 15 -

目录

Abstract........................................................................................................................错误!未定义书签。

1引言

1.1本文的研究背景及意义 (4)

1.2 技术的发展历史与现状 (4)

2 系统总体方案设计 (5)

2.1 电子密码锁系统的功能简介 (5)

2.2电子密码锁系统的总方案设计 (7)

3系统硬件设计 (16)

3.1指示灯电路设计 (16)

3.2 5V电源电路设计 (16)

3.3 晶振电路设计 (17)

3.4 复位电路设计 (17)

3.5 液晶显示电路设计 (18)

3.6报警电路设计 (18)

4 系统软件设计 (19)

4.1主程序设计流程 (21)

4.2键盘扫描设计流程 (22)

4.3 输入密码程序设计流程 (22)

4.4 修改密码程序设计流程 (23)

5 系统测试与调试 (24)

5.1 系统仿真测试与调试 (25)

5.2 系统测试及结果分析 (26)

结论 (27)

参考文献 (28)

致谢 (29)

附录 A 源程序清单............................................................. (30)

- IV -

引言

1.1本文的研究背景及意义

随着科技的不断进步和发展,人类已经步入了一个高科技的新时代。在这日新月异的时代中,人们对住宅、部门等具有私密、重要物质的场所的安全性要求不断提高。旧社会中,由于科技不发达,人们常常用机械锁来保护个人的财产,以这种方法来确保它们的安全性。这种用钥匙开锁式的机械锁常常会给人们带来不少的烦恼,比如:开锁的钥匙不慎丢了或者锁门的锁坏了。同时,平时携带一大窜钥匙也给人们带来不少的麻烦。从安全的角度来看,一种具有报警和高实用性的密码锁将取代人们所熟知的机械锁,这种电子密码锁安全可靠,具有较高的安全性和科学性。

1.2技术的发展历史与现状

1.2.1 电子密码锁技术的发展历史

电子密码锁从电子科技技术发展以来经历了由大型到小型、由复杂到简单、由原始到智能的发展经历。尤其是近年来不同型号的微处理器出现,为电子密码锁不断的改进与创新提供了新的发展契机:比如如今的微处理器会做的很小,这样小巧的处理器能为电子密码锁节省更多的硬件空间达到节省成本;再比如说老版本的8051单片机它内部是不提供EEPROM的,这如果想实现数据储存就需要用I2C总线来外接存储器来保存数据,如今单片机内部有EEPROM,数据掉电不会丢失。

说到识别密码方式,国内外大致经历了由早期的矩阵键盘输入操作到红外遥控控制操作再到智能IC卡再到如今指纹识别等多种实现方法。红外遥控控制密码锁会更加的方便快捷,通过密码锁的内部芯片对红外接收头接受到的信号进行解码然后通过对比密码来判定输入密码是否正确;IC卡密码锁设计是基于一个AT24C01A卡进行设计的,IC 卡的核心是电可擦除的EEPROM。指纹密码锁设计是西门子公司研制的一种指纹感应片,这种芯片面积只有130mm,大小和人的指甲盖差不多,在这么小的芯片上却覆盖着有6.5万个微小型敏感元件,每个感应片有很高的灵敏度和测量精度,如此多的敏感细致元件

完全可以非常详细和精准的将人手上的各种纹路信息拾取下来,将指纹数据存于电脑数据库中,这种具有人体特征标志的人体密码不仅可以大大增加了私人财产的安全性而且其操作简便、快捷具有很高的可靠性,于是这种指纹人体密码芯片将逐渐的被用于日常生活中具有重要物质的场所和设备比如银行、仓库等。

还有显示方面,早期显示使用的led灯、后来有了7段数码管、再后来大多数用的是lcd显示器。所以,随着科技的进步和创新,设计密码锁的技术也不甘落后,也在朝着智能化,通用化,人性化等富有创新的方向发展。

1.2.2 电子密码锁技术的研究现状

针对电子密码锁系统设计经过翻阅资料和对学术论文的学习和研究,提出多种实现方案,其中比较典型的有以下几种。文献中应用矩阵式键盘作为密码输入,用单片机的IO口控制键盘,通过编写程序用单片机对键盘进行扫描,然后用7段数码管显示系统状态和信息、门开门关提示信息是由LED灯进行提示。还有,应用红外遥控器和红外接收头来代替上面的矩阵式键盘,采用现成的遥控器,应用单片机编程对红外接收头接受的信号进行解码,显示应用的是型号为1602A的液晶显示,开关门指示信息是由led灯提示的,设计的优势是应用了I2C总线来控制外接的EEPEOM,来实现输入密码的数据保存功能。还有,应用STC89C52单片机,这个单片机和AT系列的单片机最大区别就是这类单片机有内部集成了4kb大小的EEPROM,利用ISP/API功能能应用编程来控制内部的EEPROM的读写而不需要外接存储器来进行数据保护。再有,应用单片机来完成以下的工作,第一个工作是对连接在单片机IO口上的键盘进行编码来制作一个远红外遥控器,将序列码经过发送头发送到单片机连接的接收头上,第二个工作是将接受到的数据经过红外接收头解码将数据交给单片机来处理来实现各个码的功能。目前,电子密码锁的功能的得到实现的新方法真是别出心裁,展现科技的发展和进步,比如:IC卡和指纹识别,IC卡密码锁设计是基于一个AT24C01A卡进行设计的,IC卡的核心是EEPROM。应用指纹设计出的密码锁主要应用的是传感器是西门子公司研制,这种传感器有很高的测量精度和灵敏度,所以这种人体密码大大提高了家庭、个人、公共的具有重要性的财产的安全性,这是科技发展和人类不断创新的结果,所以我们要好好利用科技带给我们生活的每一种便捷。

2 系统总体方案设计

2.1电子密码锁系统的功能简介

对本系统设计任务书要求的功能罗列如下:

1、系统的液晶显示屏具有指示功能。

2、系统在空闲状态显示当前时间并可以对时间进行校准。

3、系统在输入密码状态用键盘(0~9)来输入系统设定的当前密码,如果密码输入正确在屏幕上有欢迎信息提示和开门信息提示;如果输入密码错误在屏幕上会有密码错误信息提示,如果输入密码错误三次将会有报警提示。

4.系统在修改密码状态,要求输入当前密码,如果密码输入正确则进入修改密码状态;如果输入当前密码错误则有错误信息提示。

5.系统有存储数据功能,当断电后会保存当前的密码不会丢失。

6.系统在按了输入密码键或修改密码健后如果30秒内没有对系统进行任何操作的话,系统将自动切换到显示时钟状态。

7.系统具有一键还原出厂密码功能,如果对密码管理不善可以使用本功能进行密码还原。

2.2 电子密码锁系统的总方案设计

本课题设计用的主要芯片有两个:一个是STC89C52单片机,一个是SMC1602A液晶显示器。STC89C52单片机作为系统的总控制核心,SMC1602A 为主要的外围电路。下面对STC89C52和SMC1602A做一下简单的介绍。

2.2.1 STC89C52概述

STC89C52系列单片机的封装形式共分为DIP 、PLCC 及PQEP 3中形式,常用的是DIP 封装方式。

STC89C52单片机共40个引脚,大致可分为4类: (1)电源引脚

Vcc (40脚):电源端,+5V Vss (20脚):接地端(GND ) (2)时钟电路引脚

XTAL1(19脚):外部接晶振输入端 XTAL2(18脚):外部接晶振输出端 (3) I/O 引脚

P0口 (39~32脚):P0口是一组8位的漏极开路型双向I/O 口,也是地址和数据的总线复用口

P1口 (1 ~ 8脚):P1口是一组带内部上拉电阻的8位准双向I/O 口,可驱动4个TTL 门电路

图2.1 STC89C52单片机 Figure 2.1 STC89C52 single-chip

P2口(21~28脚):P2口是一组带内部上拉电阻的8位准双向I/O口,可驱动4个TTL门电路

P3口(10~17脚):P3口是一组带内部上拉电阻的8位准双向I/O口,该端口的每个引脚都有第二功能

(4)控制线引脚

RST(9脚):复位端

EA/VPP(31脚):片外的存储器选择端/Flash存储器编程电源

ALE/PROG(30脚):地址锁存允许端/编程脉冲输入端

PSEN(29脚):读片外程序存储器选通信号输入端

STC89C52单片机最大的特点就是有ISP/IAP功能,它具有4K字节的EEPROM。其内部集成的EEPROM是与程序空间分开的,内部寄存器和功能描述如下:

表2.1 ISP/IAP相关寄存器列表

名称地

址功能描述D7 D6 D5 D

4

D

3

D2 D1 D0 复位值

ISP_DAT A E2h Flash数据寄存器1111

1111

ISP_ADD RH E3h Flash高字节地址

寄存器

0000

0000

ISP_ADD RL E4h Flash低字节地址

寄存器

0000

0000

ISP_CMD E5h Flash命令模式寄

存器-- -- -- -

-

-

-

MS

2

MS

1

MS

xxxx

x000

ISP_TRI G E6h Flash命令触发寄

存器

xxxx

xxxx

ISP_CON TR E7h ISP/IAP 控制寄

存器

ISPE

N

SWB

S

SWRS

T

-

-

-

-

WT

2

WT

1

WT

000x

x000

ISP_DATA:ISP/IAP操作时的数据寄存器。

ISP/IAP从Flash读出的数据放在此处,向Flash写入的数据也需放在此处。ISP_ADDRH:ISP/IAP操作时的地址寄存器高八位。

ISP_ADDRL:ISP/IAP操作时的地址寄存器低八位。

ISP_CMD:ISP/IAP操作时的命令模式寄存器,须命令触发寄存器触发方可生效。命令模式如表2.2所示。

表2.2 ISP_CMD寄存器模式设置

D7 D

6 D

5

D

4

D

3

D

2

D

1

D

模式选择

保留命令选择

-- -

- -

-

-

-

-

-

0 0 0 待机模式,无ISP操作

-- -

- -

-

-

-

-

-

0 0 1 对用户的应用程序flash区及数据flash区字

节读

-- -

- -

-

-

-

-

-

0 1 0 对用户的应用程序flash区及数据flash区字

节编程

-- -

- -

-

-

-

-

-

0 1 1 对用户的应用程序flash区及数据flash区扇

区擦除

程序在系统ISP程序区时可以对用户应用程序区/数据Flash区(EEPROM)进行字节读/字节编程/扇区擦除;程序在用户应用程序区时,仅可以对数据Flash区(EEPROM)进行字节读/字节编程/扇区擦除。STC89C51RC/RD+系列单片机出厂时已经固化有ISP引导码,并设置为上电复位进入ISP程序区,并且出厂时就已完全加密。

ISP_TRIG:ISP/IAP操作时的命令触发寄存器。

在ISPEN(ISP_CONTR.7)=1时,对ISP_TRIG 先写入46h,再写入B9h,ISP/IAP命令才会生效。

STC89C52RC,STC89LE52RC单片机内部可用Data Flash(EEPROM)的地址如表2.3所示

表2.3 STC89C52RC、STC89LE52RC单片机内部EEPROM地址表第一扇区第二扇区第三扇区第四扇区

起始地址结束地

起始地

结束地

起始地

结束地

起始地

结束地

2000H 21FFH 2200H 23FFH 2400H 25FFH 2600H 27FFH 第五扇区第六扇区第七扇区第八扇区

起始地结束地起始地结束地起始地结束地起始地结束地

址 址 址 址 址 址 址 址 2800H 29FFH

2A00H

2BFFH

2C00H

2DFFH

2E00H

2FFFH

2.2.2 SMC1602A 概述

SMC1602A 标准字符点阵型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示16 个字符X2 行西文字符,

字符尺寸为2.95X4.35(WXH)mm ,内置HD44780 接口型液晶显示控制器,可与MCU 单片机直接连接,广泛应用于各类仪器仪表及电子设备

图2.2 SMC1602A

封装图 Figure 2.2 SMC1602A

图2.3 SMC1602A

接口说明 Figure 2.3 SMC1602A interface

◆控制器接口说明(HD44780 及兼容芯片): 1) 基本操作时序:

1.1 读状态:输入:RS=L,RW=H,E=H 输出:D0~D7=状态字 1.2 写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲输出:无 1.3 读数据:输入:RS=H,RW=H,E=H 输出:D0~D7=数据 1.4 写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲输出:无

2) RAM 地址映射图控制器内部带有80X8 位(80字节)的RAM 缓冲区,对应关系如右图所示:

3) 指令说明 初始化设置 ● 显示模式设置

● 显示开/关及光标设置

图2.4 SMC1602A RAM 地址映射图 图2.5 SMC1602A 显示模式设置

图2.6 SMC1602A 显示与光标设置

数据控制

控制器内部设有一个数据地址指针,用户可通过它们来访问内部的全部 80 字节RAM。

●数据指针设置

图2.7 SMC1602A 数据结构指针设置

●其他设置

图2.8 SMC1602A 其他设置

4)初始化过程(复位过程)

写指令38H:显示模式设置第一次

延时3ms

写指令38H:显示模式设置第二次

延时3ms

写指令38H:显示模式设置第三次

延时3ms

写指令38H:显示模式设置第四次

延时3ms

写指令08H:显示关闭

写指令01H:显示清屏

延时3ms

写指令06H:显示光标移动设置

写指令0CH:显示开及光标设置

2.2.3系统框图

本系统的核心部分是STC89C52单片机,利用MAX232芯片实现将hex文件下载到单片机运行的功能;利用SMC1602液晶显示屏实现电子密码锁所需的提示信息输出功能;利用键盘实现对密码操作的各项的功能比如输入密码或者修改密码等;采用蜂鸣器实现系统在输入密码错误三次后的自动报警功能;LED灯来指示密码输入是否正确和指示状态的功能;利用STC单片机内部的EEPROM实现密码数据保存功能;用电源电路为系统提供5V的稳定电源电源;用12MHZ的晶振电路为系统的单片机提供内部时钟。

系统的框图如下图所示:

图2.8 系统结构框图

System structure diagram in figure 2.8

单片机中P1.0~P1.6连接10个独立按键来组成一个矩阵键盘,实现键盘扫描并对按键进行编码,从而实现输入密码和修改密码的功能;P1.7通过NPN型三极管来驱动蜂鸣器,当输入密码错误三次后自动实现报警功能;P2.0~P2.7连接液晶显示器的8位数据线,实现从单片机向液晶显示器传输数据;P3.0连接液晶的RS端和max232的out 端、P3.1连接液晶的RW端和max232的in端、P3.2连接液晶的EN端,实现单片机控制液晶显示器和连接串口的功能;P3.3连接独立按键,按键后进入输入密码状态;单片机的P3.4、P3.5、P3.6都连接了独立按键,这些独立键盘都是功能键盘他们是:输入密码功能键,按下系统会进入输入密码状态;修改密码功能键,按下系统会进入修改密码状态;还有一个确定功能键,按下系统会实现确定功能;P3.6和 P3.7分别连接红色LED灯和绿色的LED灯,实现密码输入是否正确指示的功能。

相关文档
相关文档 最新文档