《智能密码锁设计》由会员分享,可在线阅读,更多相关《智能密码锁设计(47页珍藏版)》请在金锄头文库上搜索。
1、本设计采用 AT89S52 单片机为主控芯片,结合外围电路,通过软件程序组成电子密码锁系统,能够实现:1 正确输入密码前提下,开锁提示;2 错误输入密码情况下,蜂鸣器报警;3 密码可以根据用户需要更改。第二章 系统方案论证2.1 主控部分的选择选用单片机作为系统的核心部件,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(RAM)和只读存储器(ROM )及其引脚资源,外接液晶显示(LCD) ,键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,因此综合考虑,本系统采用方案二。方案二:矩阵键盘输入识别由各按键组成的矩阵键盘每条行线和列线都对应
2、一条 I/O 口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个 I/O 口线,就可以确定哪一个键被触动。 行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。每个按键都可通过程序赋予功能,从而完成密码识别 8。本方案简单易行,故采用。第三章 系统总体设计和主要芯片介绍3.1 系统总体设计本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其
3、中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可。系统整体框图如图3-1所示。图 3-1 系统结构框图各模块功能如下:1键盘输入模块:分为密码输入按键与几个功能按键,用于完成密码锁输入功能。2显示模块:用于完成对系统状态显示及操作提示功能。3复位电路:完成系统的复位。4报警电路:用于完成输错密码时候的警报功能。5密码存储模块:用于完成掉电存储功能,
4、使修改的密码断电后仍能保存。6开锁电路:应用继电器及发光二极管模拟开锁,完成开锁及开锁提示。AT89S52显示模块报警电路开锁电路密码存储模块复位电路键盘输入模块3.2 主要芯片介绍3.2.1 AT89S52 AT89S52 单片机是一个低功耗,高性能 CMOS 8 位单片机,片内含 8K Bytes ISP(In-system programmable)的可反复擦写 1000 次的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术制造,兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,
5、功能强大的微型计算机的 AT89S52 可为许多嵌入式控制应用系统提供高性价比的解决方案 10。AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器 /计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。AT89
6、S52 的管脚分布如图 3-2 所示。图 3-2 AT89S52 芯片管脚P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4个 TTL 门电流,
7、当 P2 口被写“1” 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1” 时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P3 口作为 AT89S52 的一些特殊功能管脚备选功能,P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断 0)P3.3 /INT1(外部中断 1)P3.4 T0(记时器 0 外部输入)P3.5 T1(
8、记时器 1 外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)AT89S52 主要特性如表 3-1 所示。表 3-1 AT89S52 主要特性兼容 MCS-51 指令系统 8k 可反复擦写(1000 次)ISP Flash ROM32 个双向 I/O 口 4.5-5.5V 工作电压3 个 16 位可编程定时/计数器 时钟频率 0-33MHz全双工 UART 串行中断口线 256x8bit 内部 RAM2 个外部中断源 低功耗空闲和省电模式中断唤醒省电模式 3 级加密位看门狗(WDT)电路 软件设置空闲和省电功能灵活的 ISP 字节和分页编程 双数据寄存器
9、指针3.2.2 存储芯片 AT24C02 AT24C02是美国Atmel公司的低功耗CMOS型EPROM,内含2568位存储空间,具有工作电压宽(2.55.5 V)、擦写次数多(大于 10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了IC总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I 2
10、C总线是一种用于IC器件之间连接的二线制总线。他通过SDA(串行数据线) 及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。 AT24C02正是运用了IC规程,使用主/从机双向通信,主机(通常为单片机) 和从机(AT24C02) 均可工作于接收器和发送器状态。主机产生串行时钟信号( 通过 SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。 AT24C02的控制字由8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。管脚描述:SCL 为串行时
11、钟:串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。SDL 为串行数据/地址:双向串行数据/地址管脚用于器件所有数据的发送或接收 SDL,是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或。A0、A1、A2 为器件地址输入端:当使用24C02 时最大可级联8个器件,如果只有一个24C02被总线寻址,这三个地址输入脚A0、A1、A2可悬空或连接到Vss。WP为写保护:如果WP 管脚连接到Vcc 所有的内容都被写保护只能读当WP, 管脚连接到Vss 或悬空,允许器件进行正常的读/写操作 12。管脚图如图3-3所示。 图3-3 AT24C02引脚图3.2.2 LCD16
12、02 显示器现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602 型 LCD 显示模块具有体积小,功耗低,显示内容丰富等特点。1602 型 LCD可以显示 2 行 16 个字符,有 8 位数据总线 D0D7 和 RS,R/W ,EN 三个控制端口,工作电压为 5V,并且具有字符对比度调节和背光功能。接口信号说明:1602 型 LCD 的接口信号说明如表 3-2 所示。表 3-2 1602 型 LCD 的接口信号说明第 1 脚 VSS 电源地 第 9 脚 D2 双向数据线第 2 脚 VDD +5V 电源 第 10 脚 D3 双向数据线第 3 脚 VEE 液晶显示偏压信号 第
13、 11 脚 D4 双向数据线第 4 脚 RS 数据/命令选择端 第 12 脚 D5 双向数据线第 5 脚 R/ W 读/写 选择端 第 13 脚 D6 双向数据线第 6 脚 E 使能端 第 14 脚 D7 双向数据线第 7 脚 D0 双向数据线 第 15 脚 BLA 背光源正极第 8 脚 D1 双向数据线 第 16 脚 BLK 背光源负极主要技术参数:1602 型 LCD 的主要技术参数如表 3-3 所示。表 3-3 1602 型 LCD 的主要技术参数基本操作程序:读状态:令 RS=L,RW=L, E=H 输出:D0D7=状态字读数据:令 RS=H,RW=H, E=H 输出:无写指令:令 R
14、S=L,RW=L,D0D7=指令码,E=高脉冲 输出:D0D7= 数据写数据:令 RS=H,RW=L, D0D7=数据, E=高脉冲 输出:无显示容量 162 个字符芯片工作电压 4.55.5V工作电流 2.0mA(5.0V)模块最佳工作电压 5.0V字符尺寸 2.954.35(WXH)mm第四章 硬件设计本系统外围电路包括键盘输入部分、密码存储部分、复位部分、显示部分、报警部分、开锁部分组成,根据实际情况键盘输入部分选择44矩阵键盘,显示部分选择字符型液晶显示LCD1602,密码存储部分选用AT24C02芯片来完成。其原理图如图4-1所示。图4-1 电路原理图4.1 键盘输入模块由于本设计所
15、用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行和列组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个44键盘不但能完成密码的输入还能作特别功能键使用。键盘的每个按键功能在程序设计中设置。它与单片机的连接如图4-2所示。图4-2 键盘输入模块4.2 密码存储模块图 4-3 所示 AT24C02 的 1、2、3 脚是三条地址线,用于确定芯片的硬件地址。在 AT89S51 试验开发板上它们都接地,第 5 脚和第 8 脚分别为正、负电源。第 8 脚 SDL 为串行数据输入/输出,数据通过这条
16、双向 IC 总线串行传送,在AT89S52 试验开发板上和单片机的 P3.6 连接。第 6 脚 SCL 为串行时钟输入线,在 AT89S52 试验开发板上和单片机的 P3.7 连接。SDL 和 SCL 都需要和正电源间各接一个 5.1K 的电阻上拉。第 6 脚接 P3.5。AT24C02 中带有片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加 1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达 8 个字节的数据。图4-3 密码存储电路4.3 复位部分单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电