基于单片机的4位密码锁的课程设计毕业设计论文.doc
《基于单片机的4位密码锁的课程设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的4位密码锁的课程设计毕业设计论文.doc(30页珍藏版)》请在咨信网上搜索。
科学技术学院 SCIENCE & TECHNOLOGY COLLEGE OF NANCHANG UNIVERSITY 《课 程 设 计》报 告 REPORT ON CURRICULUM DESIGN 题 目 基于单片机的电子密码锁控制器 学科部、系: 信息学科部、电子系 专业班级: 电子信息工程 学 号: 学生姓名: 指导教师: 起讫日期: 2016.11.14——2016.11.25 基于单片机的电子密码锁控制器 专业:电子信息工程 学号: 学生姓名: 指导教师: 摘 要 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁构造简单,被撬事件屡见不鲜;电子锁其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。 本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构。实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。 关键词: 单片机;密码锁;单片机设计,电子锁。 设计达到的目的: 1.系统通过4×4的矩阵键盘输入或设定开锁密码。 2.可以通过LCD查看已输入的字符个数[显示为****] 3.密码输入正确,LCD显示“开”状态,继电器闭合;密码连续3次输入错误,报警 4.可以通过特殊的按键方法清除用户密码[如同时按下特定的多个键。 目 录 第一章 基于单片机的电子密码锁控制器的概述 1 1.1、课题背景和意义 1 1.2、电子密码锁发展趋势 1 第二章 设计方案的选择和确定 2 2.1 电子密码锁设计的具体要求 2 2.2总体设计方案选定 3 第三章 系统硬件设计 4 3.1系统设计框图 4 3.2 AT89C51简介 4 3.3 1602简介 6 3.3.1 引脚说明 6 3.3.2 指令说明: 6 3.3.3 地址表 7 3.3.4 文字组表 8 3.4系统设计结构图 9 3.5系统的工作原理说明 9 3.6硬件电路的设计 9 3.6.1 最小系统的设计 9 3.6.2 芯片擦除 11 3.6.3 开锁机构 11 3.6.4 键盘设计 12 第四章 系统软件设计 13 4.1 复位以及振荡电路 13 4.2 3X4矩阵键盘 14 4.3 报警器 14 4.4 液晶显示电路 15 4.5 串口输入电路图 15 第五章 性能测试与分析 15 第六章 附件 19 1程序流程图 19 2原理图 19 3源程序 20 课程设计成绩评定表 26 第一章 基于单片机的电子密码锁控制器的概述 1.1、课题背景和意义 随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高同学对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。 随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。 20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。 目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用 1.2、电子密码锁发展趋势 电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子密码锁的性能至关重要。 由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。 经过了一个学期单片机的的学习,通过本次课程设计,了解电子锁的基本工作原理,通过对已学习的AT89C51型单片机,熟悉AT89C51并行接口的各种工作方式和应用,并且掌握AT89C51计数器/定时器的工作方式和应用编程外部中断的方法,以及对液晶显示问题的解决。掌握单片机的设计步骤方法,继而达到能设计单片机实际应用的目的。 第二章 设计方案的选择和确定 2.1 电子密码锁设计的具体要求 1.系统通过3×4的矩阵键盘输入或设定开锁密码。 2.可以通过LCD查看已输入的字符个数[显示为****] 3.密码输入正确,LCD显示“开”状态,继电器闭合;密码连续3次输入错误,报警 4.可以通过特殊的按键方法清除用户密码[如同时按下特定的多个键。 5.在熟悉掌握单片机的各种资源与运用方法的基础上,基于KEIL与PROTEUS软件平台完成以下设计内容: 完成3×4键盘扫描。键盘分布如下: 6.利用1602显示如下内容: ① 开机时仅在屏幕第一行显示“Welcome !” ② 按下密码输入键后仅在屏幕第一行显示“Put in:” ③ 输入密码时每按一个数字,在屏幕第二行输出一个*。四个密码输入完成后屏幕显示内容: Put in: **** ④ 按下确认键输入的密码正确时,输出流水灯。同时屏显“Right !”,屏幕显示内容: Right ! **** ⑤ 按下确认键后,输入错误的密码时,用发光二极管报警。发光二极管的亮灭周期为0.3S。同时在1602上显示“Error !” 屏幕显示内容: Error! **** 1, 按下输入键后,输入四个以上数字键时,产生的结果与输入错误密码时相同。 2, 在密码正确的情况下进行密码修改。通过外部中断0输入密码修改信号。密码修改完成后在屏幕上显示出所修改的密码值。如下: Right ! 1314 2.2总体设计方案选定 采用一种是用以AT89C51为核心的单片机控制方案。 选用单片机AT89C52 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。其原理如下图2.1所示: 图1 单片机控制密码锁原理图 可以看出该方案控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。 第三章 系统硬件设计 3.1系统设计框图 图2 3.2 AT89C51简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种控制器。 主要特性: ·与MCS-51兼容 ·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24MHz ·三级程序存储器锁定 ·128×8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 图3 3.3 1602简介 1602B外观如下图所示: 图4 3.3.1 引脚说明 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 双向数据口 2 VDD 电源正极 10 D3 双向数据口 3 VL 对比度调节 11 D4 双向数据口 4 RS 数据/命令选择 12 D5 双向数据口 5 R/W 读/写选择 13 D6 双向数据口 6 E 模块使能端 14 D7 双向数据口 7 D0 双向数据口 15 BLK 背光源地 8 D1 双向数据口 16 BLA 背光源正极 表1 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15~16脚:空脚。 3.3.2 指令说明: 表2 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H 。 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 。 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线) 指令7:字符发生器RAM地址设置。 指令8:DDRAM地址设置。 指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令10:写数据。 指令11:读数据 。 3.3.3 地址表 表3 比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H) 所以编写程序时的地址如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 80 81 82 83 84 85 86 87 88 89 8A 8b 8C 8D 8E 8F C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF 表4 3.3.4 文字组表 表5 3.4系统设计结构图 图5 如图所示,系统主要有3*4键盘,复位电路,LED灯,蜂鸣器,液晶显示电路组成。 3.5系统的工作原理说明 本系统采用AT89C51的单片机为核心的系统,加以3X4矩阵键盘,LED灯,蜂鸣器等。矩阵键盘分别为0,1,2,3,4,5,6,7,8,9,重新输入,确认输入。系统显示“INPUT PASSWORD”提示输入密码;当密码输入完毕按下ENTER键时,若输入密码与设定密码相同时,即密码正确,液晶显示为“RIGHT PASSWORD” 提示锁打开。同时LED绿灯亮,若密码不正确LED显示,电路显示提示“ERROR PASSWORD”LED红灯亮,若连续三次输入不正确则发生报警同时锁定键盘密码,不能进行任何操作。 若再输入过程中发现输入错误数字,可通过重新输入AC键清除所有数字。为了防止恶意尝试,若连续输入3次密码输入错误则发生报警。 3.6硬件电路的设计 本设计单片机硬件资源的分配: P2.0~P2.7用于LCD液晶显示作用。 P3.5、P3.6用于蜂鸣器和报警灯的控制。 P1.0~P1.7用于键盘电路的控制。 3.6.1 最小系统的设计 当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和开关复位。图3.3即为手动(开关)复位电路。 图6 手动复位电路 (2)复位后的状态 a、复位后PC值为0000H,表明复位后的程序从0000H开始执行。 b、SP值为07H,表明堆栈底部在07H,一般需要重新设置SP值。 c、P0~P3口值为FFH。P0~P3口用作输入口时,必须先写入“1”。单片机在复位后,已使P0~P3口每一端线为“1”,为这些端线用作输入口做好了准备。 (3)WDT 溢出将使该引脚输出高电平,所以本设计采用图7的手动复位电路: 图3.7 本设计手动复位电路 AT89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图3.5。外接石英晶体(或陶瓷谐振器)及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10F。用户也可以采用外部时钟。采用外部时钟的电路如图1所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 图8 单片机自激震荡电路 由于单片机有内部振荡器,所以本设计采用图9的晶振电路: 图9 晶振电路 3.6.2 芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 3.6.3 开锁机构 用户通过LCD提示信息,用键盘输入正确密码,从而达到开锁的目的。当用户输入的密码正确并且是在按下确定键的话,单片机便输出开门信号,送到开锁驱动 电路,然后驱动电磁锁,达到开门的目的。电路驱动和开锁两级组成。由D5、R1、T10组成驱动电路,其中T10可以选择普通的小功率三极管如9014、9018都可以满足要求。D5作为开锁的提示;由D6、C24、T11组成。其中D6、C24是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。T11可选用中功率的三极管如8050,电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。 在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。 图10 密码锁开锁机构电路图 3.6.4 键盘设计 本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。 每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。 在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。 3×4矩阵键盘的工作原理: 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 扫描原理 把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。 比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P1.0列,而后面的1111是让读取的4行接脚先设为VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因为这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉到0,此即为扫描原理。 由於这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让8051误判为多次输入同一按键, 我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。图11为键盘整体模框图: 图11 键盘整体模框图 第四章 系统软件设计 本系统是在Protues下仿真,使用Keil C编程(程序见附录)。从而实现其设计及仿真。 4.1 复位以及振荡电路 图12 本设计晶振选择频率为12MHZ。 4.2 3X4矩阵键盘 如图13所示,本系统采用3X4矩阵键盘,12个按键分为输入数字键:0.1.2.3.4.5.6.7.8.9;功能键:确认输入ENTER.重新输入AC。键盘与单片机相连,其方式为前三行分别p1.0-1.3连接:后四行分别与p1.5-1.8连接分别控制 图13 主程序流程图 4.3 报警器 图14 报警部分由陶瓷压电发生装置机外围电路组成。 4.4 液晶显示电路 为了时该电子锁能人性化显示输入密码的状态以及密码输入的正确与否添加了液晶显示放弃了数码管显示。本设计使用JHD1602A液晶显示自带英文库,各引脚分别接入p2.0。 图15 电路原理图 4.5 串口输入电路图 为了方便写入程序,分别加入了串口输入电路 图16 第五章 性能测试与分析 本系统是在Protues下仿真,使用Keil C编程(程序见附录)。从而实现其设计及仿真。 ①课程设计中,锁体用LED灯代替。绿灯亮表示开锁,红灯亮表示闭锁。 ②其密码为四位,代码自己设定。 ③开锁指令为串行输入码,当开锁密码与储存密码一致时电子锁才能被打开。当开锁密码与储存密码不一样时,可重复进行。若连续三次未能将锁打开,电路则报警并实现自锁。 ④选择电路方案,完成对确定电路方案的设计。计算电路元件参数与原件选择,画出总体电路原理图,并阐述基本原理,安装调试设计电路。 5.1电路通电 图17 5.2开始输入密码 图18 5.3输入密码 图19 5.4输入成功 图20 5.5重新输入 图21 5.6输入错误 图22 第六章 附件 1程序流程图 图23 2原理图 图24 3源程序 #include<reg51.h> #include<string.h> #define uchar unsigned char #define uint unsigned int uchar table[]="INPUT PASSWORD:"; uchar table1[]="*"; uchar table2[]="RIGHT Success!"; uchar table3[]="ERROR Password!"; uchar new[4]; uchar password[]={1,3,1,4};//原始码 sbit P30=P3^0; //读信号端 sbit P31=P3^1; //发送信号端 sbit P35=P3^5; //报错信号灯(红灯) sbit P36=P3^6; //正确信号灯(绿灯) uchar k=0; uchar j=0; /*键盘简介(4*3) 0 1 2 3 4 5 6 7 8 9 重输 确认 */ void delay(uint ms) //延时 { uint m,s; for(m=0;m<ms;m++) { for(s=0;s<1141;s++); //89C51标称的1000次,实际最少是1000~10000次,这样更有利于初学者反复烧写,降低学习成本 } } void write_com(uchar com)//写指令 { P30=0; //读信号,指令寄存器 P2=com; //LCD显示屏连接端 delay(1); P31=1; //使能信号端,发送信号 delay(1); P31=0; } void write_dat(uchar dat)//写数据 { P30=1; //读信号,数据寄存器 P2=dat; P31=1; //使能信号端,发送信号 delay(1); P31=0; } void jiaodui()//密码校对 { uchar i=0; //i输入密码个数 while(password[i]==new[i]) { i++; if(i==4)break; } if(i==4) { P36=1; //开锁,绿灯亮 write_com(0X80+0X40); //LCD第二行写什么(0x80+0x40=0xC0) delay(5); for(i=0;i<4;i++) { write_dat(table2[i]); //显示RIGHT Password! delay(20); } } else //密码错误 { j++; if(j==3) //三次错误 { P35=1; //报错信号灯(红灯)亮 write_com(0X80+0X40); //LCD第二行写什么(0x80+0x40=0xC0) delay(5); for(i=0;i<4;i++) { write_dat(table3[i]); //显示ERROR Password! delay(20); } while(1); } else if(j!=3) { k=0; write_com(0X80+0X40); //LCD第二行写什么 } } } uchar key_press()//检查是否有按键按下 { uchar i; P1=0Xf0; //消抖,确认按键是否按下 delay(20); i=P1; if(i==0Xf0) { return 0; } else { return 1; } } void key_scan() //键盘扫描,确认所按按键的具体位置,及对应数据 { uchar key,i=0X7F,j; delay(10); if(key_press()) { do { i=(i<<1)|(i>>7); P1=i; key=P1; j=key&0Xf0; //消抖 } while(j==0XF0); while(key_press()); switch(key) { case 0X7E: key=0;break; //按键0按下 case 0XBE: key=1;break; //按键1按下 case 0XDE: key=2;break; //按键2按下 case 0X7D: key=3;break; //按键3按下 case 0XBD: key=4;break; //按键4按下 case 0XDD: key=5;break; //按键5按下 case 0X7B: key=6;break; //按键6按下 case 0XBB: key=7;break; //按键7按下 case 0XDB: key=8;break; //按键8按下 case 0X77: key=9;break; //按键9按下 case 0XB7: key=10;break; //按键“return”按下 case 0XD7: key=11;break; //按键“enter”按下 } if(key<10) { new[k]=key; k++; write_dat(table1[0]); //输入“input” } else if(key==11) jiaodui(); //按键“return”按下,进行校对 else if(key==10) //按键“enter”按下 { k=0; write_com(0X80+0X40); //LCD第二行写什么(0x80+0x40=0xC0) } } } void main() { uint i,j; P30=1; //读信号 P31=0; //使能信号 P35=0; //报错信号灯(红灯) P36=0; //正确信号灯(绿灯) write_com(0X38); delay(5); write_com(0X01); //清屏 delay(5); write_com(0x0f); delay(5); write_com(0x80+0x00); //LCD第一行写入 delay(5); for(i=0;i<4;i++) { write_dat(table[i]); //存放输入密码 delay(20); } write_com(0Xc0); //LCD第二行显示存入密码 delay(5); while(1) { if(key_press()) { key_scan(); } } } 课程设计成绩评定表 专业: 电子信息工程 班级: 学号: 姓名: 项目名称 基于单片机的电子密码锁控制器 设计任务与要求 1、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决实际课题设计的能力。 2、培养针对课题需要,选择和查阅有关手册、图表及文献资料的能力,提高组成系统、编程、调试的动脑动手能力。 3、通过对课题设计方案的分析、选择、比较,熟悉运用单片机系统开发、软硬件设计的方法内容及步骤。 4、掌握LCD1602,键盘扫描,AT89C51的接口电路,及使用方法。 5、熟悉掌握基于单片机的电子密码锁控制器的工作原理。 指导教师评语 建议成绩: 指导教师: 教研组评定意见 评定成绩:- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 密码锁 课程设计 毕业设计 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文