




免费预览已结束,剩余40页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业论文基于单片机的电子密码锁设计与仿真独 创 性 声 明本人郑重声明:所呈交的毕业设计是本人在指导老师指导下取得的研究成果。除了文中特别加以注释和致谢的地方外,设计中不包含其他人已经发表或撰写的研究成果。与本研究成果相关的所有人所做出的任何贡献均已在设计中作了明确的说明并表示了谢意。签名: 年月 日授 权 声 明本人完全了解许昌学院有关保留、使用本科生毕业设计的规定,即:有权保留并向国家有关部门或机构送交毕业设计的复印件和磁盘,允许毕业设计被查阅和借阅。本人授权许昌学院可以将毕业设计的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编设计。本人设计中有原创性数据需要保密的部分为(如没有,请填写“无”):无 签名: 年 月 日指导教师签名: 年 月 日摘 要在现代家庭安全防范领域,具有电子防盗报警功能的电子密码锁将逐步取代传统的机械式密码锁,克服机械式密码锁密码位数少,安全性能差的缺点。随着当今大规模集成芯片技术的发展,基于单片机控制而设计的电子密码锁,不仅提高了密码位数、实现密码的智能管理,而且由于价格低廉,适合大众化家庭使用,使得电子密码锁的使用日益广泛。本文介绍一种以AT89C52作为主控中心,结合键盘输入、LCD液晶显示、并具有掉电密码保护、密码防试探报警功能的电子密码锁。通过在PROTEUS仿真软件上的检测论证,该设计简单易行,且成本低廉,实用性较强,适合在许多场合使用。关键词:电子密码锁;AT89C52;LCD液晶显示;PROTEUS;ABSTRACTIn the modern family security area, a lock with electronic alarm function will gradually replace traditional mechanical trick lock, overcome the disadvantages of mechanical trick lock ,such as the passwords digits less,safety performance poor. With the large scale integrated chip technology development, the electronic combination lock which designs based on single-chip microcomputer control of , not only increased the password digits, and intelligent passwords management,but also for the price is low, suitable for general family use, makes it will be widely used. This paper introduces a kind of electronic combination lock,which based on AT89C52 as the master center,combine with keyboard input, LCD, having the function of password protection when power off and code alarm, against Password probe. Checked on the PROTEUS simulation software test , this design has the advantages of simplicity,low cost and strong practical properly ,suitable for most occasions.Key words: Electronic combination lock;AT89C52;LCD;PROTEUS;目 录1 绪论11.1 锁的发展简介11.2 电子密码锁的基本原理11.3 电子密码锁的结构图22 电子密码锁的硬件模块介绍22.1 AT89C52主控模块22.1.1 AT89C52简介22.1.2主要特性32.1.3引脚介绍32.2键盘设计52.3电源电路设计52.4 LCD液晶显示62.4.1 LM016L简介62.4.2 引脚功能及时序选择72.5门锁驱动电路72.6报警器的设计82.7掉电密码保护部分92.8电子密码锁仿真电路图113 电子密码锁的软件部分113.1概述及主程序113.2各模块功能介绍133.2.1系统初始化模块:133.2.2键盘扫描和识别子模块:133.2.3开锁程序流程:143.2.4密码设置153.2.3 显示子模块164仿真结果及程序174.1仿真平台介绍174.2仿真结果175 设计总结21参考文献22附 录 程 序23致谢411 绪论1.1 锁的发展简介 随着社会的发展和人民生活水平的不断提高,人们的安全防范意识不断提高,锁在人民日常生活中扮演着越来越重要的角色。早在公元前3000前的中国仰韶文化遗址中,就保存有木结构建筑上的木锁,东汉时,中国铁质三簧锁已具有相当高的技术水平。当今社会,随着科技的发展,各种各样的锁更是层出不穷,磁控锁、声控锁、超声波锁、红外线锁、指纹锁、眼球虹膜锁等都是现代科技下催生的高技术产品。这些产品与传统的机械式锁相比,具有密码位数多,识别方式难以复制等优点,特别是一些应用人体生物特性的锁,其识别特征更是难以伪造,安全性更高。但这些产品都有着各自的使用范围,并不一定适合普通人使用,基于此,本文设计并讨论了一种基于单片机的密码锁,不但可以解决传统机械式锁的缺点,并且可以提高安全性,满足普通人对于安全防范的要求。1.2 电子密码锁的基本原理电子密码锁是一种通过密码输入来控制电路或者芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子锁。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较为广泛的电子密码锁是以芯片为核心,通过编程来实现的。这种密码锁具有保密性好、编码量多、密码可变、密码输入保护、报警等优点。基于密码锁的基本要求,其外部硬件电路设计必须满足以下要求:(1) 作为主控中心的芯片必须具有较强的处理能力,用以满足对输入设备的扫描、显示设备的数据读写,以及报警电路的控制等功能。(2) 输入设备必须具备多字符输入的功能,用以保证密码的复杂度和反破解性,确保密码的安全性。(3) 显示设备能够显示简单的数字、字母等其他简单字符,能够起到提示用户的作用。基于上述要求,本设计以AT89C52单片机芯片为核心,将其作为主控中心,结合4*4矩阵式键盘作为密码输入设备、1602LCD液晶显示屏作为显示设计、以24C03记忆芯片作为掉电密码存储设备,采用家用220V交流电经变压整流成5V直流电后为系统供电以保证该密码锁的正常工作。本设计具体开锁过程是89C52首先接受从键盘输入的密码,与存储在EEPPROM内预置的密码进行比对,如果密码正确则发送信号,驱动开锁电路打开电磁锁;如果使用者连续三次密码都输入错误则向报警电路输送报警信号,驱动蜂鸣器鸣叫,实现报警功能;当使用者需要修改密码时,首先进行原密码验证,获得修改权限后才能进行密码修改,密码修改过程中同样有次数限制,如果三次都修改不成功,则驱动蜂鸣器发出报警信号,同时锁死密码锁。在开锁与密码输入、重置过程中,主程序调用显示,将输入字符以暗码“*”形式显示在LCD上,同时给出输入提示,方便使用者的操作。 1.3 电子密码锁的结构图电源控制系统89C52主控中心4*4键盘LCD液晶显示门锁驱动电路报警电路掉电密码保护图1-3 电子密码锁原理结构图2 电子密码锁的硬件模块介绍2.1 AT89C52主控模块2.1.1 AT89C52简介AT89C52是Intel公司生产的单片机芯片,采用Intel公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCOMSCH的产品。结合了HMOS的高速和高密度及CHMOS的低功耗特征,它属于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,继承了时钟输出和向上或向下计数器等更多的功能。80C52内置8位中央处理单元、256字节内部数据存储RAM,8K内程序存储器ROM、32个双向输入/输出口,3个16位定时/计数和5个两级中断结构,一个全双工串行通信接口,片内时钟振荡电路。此外还可以通过软件选择其低功耗工作模式:空闲和掉电模式。空闲模式下冻结CPU而RAM、定时器、中断系统和串行口等都维持其功能。掉电模式下,保存其RAM数据,时钟振荡停止,同时停止芯片内其他功能。2.1.2主要特性表2-1-2 89C52的主要特性标准MCS-51内核和指令系统32个双向输入输出(I/O)口3个16位可编程定时/计数器6个中断源向上或者向下定时计数器全双工串行通信口片内8KROM256*8BIT内部RAM时钟频率为3.5-12/24/33MHz空闲和掉电节省模式5V工作电压全双工串行通信口布尔处理器帧错误侦测自动地址识别四层优先级中断结构2.1.3引脚介绍 P0,P1,P2,P3口各自对应的管脚如下图所示; P3.0、P3.1是串行输入口、输出口; P3.2、P3.3是外部中断0和1; P3.4、P3.5为计时器0和1外部输入; P3.6、P3.7为外部数据存储器的写和读选通引脚; RST(复位输入)对应于第9引脚,当振荡器复位器件时,要保持两个周期的高电平时间; PESN外部程序存储器的选通信号。在由外部程序存储器取址期间,每个机器周期两/PESN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现; EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1、XTAL2外接晶振引脚,外接石英晶体或者陶瓷振荡器以及电容接在放大器的反馈回路中构成并联振荡电路; ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的字节。在FLSAH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,因此可用于做对外部输出的脉冲或者用于定时目的。但是,当用作外部数据存储器时,将跳过一个脉冲。图2-1-3 89C52的引脚图另外本设计采用AT89S52微处理器,主要基于以下几个因素: AT89S52为51内核,仿真调试的软硬件资源丰富。 性价比高,货源充足。 功耗低,功能强,灵活性高。 DIP40封装,体积小,便于产品小型化。 为EEPROM程序存储介质,1000次以上擦写周期,便于编程调试。 工作电压范围宽:2.7V6V,便于交直流供电。2.2键盘设计 键盘是基本的输入设备,本设计中利用单片机的P1口设计的4*4行列式键盘能够满足对于密码输入需求。下图是具体的硬件电路设计:图2-2 键盘设计图左侧图为按键的设计图。具体工作原理:假设KC0-KC3(图中列线分别接单片机P1.0-P1.3)和KR0-KR3(图中行线分别接P1.4-P1.7)在没有受到驱动时为低电平。每10ms定时查询一次KR0-KR3,当发现其中有某一个变为高电平时就进一步扫描,看看哪一个键被按下,查到后记录,然后接着查询KC0-KC3,找到是哪一个被置为高电平,然后根据行和列找出哪一个键被按下了。查询过程中,按键有可能因为其它因素发生抖动,故此,在键盘的软件设计中加入防抖动,防止系统出现误判的可能,具体方法是假设6键被按下,则查询到KR1出现高电平后,每间隔50ms查询一次KC2的状态,连续读三次,如果3次KC2都是高电平,则可以确定6键被按下。2.3电源电路设计 作为主控中心的89C52单片机及其外围电路需要5V的直流电源供电,但是市供电网提供的是220V交流电,为此需要进行变压和整流才能给系统供电。图2.3是为系统设计的电源供电电路。 由于输入电压是家用电网电压,其幅值和需求电压幅值相差较大,因此图中左侧变压器的功能是将220V,50Hz的单相交流电进行降压处理,再经二极管整流电桥进行整流,但此时得到的电压依旧含有较大成分的交流成分,会影响到负载的正行工作。故此需要进行滤波处理,图中由C1、C2构成的简易低通滤波器能够滤除交流成分,使输出电压平滑。然而此时的输出电压不稳定依旧不能使用,必须经稳压处理,本设计采用7805稳压芯片解决此问题。三端稳压集成芯片78/79系列组成稳压电源所需的外围器件少,其内部还有过流、过热及调整管的保护电路,使用起来方便、易行,且价格便宜。该系列的稳压IC后面的数字代表输出电压,如7809代表输出电压为9V。将经变压、整流、滤波后的电压输入7805后获得不受电网电压波动和负载电阻变化影响的稳定高性能电压。图2-3 电源电路图2.4 LCD液晶显示2.4.1 LM016L简介 为了能够更好的进行人机交互,方便使用者的操作,为此本设计选用了LM016L液晶显示模块如图所示。该液晶显示模块具有体积小、功耗低、显示功能强等优点。该显示模块采用HD44780控制器,具有简单而功能较强的指令集,可实现字符移动,闪烁等功能。LM016L与89C52结合通讯可以采用8位或者4位并行传输方式。HD44780的内部寄存器包括数据寄存器(CDR)和指令寄存器(CIR)、忙标志BF、地址计数器AC、显示数据存储器(DDRAM)、字符发生器(CGROM)、用户字符发生器(CGRAM)。其中当BF=1时,正在进行内部操作,此时任何对它的指令都被忽略,所以当执行命令S时需要确认BF值,BF可以通过“RS=0、R/W=1”时读出“DB7”的值得到。DDRAM最多可以存储80个字符码,其地址指针存储在AC中。CGROM的标准字库中含有158个5*7点阵字符和32个5*10点阵字符。CGRAM允许用户制作字符,但是最多能制作8个5*8点阵字符。 图2-4-1 LCD引脚图2.4.2 引脚功能及时序选择 VSS:接地电源; VDD:5V电源引脚; RS:寄存器选择引脚,高低电平不同时所用的寄存器不同,高电平用数据寄存器,低电平用指令寄存器; RW:信号读写引脚,高电平时进行读操作,低电平时进行写操作。 E:使能端,下降沿有效。 DB0-DB3:低四位三态双向数据总线,对应于03位。 DB4-DB7:高四位三态双向数据总线,对应于47位。时序选择:表2-4-2 LCD时序图RSRWE操作说明00下降沿清除屏幕,写入指令寄存器01高电平读取位地址计数器(DB0DB6)的值10下降沿写入数据寄存器(字符显示)11高电平从数据寄存器中读取数据其具体电路连接如图所示:RP1为上拉电阻。图2-4-2 LCD引脚连接图2.5门锁驱动电路 当用户按下开锁键后如果密码输入正确,主控中心则发送信号驱动打开电磁锁。其电路如图2.5.1所示,本设计使用单片机引脚线P2.7发出信号,经三极管放大后,由继电器驱动电磁阀动作将锁打开。用户通过键盘任意设置密码,并储存在EEPROM中作为锁码指令。只有用户操作键盘时,单片机的电源端才能得到3V电源,否则单片机处于节电工作方式。开锁步骤如下:首先按下键盘上的开锁按键,然后利用键盘上的数字键09输入密码。当用户输入一密码后,单片机自动识码,如果识码不符,则报警。只有当识码正确,单片机才能控制电子锁内的微型继电器吸合。当继电器吸合以后带动锁杆伸缩,这时,锁勾在弹簧的作用下弹起,完成本次开锁。开锁以后,单片机自动清除掉由用户输人的这个密码。电磁锁要保证提供的吸合力足够且留有余量,还要能够在一定程度上防止外界的电磁干扰,这样才能保证电磁锁的安全性。本设计中因为并没有采用实物进行实验,只是在仿真平台上进行仿真,故只采用一个发光二极管来代表门锁,当二极管发光时代表门锁锁上;二极管熄灭时代表门锁关闭如图2-5-2。图2-5-1 电磁锁电路连接图图2-5-2 仿真替代图2.6报警器的设计 当使用者进行开锁操作时,如果用户输入的密码有误,或者输入密码的次数超过预设次数,主控中心则发送信号驱动蜂鸣器鸣叫,同时发光二级光闪烁,进行报警。本设计中采用如图2.6所示的蜂鸣器驱动电路。驱动电路由一个蜂鸣器、三极管构成的。三极管起到开关的作用,当用户进行开锁操作时,如果用户输入密码不正确,主控中心则发送信号,驱动蜂鸣器短时鸣叫,同时LED闪烁,用来提示用户;如果用户密码输入超过次数限制,则驱动蜂鸣器长时鸣叫,LED同时闪烁,起到报警作用。图2-6 蜂鸣器报警电路2.7掉电密码保护部分当系统掉电后,当前设置的密码必须能够存储起来,为此,本设计采用一个FM24C03存储芯片。该芯片具有2KB的可擦写存储容量,内部组织为256字节,每字节8位且采用I2C总线式进行数据读写的串行器件,占用很少的资源和I/O线,支持在线编程。I2C总线是由飞利浦公司开发的两线式串行总线,用于连接微控制器及其外围设备,是同步通信的一种特殊形式,其只需要两条总线线路:一条串行数据线SDA,一条串行时钟SCL。它是一个真正的多主机总线,每一个连接到总线的器件都是通过唯一的地址和一直存在的简单的主/从机关系软件设定地址,传输速率很高,标准模式下可达100kbit/s,快速模式下可达400kbit/s,同时具有接口线少,控制方式简单,器件封装形式小等优点。其引脚如图。图2-7-1 FM24C03记忆芯片引脚图 SCL:串行时钟输入。在输入时钟信号的上升沿将数据送入EEPROM器件,并在下降沿将数据读出; SDA:串行数据输入输出。能够实现双向串行数据传输; WP:写保护; A0A2:地址输入。与硬件连接的器件地址输入,可寻址八个2K器件;特性: 工作电压: 2.2V5.5V; 内部结构: 256 x 8 (2K),512 x 8 (4K),1024 x 8 (8K) 或 2048 x 8 (16K); 二线串行接口;输入引脚经施密特触发器滤波抑制噪声; 双向数据传输协议; 兼容100KHz(2.2V)和400KHz(5V)操作; 支持硬件写保护; 其引脚连接电路如图:图2-7 记忆芯片电路连接图2.8电子密码锁仿真电路图图2-8 电子密码锁仿真图3 电子密码锁的软件部分3.1概述及主程序 单片机的开发除了需要硬件的支持以外,更多的工作是软件设计,而且CPU真正可执行的是机器语言,即用汇编语言、C语言或者其它高级语言编写的程序代码必须经编译器编译成机器能够识别的机器码以后才能被识别和执行。这就要求设计者必须花大量的工作和精力根据实际的需要进行应用程序的设计,本设计中,软件设计同样占有重要的地位。在单片机控制应用系统中,大致可以分为数据处理、过程控制两个基本过程。其中数据处理包括:数据的初始化、数据信息的采集、冗余数据过滤、数据转换等过程。过程控制则包括根据流程需要设计的算法以及此算法的代码实现等,只有将上述二者结合起来,才能设计出符合系统要求且能够完成预期目的的程序。程序设计中各个模块的功能是不一样的,各个模块函数在主函数的统一调度下才能完成使用者得要求。本系统软件设计包括主程序、系统初始化、LCD显示程序、键盘输入扫描、密码设置、密码读取验证、延时程序等几部分组成,这是密码锁正常工作时系统控制流程图:子程序模块根据键值转入子程序调用显示执行完毕开始结束程序系统初始化关闭键盘扫描图3-1 主程序流程图3.2各模块功能介绍 在进行程序设计时,把整个程序分成多个任务明确的子程序模块分别进行设计,经过调用、跳转连接成完整的程序,这样的设计方法被称为模块化程序设计,这种方法具有以下优点:单个模块容易编写、调试及修改;易读性好、修改局部化;可以共享能被多个任务调用。由上流程图可以看出,设计中主要包含从系统初始化到最后的键值功能选择等几个模块。各个模块的工作原理如下。3.2.1系统初始化模块: 这个部分主要包括设置单片机各端口的初始电平,定时器中断初始化设置、中断向量等的初始状态。3.2.2键盘扫描和识别子模块:键值功能查询键盘设计采用扫描查询的方式,当有键按下时,根据其对应的键值,转到相应的子程序进行处理。如果没有按键被按下,则一直进行键盘扫描,等待按键命令。具体键盘工作流程如下:键值=“开锁” 开锁子程序 Y N密码设置模块键值=“设置” Y N输入清除程序键值=“清除” Y N 输入确认模块键值=“确认” Y N返回键值功能 图3-2-2 键值功能模块3.2.3开锁程序流程: 当主控中心检测到键盘输入值为开锁时,主程序则调用开锁子程序模块要求用户输入密码,然后根据将得到的值与初始密码对比,进一步决定是打开门锁还是执行报警操作,此过程中,调用显示模块将输入的密码以字符“*”显示,并将系统判断的结果在屏幕上显示出来。具体流程如下: 键值=“开锁键”调用键盘程序输入密码 Y 输入正确判断 清空重新输入 N Y 确认 密码正确吗?输入次数加1 N 次数3N Y驱动电磁锁开锁Y报警程序,同时锁死键盘返回图3-2-3 开锁流程图3.2.4密码设置 密码设置包括原始密码设置、密码重置,密码保存等基本步骤,同理在此过程中,同样调用显示模块将密码输入以及修改后的结果显示在屏幕上。具体密码设置流程如下:按下设置键输入旧密码按下确认键旧密码比较新密码输入次数3报警系统N输入次数加1 Y YN Y 再次输入密码返回main按下确认键密码对比N Y 修改成功返回MAIN 图3-2-4 密码设置流程3.2.3 显示子模块为了方便用户判断自己操作的结果是否正确,本设计将用户每次操作的要求以及操作结果反馈在LCD液晶屏上,这样大大方便用户与机器进行对话。其具体流程如下:开始缓存区数值传入寄存器A查表查表所得值传入P0口显示延时位选端开启位选端关闭返回数值显示结束?YN图3-2-3 显示子程序流程图4仿真结果及程序4.1仿真平台介绍本设计是在PROTEUS软件平台上进行电路设计并运行仿真的,软件编译部分是采用的是KEIL软件编译。PROTEUS是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。目前它是最好的单片机仿真及外围器件的工具。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。PROTEUS具有四大功能模块:智能原理图设计(ISIS),具有丰富的原件库、智能的器件搜索、智能化的连线功能、支持总线结构、电路图高质量输出;完善的电路仿真功能,基于工业标准的SPICE3F5,实现数字/模拟的混合仿真、多样的激励源、丰富的虚拟仪器、生动的仿真显示、高级图形仿真功能;独特的单片机协同仿真功能,支持主流的CPU类型、支持通用外设模型、实时仿真、编译及调试;实时的PCB设计平台,原理图到PCB的快速通道、先进的自动布局/布线功能、多种输出格式的支持。 汇编语言是面向机器的低级语言,采用助记符号来编写程序代码,比直接使用机器语言的二进制代码更加方便,在一定程度上减少了程序编写,而且相对于其他高级语言具有直接和简捷的特点,能够有效的运用于访问、控制计算机的各种硬件设备等,其目标代码简短,占用的内存少,执行速度快,因此经常和其他高级语言搭配使用。 KEIL C51是美国Keil Software公司出品的51系列能同时兼容单片机汇编和C语言软件开发系统,本设计的原理图绘制以及仿真都是在PROTEUS上进行,软件编译是在KEIL软件上经调试、编译后生成后缀为HEX的文件添加到单片机内进行仿真。4.2仿真结果 在PROTEUS中在线仿真,下图是密码锁启动时要求用户输入密码液晶显示图,LCD显示屏显示两种可选择的操作,发光二极管处于熄灭状态,代表门锁处于关闭状态。当用户根据自己的需要按下“A”或者“B”时,主控中心则根据检测到的键值,调用相应的子程序,执行下一步的操作。图4-2-1 门锁启动后等待输入(1)输入密码时LCD显示如图:图4-2-2 打开门锁输入密码(2)门锁打开,LCD上提示密码输入成功,同时表示门锁打开的发光二极管点亮:图4-2-3 门锁开启示意图(3)密码输入错误时,LCD上显示密码错误提示,同时蜂鸣器和发光二极管会鸣叫和闪烁,用以提示用户:图4-2-4 密码输入错误时开启报警(4)密码修改时,首先要求用户输入原始密码,密码正确才有修改权限:图4-2-5密码修改获取权限(5)修改密码时需要输入两次密码,只有两次都成功时,才能修改成功,如图所示:图4-2-6 密码修改(6)如果用户在开锁时,密码输入错误超过三次,那么密码锁就会锁死,不接受任何操作,同时显示密码锁被锁死、蜂鸣器鸣叫报警:图4-2-7 门锁锁死开启报警5 设计总结毕业设计是对我在大学四年内所学知识的一次全面检验,但对于我来说也是一次挑战。许多课本上的知识在运用到实践中时会碰到各种问题,比如在硬件电路设计时,从芯片的选择、元器件的搭配、甚至在仿真时线路的连接上都会出现意想不到的问题。幸好在指导老师的指导下得到解决,但是仍有部分问题有待解决,例如:设计中没有很好的解决密码锁在锁死后如何开锁,在电源设计时本打算使用具有双电源自动检测切换功能的供电系统,但是在电源检测设计中出现问题,故放弃此种设计。另外,对于密码部分的设计稍显简单,如果加入当前网络上普遍流行的密保卡验证或者是令牌验证,那么能在很大程度上提高密码锁的安全性。尽管设计中遇到很大问题,但在指导老师的帮助下,终于完成了毕业设计,这是对我的一次肯定,今后将更加努力学习!参考文献1 高小平.中国智能家居的现状及发展趋势M.低压电器,2004.42 金纯等编著.蓝牙技术M.北京:电子工业出版社,20073 何希才.传感器及其应用电路M.北京:电子工业出版社,20014 松井邦彦著.传感器应用技巧141例M.梁瑞林译.北京:科学出版社,20065 薛栋梁.MCS-5l/151/25l单片机原理与应用M.中国水利水电出版社,20046 李广弟,朱秀月. 冷祖祈.单片机基础M.北京航空航天大学出版社,20077 张海燕,苏新红. 基于AT89C2051单片机电子密码锁的设计J.内江科技,2010.318 陈丹萍.基于89S51单片机的电子密码锁设计J,大众科技,2010.69 朱璇,唐小茜 殷建军.基于单片机的智能加密电子密码锁设计J.轻工机械,2009.810 丁冬艳.基于单片机防盗电子密码锁设计J.硅谷.2010(1)11 吴小帆,许志华,吴玉翠.通用行电子密码锁J.商情2010(13)12 戚振兴.家居安防市场发展前景的全方思索J.广西轻工业,2009.1013 马冬梅,屈霞.一种简易红外遥控密码锁设计与实现J.现代电子技术,2010.1314 李华,孙静.密码锁在汽车方向盘上的应用J.电脑开发与应用.2005.18(3)15 蔡培中,李旭.具有断电密码记忆功能的电子密码锁群设计J.电气技术与自动化.2010,39附 录 程 序 EN BIT P2.2; RW BIT P2.1; RS BIT P2.0; DISPLAY EQU P0; SPEAKER BIT P3.6; LED BIT P3.7; OPEN BIT P2.7; RETURNBIT BIT 20H.1; ORG 0000H; LJMP START; ORG 000BH; LJMP INTERMIT_T0; ORG 001BH; LJMP INTERMIT_T1; ORG 0030H;START: MOV SP,#60H; LCALL SYS_INITIALIZATION;主程序MAIN0: LCALL STRAT_DISPLAY;MAIN: MOV 52H,#0; 52H判断输入错误次数储存地址 SETB SPEAKER; SETB TR0; LCALL KEY; CJNE A,#A,NEXT1; LJMP SET_PASSWORD;NEXT1: CJNE A,#B,NEXT2; LJMP INPUT_PASSWORD;NEXT2: AJMP MAIN;系统初始化SYS_INITIALIZATION: CLR LED; CLR OPEN; CLR SPEAKER; LCALL RDBYTE ;存放初始密码 MOV R7,#12; MOV R0,#40H;LOOP: MOV R0,#10H; INC R0; DJNZ R7,LOOP; ;密码键值存放区清零完毕 LCALL DELAY0_1S; MOV P0,#03H; CALL WRITE_INSTRUCTION; 液晶软复位 MOV P0,#01H; CALL WRITE_INSTRUCTION; MOV P0,#3FH; CALL WRITE_INSTRUCTION; MOV P0,#0FH; CALL WRITE_INSTRUCTION; MOV P0,#06H; CALL WRITE_INSTRUCTION; ;液晶初始化完毕 MOV R4,#10; MOV TMOD,#11H; MOV TH0,#3CH; MOV TL0,#0B0H; SETB EA; SETB ET0; ;定时器T0,0.5S定时中断初始化完毕 RET; ;系统初始化完毕;中断服务程序INTERMIT_T0: PUSH ACC; PUSH PSW; MOV TH0,#3CH; MOV TL0,#0B0H; DJNZ R4,RETURN; CPL LED; MOV R4,#10;RETURN: POP PSW; POP ACC; RETI;INTERMIT_T1: PUSH ACC; PUSH PSW; MOV TH1,#9EH; MOV TL1,#58H; DJNZ R4,RETURN_T1; CPL LED; CPL SPEAKER; MOV R4,#10;RETURN_T1:POP PSW; POP ACC; RETI;键盘扫描KEY: CALL KS; JNZ K1; JMP KEY;K1: CALL DELAY; CALL KS; JNZ K2; JMP KEY;K2: CLR TR0; CLR LED; MOV R2,#0FEH; MOV R6,#00H;K3: MOV A,R2; MOV P1,A; MOV A,P1; JB ACC.4,L1; MOV A,#0; LJMP LK;L1: JB ACC.5,L2; MOV A,#4; LJMP LK;L2: JB ACC.6,L3; MOV A,#8; LJMP LK;L3: JB ACC.7,NEXT_KEY; MOV A,#12;LK: ADD A,R6; MOV R6,A;K4: CALL KS; JNZ K4; MOV A,R6; MOV DPTR,#TABLE0; MOVC A,A+DPTR; MOV 50H,A; 查表取值存入50H,保护键值 RET;NEXT_KEY: INC R6; MOV A,R2; JNB ACC.7,KEY; RL A; MOV R2,A; JMP K3;键盘列查询KS: MOV P1,#0F0H; MOV A,P1; XRL A,#0F0H; RET;设置密码程序SET_PASSWORD: CALL CLEAR_DISPLAY; MOV DPTR,#TABLE4; CALL INPUT_HINT; MOV R0,#40H; CALL PASSWORD; JBC RETURNBIT,SET_PASSWORD; ;先输入原密码完毕 MOV R5,#6; MOV R0,#40H; MOV R1,#34H;INPUT_COMPERE: MOV A,R0; XRL A,R1; JNZ INPUT_ERROR; IN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建三明永安市公安局招聘警务辅助人员19人考前自测高频考点模拟试题及答案详解(全优)
- 2025广东潮州市饶平县新塘镇人民政府招聘后勤服务人员1人模拟试卷完整答案详解
- 2025海南琼海市招商局招聘编外人员1人(1号)模拟试卷含答案详解
- 2025年度威海机械工程高级技工学校公开招聘教师(6人)考前自测高频考点模拟试题含答案详解
- 用户参与度提升策略-第5篇-洞察与解读
- 2025春季中国电气装备平高集团、平高电气校园招聘模拟试卷及一套参考答案详解
- 2025北京大兴区妇幼保健院临时辅助用工招录岗位12人考前自测高频考点模拟试题及完整答案详解一套
- 2025年吉安市庐陵产业运营服务有限公司公开招聘物业经理模拟试卷及答案详解(各地真题)
- 2025黑龙江齐齐哈尔市建华区北华街道公益性岗位招聘模拟试卷及答案详解(有一套)
- 2025湖北襄阳市神农架林区审计局招聘投资审计专业技术人员2名模拟试卷及答案详解(名校卷)
- (2025)辅警笔试题库及参考答案
- 退役军人服务授课课件
- 劳动保障监察投诉书格式及写作范文
- 淮北矿业安全管理办法
- 中班幼儿在角色游戏中同伴模仿行为研究
- 2026年高考语文备考之家庭伦理小说知识点
- 联名合作授权协议书范本
- ECMO护理进修汇报
- 营救小羊中班课件
- 跟岗干部管理办法中组部
- 乐理知识入门教学课件
评论
0/150
提交评论