课程设计基于AT89S52单片机的液晶显示电子密码锁的设计与实现

上传人:工**** 文档编号:470050472 上传时间:2022-12-05 格式:DOC 页数:20 大小:539.01KB
返回 下载 相关 举报
课程设计基于AT89S52单片机的液晶显示电子密码锁的设计与实现_第1页
第1页 / 共20页
课程设计基于AT89S52单片机的液晶显示电子密码锁的设计与实现_第2页
第2页 / 共20页
课程设计基于AT89S52单片机的液晶显示电子密码锁的设计与实现_第3页
第3页 / 共20页
课程设计基于AT89S52单片机的液晶显示电子密码锁的设计与实现_第4页
第4页 / 共20页
课程设计基于AT89S52单片机的液晶显示电子密码锁的设计与实现_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《课程设计基于AT89S52单片机的液晶显示电子密码锁的设计与实现》由会员分享,可在线阅读,更多相关《课程设计基于AT89S52单片机的液晶显示电子密码锁的设计与实现(20页珍藏版)》请在金锄头文库上搜索。

1、 课程设计题 目:电子密码锁设计学院(系):工业学院专业年级:07级1班机械设计制造及其自动化学生姓名:指导教师:完成日期:2010-1-5- 13 -摘 要单片机技术是智能化检测与控制领域应用非常普及并且具有很大潜力的技术。论文阐述一个基于单片机的液晶显示电子密码锁的设计与实现。系统采用美国Atmel公司的AT89S52单片机作为系统核心,液晶显示器LCD1602作为输出设备显示系统提示信息,4*4矩阵薄膜键盘作为输入设备,CMOS串行E2PROM存储器AT24C02作为数据存储器,配合蜂鸣器、继电器等电路构成整个系统硬件;系统软件采用汇编语言编写。设计的系统液晶显示,密码修改方便,具有报警

2、、锁定等功能,使用便捷简单,符合住宅、办公用锁需求,具有一定的实用价值。关键词:密码锁;单片机;AT89S52;LCD1602;AT24C021 引言 锁具是源流千古的社会性用品,主要用于日常生活和工作中,住宅与部门的安全防范。当前门锁的主流是弹子锁,其保密性不强,钥匙容易被仿制和意外丢失;且持有者需随时携带钥匙,使用不方便。保存贵重物件的保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高昂,且易出现故障。随着科技、经济和社会的发展,当今社会公共安全防范系统对锁具的保密性、牢固性、可靠性、耐用性以及安装使用等提出了新的更高的要求。针对原有锁具的特点和缺陷,为满足人们对锁的使用需求,

3、增加其安全性,用密码代替钥匙的电子密码锁应运而生。2 系统设计2.1 功能设计本系统拟采用单片机为主控芯片,由于单片机种类繁多,各种型号都有其各自特点,应用于不同的环境,因此在选用时要多加比较。一般来说,在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行/并行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性等等。基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用该单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。单片机密码存储开锁部分液晶显示发声部分电源键盘复位晶振图2-1 系统结构图在单片机I/

4、O接口上外接输入键盘用于输入和一些功能的控制。考虑到密码的存在形式一般为数字或字母形式,而字母数量众多,并且排列不规则,不能使用矩阵式键盘排列字母;并且按键过多会大大增加系统的体积,对适用性极为不利,故只使用数字作为密码。阿拉伯数字不仅便于用户记忆,而且通用性极强,是作为密码的首选。10个数字需要1个不同的按键,故选用为4*4矩阵键盘;除去10个数字键,还剩6个按键可设置不同的功能。用户使用电子密码锁开锁的步骤为:用户输入数字密码,输入完毕后按确认键。如果密码正确,再按开锁键,即可开锁。如果密码错误则报警,如果密码错误多次,还会锁定键盘。这里需要蜂鸣器提示用户按键已按下,开锁需要继电器开关。液

5、晶显示器则直观显示系统当前状态和提示用户需要做的操作。用户修改密码步骤为:首先输入旧密码,输入完毕后按确认键。如果密码正确再按改密键。输入两次新密码并确认。如果两次密码输入长度一致,则密码修改成功。如果两次输入不一致,则密码修改失败。失败后只能重新输入旧密码才能继续改密。为防止系统发生异常,还应提供复位开关,在系统无法正常运转时手动复位。2.2 结构设计如图2-1所示,整个系统以单片机为核心,辅以若干外围电路。其中密码存储部分是输入输出双向结构,保证密码可以掉电保存,上电后读出。其余都是单向输入或输出。电源部分为整个系统供电,采用5V直流电源。键盘输入部分采用4*4矩阵行列键盘,需不断扫描检查

6、有无按键按下。复位部分提供手动复位功能,当系统发生异常或未知错误时可以由用户手动复位单片机。晶振部分是提供外部石英晶体谐振器。系统输出有:液晶显示部分,为用户显示字符提示当前操作状态。蜂鸣器发声,提示用户按键已按下,以及密码正确的提示音,错误的警告音等。开锁电路部分是控制继电器,只有密码正确并选择开锁后,继电器内部的电磁铁才会吸合,发光二极管电路连通后发光,表示锁已打开。3 硬件设计图3-1 系统原理电路图根据上面的结构设计思路,具体设计中选用一块20cm*10cm的通用PCB板做为系统焊接板。单片机为Atmel公司的AT89S52,电源部分为直流4.5V,3节5号电池供电,实验时也可以用直流

