1、苏州大学本科生毕业设计(论文)i本科毕业论文(20 届)基于单片机的密码锁设计所在学院专业班级 电子信息工程学生姓名指导教师完成日期苏州大学本科生毕业设计(论文)ii目录前言 .3第一章 系统方案论证 .41.1 主控部分的选择 .41.2 密码输入方式的选择 .4第二章 系统总体设计和主要芯片介绍 .52.1 系统总体设计 .52.2 主要芯片介绍 .5第三章 系统硬件构成 .113.1 系统整体电路图 .113.2 单片机最小系统原理图 .113.3 电源输入部分 .113.4 键盘输入部分 .123.5 密码存储部分 .133.6 显示部分 .133.7 报警部分 .14第四章 软件的设
2、计与实现 .154.1 主程序流程图 .154.2 按键功能程序流程图 .154.3 密码设置流程图 .164.4 开锁流程图 .17第五章 系统的调试与测试 .185.1 proteus 软件简介 .185.2 进入 Proteus ISIS .185.3 仿真说明 .185.4 实物测试图及说明 .20结论 .24参考文献 .25致谢 .26附录 .27附录 1:原理图 .27附录 2:部分源程序 .28苏州大学本科生毕业设计(论文)第 1 页摘要本系统由单片机系统、矩阵键盘、LED 显示和报警系统组成。系统能完成开锁、超次锁定、报警、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能
3、外,还具有掉电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用。关键词:AT89S51;AT24C02;电子密码锁;矩阵键盘。苏州大学本科生毕业设计(论文)第 2 页AbstractAs peoples 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
4、 security guards role is increasingly important. This article from the economical point of view, the system by the STC89C52 with low power CMOS based EPROM AT24C02 as the master chip and the data memory unit, combined with the external keyboard, LCD display, alarm, unlock and other circuit modules.
5、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
6、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
7、 Display.苏州大学本科生毕业设计(论文)第 3 页前言随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是人们重要的安全工具,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。随着电子锁的密码量变多,并且它容易被人记住,不需要随身携带金属钥匙,免除了找不到钥匙时的忧伤,所以密码锁的应用越来越广泛。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC 卡锁,生物锁等。但较实用的还是按键式电子密码锁。本设计采用 AT89S51 单片机为主控芯片,通过软件程序组成电子
8、密码锁系统,能够实现:1 正确输入密码前提下,开锁提示;2 错误输入密码情况下,蜂鸣器报警;3 密码可以根据用户需要更改;4 断电存储功能;5. 忘记密码可以通过初始密码进行复位。苏州大学本科生毕业设计(论文)第 4 页第 1 章 系统方案论证系统从主控部分和密码输入方两方面进行论证1.1 主控部分的选择方案一:用数字电路控制的方案数字逻辑电路 74LS112 双 JK 触发器构成的数字逻辑电路是密码锁的控制核心,经由比较器的密码存储于 JK 触发器,与输入密码相比较,以确定结果是否匹配。用数字电路设计方案的优点是设计简单,但控制的精度和灵活性较差,不使用它。方案二:以单片机为核心控制方案选用
9、的单片机作为系统的核心部件,实现功能的控制和处理。单片机有丰富的资源,且速度快,易于编程等。使用内置 MCU 随机存储器(RAM)和只读存储器(ROM)和引脚资源,外部液晶显示器(LCD) ,键盘输入和显示功能来实现的处理和数据的传输,基本上实现了设计规范,因此,考虑到本系统采用两种方案。 1.2 密码输入方式的选择方案一:指纹输入识别指纹识别主要分成四个部分:分别为:读取指纹(即通过设备记录指纹图像) 、提取指纹(即对其进行处理通过识别软件建立指纹图像特征) 、保存指纹(即记住起特性) 、对比指纹(通过手指上的节点与之前记录下来的进行比较) 。考虑到本方案软硬件太过复杂,而且成本也高,故不采
10、用。方案二:矩阵键盘输入识别各组成的矩阵键盘的键为每个行和列线对应一个 I/O 线,键位的交叉点设置的行线和列线,当一个键被按下,就会有一个行线与列线接触,只要确保这两条线,即这两个 I/O 线,可以判断哪个键被触动。行线设计成上拉口线,最初被设置为高电位时,列线空置,初始设置低。通过不断地读行口线或中断扫描触发键。当有一个键被按下时,列线逐一设置为低,其他的列线置高,读行线口线。当一列线低时设置为低电位时,行线则被拉低可以确定在两条线的交叉点的按钮被按下。每个功能键可以通过该程序被分配,从而完成密码识别。本方案简单易行,故采用。苏州大学本科生毕业设计(论文)第 5 页第 2 章 系统总体设计
11、和主要芯片介绍2.1 系统总体设计该设计主要由单片机,键盘,液晶显示器,和存储系统等组成。单片机用于对用户之 前输入的密码和当前输入的密码进行比对从而判断其是否正确,从而发出各种指令。键盘主要用于密码的输入、确定、复位等功能。显示器主要用于显示密码。存储系统主要用于存储用户之前输入的密码。整个系统框图如下图 2-1 所示。A T 8 9 S 5 1键盘输入模块复位电路密码存储模块显示模块报警电路开锁电路图 2-1 系统结构框图各模块功能如下:1矩阵键盘输入模块:数字按键和功能按键组成,用于完成密码锁输入。2显示模块:用于给出操作提示和系统当前状态。3报警电路:用于对用户输入错误密码时发出警报声
12、音。4存储模块:用来完成断电功能,使更改密码存储密码可以断电后保存。5电源模块:用于对系统电路提供+5V 的直流电压2.2 主要芯片介绍2.2.1 AT89S51 AT89S51 是一个低功耗,高性能 CMOS 8 位单片机 ,片内含 4k Bytes ISP 的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8位中央处理器和 ISP Flash 存储单元,AT89S51 在众多嵌入式控制应用系统中得到广泛应用。苏州大学本科生毕业设计(论文)第 6 页1
13、、其主要的功能的特性:1兼容 S51 的指令系统。28K 的可反复擦写的 Flash ROM,32 个双向 I/O 口,内部 RAM256x8bit,时钟频率0-24MHz 的,可编程的 UART 串行通道。33 个 16 位可以编程的计数器和定时器中断,2 个外部中断源,2 个串行中断,共6 个中断源,2 个读写中断。其引脚排列图如下图 2-2:图 2-2 AT89S51 的引脚排列2、其引脚功能特性:1VCC:电源电压 2GND:接地3P0 口:P0 口是一组双向 I/O 口(8 位漏极开路型)。作为输出口时,每位以吸收电流的形式运行 8 个 TTL 逻辑门电路,当 P0 口为“1”时,输
14、出高阻抗。当访问外部程序或数据存储器时,其分时转换低 8 位地址和数据总线复用,并激活内部上拉电阻。4P1 口:P1 是一个 8 位双向 I/O 口,P1 的输出缓冲级可驱动的(吸收或输出电流)4 个 TTL 逻辑门电路。当端口为“1”时,内部上拉电阻的作用使其端口呈现高电平作为输入口。作输入口时,由于内部有上拉电阻,某个引脚被外部信号作用下会输出一个电流(I IL)。5P2 口:P2 口为一个带有内部上拉电阻 8 位双向 I/O 接口,P2 口输出缓冲级可以驱动(吸收或输出电流)4 个 TTL 逻辑门的电路。当端口 P2 口为“1”时,内部上拉电阻作用使端口呈现高电平作为输入口,作输入口时,
15、由于内部有上拉电阻,某个引脚被外部信号作用下会输出电流(I IL)。当访问外部的 8 位地址的数据存储器时,P2 口输出其锁存器中的内容。Flash 检验或者做编程用时,P2 也接收某些控制信号和高位地址。6P3 口:P3 口是一组具有内部上拉电阻的 8 位双向 I/O 接口。P3 接口的输出的缓苏州大学本科生毕业设计(论文)第 7 页冲级能驱动 4 个 TTL 逻辑门的电路。当 P3 口为“1”时,其被内部上位电阻拉高作为输入。这时 P3 接口将用上拉电阻将电流(I IL)输出。P3 口除了当作 I/O 口线外,它的第二功能才是重点,如下表 3.1 所示:7RST:复位输入 。振荡器工作时,
16、RST 引脚会出现两个机器周期以上高电平使单片复位。8ALE/PROG:当访问外部数据、程序程序存储器时, ALE 的输出脉冲作为锁存器的地址的低 8 位。正常情况下,ALE 仍然会以时钟的振荡频率的 1/6 作为输出固定的脉冲信号,所以它能够对外输出时钟作定时用。注意:当访问外部数据存储器时会跳跃一个 ALE 的脉冲。9PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。10EA/VPP:外部程序存储器访问允许。当/EA 保持低电平时,则在此期间外部程序存储器,不管是否有内
17、部程序存储器。注意加密方式 1 时,/EA 将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。11XTAL1: 内部时钟发生器和振荡反相放大器的输入端。12XTAL2:振荡器反相放大器的输出端。2.2.2 存储芯片 AT24C02 端口引脚 第二功能P3.0 RXD(串行输入口)P3.1 TXDP3.2 INT0(外中断 0)P3.3 INT1P3.4 T0(定时/计数器 0)P3.5 T1P3.6 WR(外部数据存储器写选通)P3.7 RD苏州大学本科生毕业设计(论文)第 8 页AT24C02 是低
18、功耗 CMOS 型 EPROM,其含 2568 位存储空间,工作电压在2.55.5 V 之间、擦写次数大于 10000 次、写入速度小于 10 ms、且其具有体积小,抗干扰,易于保存数据,且支持在线编程等优点。此芯片中的片内地址寄存器的地址会在读或者写时自动加 1,以实现进行下一个存储单元的读或写。但是所有的字节都是用单一的方式读取。一般情况下一次操作写入多达 8 个字节的数据,主要就是为了能够降低总的写入时间,提高效率。总线数据传输协议 IC 是二线制总线,用于 IC 器件间的连接。它通过 SCL 及 SDA 这两根线和与总线相连的器件通信并根据地址找到相关器件。并根据唯一的地址识别每个器件
19、。AT24C02 就是运用了这样的原理,从而使用主机和从机之间进行双向的通信,主机从从机一般都可以当作发送、接收器来用,主机一般是单片机,从机一般是 AT24C02。主机通过 SCL 引脚产生串行的时钟信号并且能够发出控制总线传送的方向的控制字,用于形成开始和停止的条件。不管是主机还是从机当接收到一个字节就一定要发出一个 ACK(确认信号) 。AT24C02 当开始的信号发出后,主机就发出控制字,用于选择从机控制总线传送方向。其管脚描述:1.SCL 为串行时钟:串行时钟的输入管脚主要用来产生数据的发送和接收的时钟信号。2.SDL 为串行数据/地址:双向串行地址、数据管脚用于器件所有数据的发送或接收 SDL,是一个开漏的输出管脚,并且能够与其他的开漏/集电极开路输出之间进行线或。 。3.A0、A1、A2 是输入端:当一个 24C02 被寻址的时候,这三个输入脚可以悬空或者连着到 VSS,当然这 3 个端脚最大可以连接 8 个器件。4.WP 为写保护:如果 WP 连着到的所有内容都被写保护时那么就只能当作读 WP 了, 当管脚连接到 VSS或悬空的时候,就允许器件进行正常的读或者写操作。管脚图如图 2-3 所示。图2-3 AT24C02引脚图