基于单片机at89s51的电子密码锁系统单片机期末课程设计大学毕设论文.doc

上传人:红**** 文档编号:92384337 上传时间:2023-06-03 格式:DOC 页数:21 大小:520.50KB
返回 下载 相关 举报
基于单片机at89s51的电子密码锁系统单片机期末课程设计大学毕设论文.doc_第1页
第1页 / 共21页
基于单片机at89s51的电子密码锁系统单片机期末课程设计大学毕设论文.doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《基于单片机at89s51的电子密码锁系统单片机期末课程设计大学毕设论文.doc》由会员分享,可在线阅读,更多相关《基于单片机at89s51的电子密码锁系统单片机期末课程设计大学毕设论文.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于单片机AT89S51的电子密码锁系统第1节 引 言随着社会的发展电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,安全性能低,无法满足人们的需要。利用微处理器AT89S51作为控制元件设计了一种电子密码锁。其具有可设置多组密码、多次改写和保存密码的优点,克服了普通锁需要随身携带钥匙且易丢失、保密性差的缺点,在宾馆、办公大楼、仓库、保险柜和家庭普遍适用。1.1 电子密码锁系统概述 目前,最常用的锁是20世纪50年代意大利人设计的机械锁,其机构简单、使用方便、价格便宜

2、。但在使用中暴露了很多缺点:一是机械锁是靠金属制成的钥匙上的不同齿形与锁芯的配合来工作的。据统计,每4000把锁中就有两把锁的钥匙齿牙相同或类似,故安全性低,根据国外的统计资料,装有电子防盗装置的商业区或居民区盗窃犯罪率平均下降30%左右。二是钥匙一旦丢失,无论谁捡到都可以将锁打开。三是机械锁的材料大多为黄铜,质地较软,容易损坏。四是机械锁钥匙易于复制,不适于诸如宾馆等公共场所使用。出于安全、方便等方面的需要,许多智能锁(如指纹辨别、IC卡识别)已相继问世,但这类产品的特点是针对特定指纹或有效卡,只能适用于保密要求高且仅供个别人使用的箱、柜、房间等。另外,卡片式的IC卡易丢失,加上其成本一般较

3、高,在一定程度上限制了这类产品的普及和推广。随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用日趋重要。电子密码防盗锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。本系统从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用汇编语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。1.

4、2 设计任务和主要内容电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本系统的任务采用单片机C51作为单片机的核心单元,利用单片机串行发射、接收等功能而设计的一款具有本机开锁和报警功能的电子密码锁。主要分为以下几个部分:1)选择密码将编好的密码程序存储在EPROM中,用户通过密码选择键进行选择。具体操作过程如下:首先按下密码选择键,然后在逐渐输入号码,最后按下确认键即可。2)密码显示为了帮助用户确认是否有键按下,特在电路中设置了模拟显示电路;而为了防止密码外泄;显示时,并不是显示用户按下的数字符号,而是以一个特定的字母符号提醒用户是否有

5、键按下。有键按下,就会显示出字符-“*”,没键按下,则不会显示字符。这样既巧妙的提醒了用户又保护了用户密码,此乃本设计可靠性优点之一。 3)本机键开锁当用户键入正确密码后,在按确认键,便会自动开锁。但用户键入密码时应注意:数字与数字之间的间隔时间为2分钟,例如密码为32796,当键入第一个数字3后应在2分钟内键入第二个数字2,否则,就会视为无效。如果键入完密码后不按确认键系统会当做放弃开锁处理 4)密码错误报警当用户键入错误密码时,系统就会报警,由扬声器发出5秒报警声。当连续三次出现密码错误时,则系统会长期报警不止。这时必须按复位方可停止。此乃安全可靠性之一。待解决的问题是实现遥控开锁,当此锁

6、用于私家车库或仓库时,用户可以不用上车,只要手执遥控器,键入正确密码,便会自动开锁;如果密码错误,同样也会报警。还有实现声控开锁,这种开锁方式在于方便且快速比遥控式还的待遥控器既不方便又怕丢失遥控器。但声控式容易被别人模仿。有一定的失密性。第2节 主要元器件介绍2.1 主控芯片AT89S51AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位

7、中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。其AT89S51芯片引脚图如图2-1所示:图2-1 AT89S51 芯片引脚图其主要功能特性: 兼容MCS-51指令系统 4k可反复擦写(1000次)ISP Flash ROM 32个双向I/O口 4.5-5.5V工作电压 2个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 128x8 bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的ISP字节和分页编

8、程 双数据寄存器指针 可以看出AT89S51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。同时AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM定时/计数器,串行通信口及中断系统继续工作。掉电方式何在RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直接到一个硬件复位。2.1.1 AT89S51芯片内部结构特殊功能寄存器:特殊功能寄存器的片内空间分存如下图2-2所示

9、,这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。而写这些地址单元将不能得到预期的结果。中断寄存器:各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。图2-2为AUXR辅助寄存器。图2-2 AUXR辅助寄存器双时钟指针寄存器:为方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存储器:PD0位于SFR区块中的地址82H、83H和DP1位于地址84H、85H,当SFR中的位DPS=0时选择DP0,而DPS=1时选择DP1,在使用前初始化DPS。双时钟指针寄存器如图2-3所示:图2-3 双时钟指针寄存器2.2 存储芯片AT24C02AT