7、5V电源供电。键盘输入部分为4*4矩阵薄膜键盘,不需上拉电阻,但扫描时需先给行线或列线供电。液晶显示器选用1602,可以显示两行,每行16个字符。蜂鸣器为有源5V。继电器为5脚5V。密码存储选用串行AT24C02芯片,256B空间,足够存储密码,采用串行传输可以极大减少连线数目。系统原理电路图如图3-1所示。下面按系统的结构具体介绍一些电路及其所用的芯片。3.1 AT89S52简介AT89S52是一款低功耗、高性能CMOS8位微控制器,具有8K可编程 Flash存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。AT89S52具有以下标准功能

8、:8K字节Flash, 256字节RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。其引脚如图3-2所示,下面简要介绍其引脚功能:图3-2 AT89S52引脚图VCC:电源。本设计中接电源正极。GND:地。本设计中接电源负极。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写1时,引脚用作高阻抗输入。 P1口:P1口是一个具有内部上拉电阻的8 位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对 P1 端口写1时,内部上拉电阻把端口拉高

9、,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写1时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写1时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。RST:复位输入。晶振工作时,RST脚持续2个机器周期高电

10、平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。EA/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。本设计中不需要外部程序存储器,因此需接高电平。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSE

11、N在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。以上是AT89S52的引脚功能介绍,下面简要介绍AT89S52的存储器结构。AT89S52有单独的程序存储器和数据存储器,外部程序存储器和数据存储器都可以64K寻址。程序存储器:如果EA引脚接地,程序读取只从外部存储器开始。对于AT89S52,如果EA接VCC,程序读写先从内部存储器(地址为0000H1FFFH)开始,接着从外部寻址,寻址地址为:2000HFFFFH。数据存储器:AT89S52有256字节片内数据存储器。高128

12、字节与特殊功能寄存器重叠。也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。3.2 液晶显示电路3.2.1 LCD1602简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,市面上字符液晶绝大多数是基于HD44780液晶芯片,HD44780是带西文字库的液晶显示控制器,用户只需要向HD44780送ASCII的字符码,HD44780就按照内置的ROM点阵发生器自动在LCD液晶显示器上显示出来。所以,HD44780主要适用于显示西文ASCII字符内容的液晶显示。图

13、3-3 LCD1602引脚图1602字符型LCD能够同时显示16*2即32个字符(16列2行)。其内置192种字符(160个5*7点阵字符和32个5*10点阵字符),具有64个字节的自定义字符RAM,可自定义8个5*8点阵字符或4个5*11点阵字符。1602通常有14条引脚线或16条引脚线两种,多出来的2条线是背光电源线和地线,带背光的比不带背光的略厚,控制原理与14脚的LCD完全一样,是否带背光在应用中并无差别。本设计中采用带背光16引脚线的。其主要技术参数为:显示容量:162个字符。芯片工作电压:4.5-5.5V。工作电流:2.0mA(5.0V)。模块最佳工作电压:5.0V。字符尺寸:2.

14、954.35(WH)mm。LCD1602的16个引脚可参照图3-3,其引脚功能分别为:VSS:电源地(GND)。VCC:电源电压(5V)。V0:LCD驱动电压,液晶显示器对比度调整端。使用时可以通过一个10K的电位器调整对比度,接正电源时对比度最弱,接地电源时对比度最高。RS:寄存器选择输入端,选择模块内部寄存器类型信号。RS=0,进行写模块操作时指向指令寄存器,进行读模块操作时指向地址计数器。RS=1,无论进行读操作还是写操作均指向数据寄存器。R/W:读写控制输入端,选择读/写模块操作信号。R/W=0,读操作;R/W=1,写操作。本设计中只需往LCD里写数据即可,写时序见图3-4。E:使能信

15、号输入端。读操作时,高电平有效;写操作时,下降沿有效DB0DB7:数据输入/输出口,单片机与模块之间的数据传送通道。选择4位方式通讯时,不使用DB0DB3。BLA:背光的正端+5V。BLK:背光的负端0V。3.2.2 LCD1602电路图3-5 液晶显示电路图如图3-5,AT89S52的P0口接1602的8位数据线,通过输出数据控制1602显示不同的提示字符。1602本身内置各种字符,还可以自定义显示字符。本设计中根据不同场合1602会显示各种提示字符,显示内容对应含义见表3-6。P3.0P3.2接1602控制端,其中P3.0接使能端E,写操作时,使能端下降沿有效。P3.1接读写控制端R/W,R/W=0,读操作;R/W=1,写操作。P3.2接寄存器选择端RS,RS=0,写操作时指向指令寄存器,读操作时指向地址寄存器;RS=1,无论读操作还是写操作都指向数据寄存器。LCD1602的VSS为电源地,需接地;VDD为电源电压;V0为LCD驱动电压,接电位器,通过调节电位器控制显示的亮度,使LCD显示清晰而无黑影。背光电源线LCD正负两端分别接电源和地即可。3.3 发声电路图3-6 发声电路图发声部分的电路如图3-6,就是用P2.1口控制一个有源蜂鸣器

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号