1、单片机技术是智能化检测与控制领域应用非常普及并且具有很大潜力的技术。论文阐述一个基于单片机的液晶显示电子密码锁的设计与实现。系统采用美国Atmel公司的AT89S52单片机作为系统核心,液晶显示器LCD1602作为输出设备显示系统提示信息,4*4矩阵薄膜键盘作为输入设备,CMOS串行E2PROM存储器AT24C02作为数据存储器,配合蜂鸣器、继电器等电路构成整个系统硬件;系统软件采用汇编语言编写。设计的系统液晶显示,密码修改方便,具有报警、锁定等功能,使用便捷简单,符合住宅、办公用锁需求,具有一定的实用价值。关键词:密码锁;单片机;AT89S52;LCD1602;AT24C02The Desi
2、gn of LCD Electronic Password-LockAbstractSCM technology is very popular and has great potential in application of intelligent detection and control field. This thesis describes the design and implementation of LCD electronic password-lock system based on SCM. The system uses the product of America
3、Atmel corporation AT89S52 as the core of system, liquid crystal monitor 1602 as the output device displaying the prompt information of system, 4*4 matrix membrane keyboard as the input device, serial E2PROM memory AT24C02 as the data storage, with buzzer, relay, and other circuits together constitut
4、e the system hardware. The software of the system is written in assembly language. The designed system display in LCD, change password easily, has the function of alarming, locking, and so on. This system is simple and easy to use, meets the demand of residential, office lock needs, has some practic
5、al value.Key words: Password-Lock; SCM; AT89S52; LCD1602; AT24C021 引言 锁具是源流千古的社会性用品,主要用于日常生活和工作中,住宅与部门的安全防范。当前门锁的主流是弹子锁,其保密性不强,钥匙容易被仿制和意外丢失;且持有者需随时携带钥匙,使用不方便。保存贵重物件的保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高昂,且易出现故障。随着科技、经济和社会的发展,当今社会公共安全防范系统对锁具的保密性、牢固性、可靠性、耐用性以及安装使用等提出了新的更高的要求。针对原有锁具的特点和缺陷,为满足人们对锁的使用需求,增加其安全性
6、,用密码代替钥匙的电子密码锁应运而生。早期开发的电子密码锁由于电子器件所限,种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但不安全。后来多是基于EDA实现,其电路结构复杂,电子元件繁多,也有使用早先2051系列单片机来实现的,但密码简单,容易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,保密安全性更强;由以前的单密码输入发展到现在密码加感应元件,实现了真正的电子加密。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价
7、比较高的产品。电子密码锁的出现给人们带来了极大的方便,有很广阔的市场前景。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,特点有:保密性好,编码量多。随机开锁成功率几乎为零。密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。误码输入保护。当输入密码多次错误时,报警系统自动启动。操作简单易行,一学即会。 论文阐述基于美国Atmel公司的AT89S52单片机,采用液晶显示器1602作为输出显示系统提示信息的电子密码锁的设计与实现。2 系统设计2.1 功能设计本系统拟采用单片机为主控芯片,由于单片机种类繁多,各种型号
8、都有其各自特点,应用于不同的环境,因此在选用时要多加比较。一般来说,在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行/并行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性等等。基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用该单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机I/O接口上外接输入键盘用于输入和一些功能的控制。考虑到密码的存在形式一般为数字或字母形式,而字母数量众多,并且排列不规则,不能使用矩阵式键盘排列字母;并且按键过多会大大增加系统的体积,对适用性极为不利,故只使用数
9、字作为密码。阿拉伯数字不仅便于用户记忆,而且通用性极强,是作为密码的首选。10个数字需要1个不同的按键,故选用为4*4矩阵键盘;除去10个数字键,还剩6个按键可设置不同的功能。用户使用电子密码锁开锁的步骤为:用户输入数字密码,输入完毕后按确认键。如果密码正确,再按开锁键,即可开锁。如果密码错误则报警,如果密码错误多次,还会锁定键盘。这里需要蜂鸣器提示用户按键已按下,开锁需要继电器开关。液晶显示器则直观显示系统当前状态和提示用户需要做的操作。用户修改密码步骤为:首先输入旧密码,输入完毕后按确认键。如果密码正确再按改密键。输入两次新密码并确认。如果两次密码输入长度一致,则密码修改成功。如果两次输入
10、不一致,则密码修改失败。失败后只能重新输入旧密码才能继续改密。为防止系统发生异常,还应提供复位开关,在系统无法正常运转时手动复位。2.2 结构设计如图2-1所示,整个系统以单片机为核心,辅以若干外围电路。其中密码存储部分是输入输出双向结构,保证密码可以掉电保存,上电后读出。其余都是单向输入或输出。电源部分为整个系统供电,采用5V直流电源。键盘输入部分采用4*4矩阵行列键盘,需不断扫描检查有无按键按下。复位部分提供手动复位功能,当系统发生异常或未知错误时可以由用户手动复位单片机。晶振部分是提供外部石英晶体谐振器。系统输出有:液晶显示部分,为用户显示字符提示当前操作状态。蜂鸣器发声,提示用户按键已
11、按下,以及密码正确的提示音,错误的警告音等。开锁电路部分是控制继电器,只有密码正确并选择开锁后,继电器内部的电磁铁才会吸合,发光二极管电路连通后发光,表示锁已打开。3 硬件设计根据上面的结构设计思路,具体设计中选用一块20cm*10cm的通用PCB板做为系统焊接板。单片机为Atmel公司的AT89S52,电源部分为直流4.5V,3节5号电池供电,实验时也可以用直流5V电源供电。键盘输入部分为4*4矩阵薄膜键盘,不需上拉电阻,但扫描时需先给行线或列线供电。液晶显示器选用1602,可以显示两行,每行16个字符。蜂鸣器为有源5V。继电器为5脚5V。密码存储选用串行AT24C02芯片,256B空间,足
12、够存储密码,采用串行传输可以极大减少连线数目。系统原理电路图如图3-1所示。下面按系统的结构具体介绍一些电路及其所用的芯片。3.1 AT89S52简介AT89S52是一款低功耗、高性能CMOS8位微控制器,具有8K可编程 Flash存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。AT89S52具有以下标准功能:8K字节Flash, 256字节RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。其引脚如图3-2所示,下面简要介绍其引脚功能:V
13、CC:电源。本设计中接电源正极。GND:地。本设计中接电源负极。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写1时,引脚用作高阻抗输入。 P1口:P1口是一个具有内部上拉电阻的8 位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对 P1 端口写时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲
14、器能驱动4个TTL逻辑电平。对P3端口写RST:复位输入。晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。本设计中不需要外部程序存储器,因此需接高电平。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。PSEN:外部程序存储器选
15、通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。以上是AT89S52的引脚功能介绍,下面简要介绍AT89S52的存储器结构。AT89S52有单独的程序存储器和数据存储器,外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于AT89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:AT89S52有256字节片内数据存储器。高128字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1