10、24C02是美国Atmel公司的低功耗CMOS型E2PROM,内含2568位存储空间,具有工作电压宽(2.55.5 V)、擦写次数多(大于10000次)、写入速度快(小于10 ms)、抗干扰能力强、数据不易丢失、体积小等特点。而且他是采用了I2C总线式进行数据读写的串行器件,占用很少的资源和IO线,并且支持在线编程,进行数据实时的存取十分方便。AT24C02中带有的片内地址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。所有字节均以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8个字节的数据。I2C总线是一种用于IC器件之间连接的二线制总线。他

11、通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。 AT24C02正是运用了I2C规程,使用主从机双向通信,主机(通常为单片机)和从机(AT24C02)均可工作于接收器和发送器状态。主机产生串行时钟信号(通过SCL引脚)并发出控制字,控制总线的传送方向,并产生开始和停止的条件。无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。AT24C02的控制字,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线传送的方向。AT24C02的引脚图和电路接线图分别如图2-4和图2-5所示:图2-4 AT24C02的两种引脚图 图

12、2-5 AT24C02的电路接线图图中AT24C02的1、2、3脚是三条地址线,用于确定芯片的硬件地址。在AT89C51试验开发板上它们都接地,第8脚和第4脚分别为正、负电源。第5脚SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,在AT89C51试验开发板上和单片机的P3.5连接。第6脚SCL为串行时钟输入线,在AT89C51试验开发板上和单片机的P3.6连接。SDA和SCL都需要和正电源间各接一个5.1K的电阻上拉。第7脚需要接地。2.3 LCD1602显示器现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602型LCD显示模块具有体积小,功耗低,显示内容

13、丰富等特点。1602型LCD可以显示2行16个字符,有8位数据总线D0D7和RS,R/W,EN三个控制端口,工作电压为5V,并且具有字符对比度调节和背光功能。2.3.1 接口信号说明1602型LCD的接口信号说明如表2-1所示:表2-1 1602型LCD的接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3V0液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背

14、光源正极8D1Data I/O16BLK背光源负极2.3.2 主要技术参数1602型LCD的主要技术参数如下表所示: 表2-2 1602型LCD的主要技术参数显示容量16X2个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.95X4.35(WXH)mm2.3.3 基本操作程序读状态:输入:RS=L,RW=L, E=H 输出:D0D7=状态字读数据:输入:RS=H,RW=H, E=H 输出:无写指令:输入:RS=L,RW=L, D0D7=指令码,E=高脉冲 输出:D0D7=数据写数据:输入:RS=H,RW=L, D0D7=数据, E=高脉冲 输出:

15、无第3节 系统主要硬件电路设计 3.1 设计方案的选择 方案一:采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差,故不采用。方案二:采用以单片机为核心的控制方案由于单片机种类繁多,各种

16、型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89S51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性

17、,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。3.2 单片机设计原理

18、本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程

19、序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。其原理框图如图3-1所示:AT89C51键盘输入复位电路密码存储电路晶振电路电源输入显示电路报警电路开锁电路图3-1 电子密码锁原理框图3.3 单片机电路总体构成在确定了选用什么型号的单片机后,就要确定在外围电路,其外围电路包括电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,根据实际情况键盘输入部分选择4*4矩阵键盘,显示部分选择字符型液晶显示LCD1602,密码存储部分选用AT24C02芯片来完成。其原理图如图3-2所示: 图3

20、-2 单片机电路原理图3.4 键盘输入部分电路由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。键盘的每个按键功能在程序设计中设置。其大体功能(看键盘按键上的标记)及与单片机引脚接法如图3-3所示:图3-3 键盘输入原理图3.5 电源输入部分电路密码锁主控制部分电源需要用5V直流电源供电,其电路如图3-4所示,把频率为50Hz、有效值为220V的单

21、相交流电压转换为幅值稳定的5V直流电压。其主要原理是把单向交流电压经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。需通过低通滤波电路滤波,使输出电压平滑。本电路使用集成稳压芯片7805解决了电源稳压问题。图3-4 电源输入电路原理图3.6 复位部位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从

22、这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间),P0口为高组态,P1P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图3-6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻 上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱离复位状态,由于电容C1足够大,可以保证RST高电平有效时间大

23、于24个振荡周期,CPU能够可靠复位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C1通过R5放电。当电容C1放电结束后,RST端的电位由R5与R6分压比决定。由于R53?报警程序NYNY返回确认程序再次输新密码两次新密码输入相同?NY图4-3 开锁流程初始化按开锁键输入密码确认程序所输入密码正确?Y开锁成功开锁程序输入次数加1次数3?报警程序返回NYN图4-4 开锁流程图4.4 延时程序: T10MSD:SETB RS0 MOV R4, #12 TM:MOV R3, #128 TM6:DJNZ R3, TM6 DJNZ R4, TM CLR RS0 RETT100MSD:MOV R3, #200 D11:MOV R4, #125 D12:DJNZ R4, D12 DJNZ R3, D11 RET T500MSD:LCALL T100MSD LCALL T100MSD LCALL T100MSD LCALL T100MSD LCALL T100MSD NOP RET SEC:SETB RS1 MOV R7, #0AH SEC_LP:LCALL T100MSD DJNZ R7,SEC_LP NOP CLR RS1 RET END B5 s 20

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