收藏 分销(赏)

基于单片机的4位密码锁的课程设计毕业设计论文.doc

上传人:胜**** 文档编号:2661937 上传时间:2024-06-04 格式:DOC 页数:30 大小:1.07MB
下载 相关 举报
基于单片机的4位密码锁的课程设计毕业设计论文.doc_第1页
第1页 / 共30页
基于单片机的4位密码锁的课程设计毕业设计论文.doc_第2页
第2页 / 共30页
基于单片机的4位密码锁的课程设计毕业设计论文.doc_第3页
第3页 / 共30页
基于单片机的4位密码锁的课程设计毕业设计论文.doc_第4页
第4页 / 共30页
基于单片机的4位密码锁的课程设计毕业设计论文.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、科学技术学院SCIENCE & TECHNOLOGY COLLEGE OF NANCHANG UNIVERSITY 课 程 设 计报 告REPORT ON CURRICULUM DESIGN 题 目 基于单片机的电子密码锁控制器 学科部、系: 信息学科部、电子系 专业班级: 电子信息工程 学 号: 学生姓名: 指导教师: 起讫日期: 2016.11.142016.11.25 基于单片机的电子密码锁控制器专业:电子信息工程 学号: 学生姓名: 指导教师: 摘 要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁构造简单,被撬事件屡见不鲜;电子锁其保密性高,使用灵

2、活性好,安全系数高,受到了广大用户的青睐。本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构。实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各

3、项功能已达到本设计的所有要求。关键词:单片机;密码锁;单片机设计,电子锁。设计达到的目的:1.系统通过44的矩阵键盘输入或设定开锁密码。2.可以通过LCD查看已输入的字符个数显示为*3密码输入正确,LCD显示“开”状态,继电器闭合;密码连续3次输入错误,报警4.可以通过特殊的按键方法清除用户密码如同时按下特定的多个键。目 录第一章 基于单片机的电子密码锁控制器的概述11.1、课题背景和意义11.2、电子密码锁发展趋势1第二章 设计方案的选择和确定22.1 电子密码锁设计的具体要求22.2总体设计方案选定3第三章 系统硬件设计43.1系统设计框图43.2 AT89C51简介43.3 1602简介

4、63.3.1 引脚说明63.3.2 指令说明:63.3.3 地址表73.3.4 文字组表83.4系统设计结构图93.5系统的工作原理说明93.6硬件电路的设计93.6.1 最小系统的设计93.6.2 芯片擦除113.6.3 开锁机构113.6.4 键盘设计12第四章 系统软件设计134.1 复位以及振荡电路134.2 3X4矩阵键盘144.3 报警器144.4 液晶显示电路154.5 串口输入电路图15第五章 性能测试与分析15第六章 附件191程序流程图192原理图193源程序20课程设计成绩评定表26第一章 基于单片机的电子密码锁控制器的概述1.1、课题背景和意义随着电子技术和计算机技术的

5、飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高同学对整体电路设计和把握能力,了解单片机系统设计流程,以及电路板的实际制作和调试能力。同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高

6、,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。20世

7、纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了

8、世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用1.2、电子密码锁发展趋势 电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。目前,金融行业电子密码锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担

9、实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子密码锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子密码锁的使用场所和防护要求,可选择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,

10、其中,电子密码锁的性能至关重要。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子密码锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子密码锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子密码锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。经过了一个学期单片机的的学习,通过本次课程设计,了解电子锁的基本工作原理,通过对已学习的AT89C51型单片机,熟悉AT89C51并行接口的各种工作方式和应用,并且掌握AT89C51计数器/定时器的工作方式和应用编程外部中断的方法,以及对液晶显示问题的

11、解决。掌握单片机的设计步骤方法,继而达到能设计单片机实际应用的目的。第二章 设计方案的选择和确定2.1 电子密码锁设计的具体要求1.系统通过34的矩阵键盘输入或设定开锁密码。2.可以通过LCD查看已输入的字符个数显示为*3密码输入正确,LCD显示“开”状态,继电器闭合;密码连续3次输入错误,报警4.可以通过特殊的按键方法清除用户密码如同时按下特定的多个键。5.在熟悉掌握单片机的各种资源与运用方法的基础上,基于KEIL与PROTEUS软件平台完成以下设计内容:完成34键盘扫描。键盘分布如下:6.利用1602显示如下内容: 开机时仅在屏幕第一行显示“Welcome !” 按下密码输入键后仅在屏幕第

12、一行显示“Put in:” 输入密码时每按一个数字,在屏幕第二行输出一个*。四个密码输入完成后屏幕显示内容:Put in:* 按下确认键输入的密码正确时,输出流水灯。同时屏显“Right !”,屏幕显示内容:Right ! * 按下确认键后,输入错误的密码时,用发光二极管报警。发光二极管的亮灭周期为0.3S。同时在1602上显示“Error !” 屏幕显示内容:Error!* 1, 按下输入键后,输入四个以上数字键时,产生的结果与输入错误密码时相同。2, 在密码正确的情况下进行密码修改。通过外部中断0输入密码修改信号。密码修改完成后在屏幕上显示出所修改的密码值。如下:Right !13142.

13、2总体设计方案选定采用一种是用以AT89C51为核心的单片机控制方案。选用单片机AT89C52 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。其原理如下图2.1所示:图1 单片机控制密码锁原理图可以看出该方案控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。第三章 系统硬件设计 3.1系统设计框图图23.2 AT89C51简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalshPr

14、ogrammable andErasableReadOnly Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种控制器。主要特性:与MCS-51兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗

15、的闲置和掉电模式片内振荡器和时钟电路图33.3 1602简介1602B外观如下图所示:图43.3.1 引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2双向数据口2VDD电源正极10D3双向数据口3VL对比度调节11D4双向数据口4RS数据/命令选择12D5双向数据口5R/W读/写选择13D6双向数据口6E模块使能端14D7双向数据口7D0双向数据口15BLK背光源地8D1双向数据口16BLA背光源正极表1第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个

16、10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第1516脚:空脚。3.3.2 指令说明:表2它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平) 指令1:清显示,指令码01H,光标复位到地址00H位

17、置。指令2:光标复位,光标返回到地址00H 。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字

18、符,高电平时显示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(C

19、0H) 所以编写程序时的地址如下:12345678910111213141516808182838485868788898A8b8C8D8E8FC0C1C2C3C4C5C6C7C8C9CACBCCCDCECF表43.3.4 文字组表表53.4系统设计结构图图5如图所示,系统主要有3*4键盘,复位电路,LED灯,蜂鸣器,液晶显示电路组成。3.5系统的工作原理说明本系统采用AT89C51的单片机为核心的系统,加以3X4矩阵键盘,LED灯,蜂鸣器等。矩阵键盘分别为0,1,2,3,4,5,6,7,8,9,重新输入,确认输入。系统显示“INPUTPASSWORD”提示输入密码;当密码输入完毕按下ENTE

20、R键时,若输入密码与设定密码相同时,即密码正确,液晶显示为“RIGHT PASSWORD”提示锁打开。同时LED绿灯亮,若密码不正确LED显示,电路显示提示“ERRORPASSWORD”LED红灯亮,若连续三次输入不正确则发生报警同时锁定键盘密码,不能进行任何操作。若再输入过程中发现输入错误数字,可通过重新输入AC键清除所有数字。为了防止恶意尝试,若连续输入3次密码输入错误则发生报警。3.6硬件电路的设计本设计单片机硬件资源的分配:P2.0P2.7用于LCD液晶显示作用。P3.5、P3.6用于蜂鸣器和报警灯的控制。P1.0P1.7用于键盘电路的控制。3.6.1 最小系统的设计当MCS-5l系列

21、单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电复位和开关复位。图3.3即为手动(开关)复位电路。 图6 手动复位电路(2)复位后的状态a、复位后PC值为0000H,表明复位后的程序从0000H开始执行。b、SP值为07H,表明堆栈底部在07H,一般需要重新设置SP值。c、P0P3口值为FFH。P0P3口用作输入口时,必须先写入“1”。单片机在复位后,已使P0P3口每一端线为“1”,为这些端线用作输入口做好了准备。(3)WDT 溢出将使该引脚输出高电平

22、,所以本设计采用图7的手动复位电路:图3.7 本设计手动复位电路AT89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图3.5。外接石英晶体(或陶瓷谐振器)及电容Cl、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10F。用户

23、也可以采用外部时钟。采用外部时钟的电路如图1所示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。 图8 单片机自激震荡电路由于单片机有内部振荡器,所以本设计采用图9的晶振电路:图9 晶振电路3.6.2 芯片擦除 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,

24、该操作必须被执行。 此外,AT89S51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 3.6.3 开锁机构 用户通过LCD提示信息,用键盘输入正确密码,从而达到开锁的目的。当用户输入的密码正确并且是在按下确定键的话,单片机便输出开门信号,送到开锁驱动 电路,然后驱动电磁锁,达到开门的目的。电路驱动和开锁两级组成。由D5、R1、T10组成驱动电路,其中T10可以选择普通的小功率三极管如9014、

25、9018都可以满足要求。D5作为开锁的提示;由D6、C24、T11组成。其中D6、C24是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。T11可选用中功率的三极管如8050,电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。 在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。 图10 密码锁开锁机构电路图3.6.4 键盘设计 本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。 每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行

26、列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。 在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。 34矩阵键盘的工作原理: 在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩

27、阵法来做键盘是合理的。扫描原理 把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。 比如说扫描码送入01111111,前面的0111是代表此时扫描第一行P1.0列,而后面的1111是让读取的4行接脚先设为VDD,若此时第一行的第三列按键被按下,那读取的结果就会变成01111101(注意1111变成1101),其中LSB的第三个bit会由1变成0,这是因为这个按键被按下之后,会被垂直的扫描码电位short,而把读取的LSB的bit电位拉

28、到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.

29、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编程(程序见附录)。从而实现其设计及

30、仿真。课程设计中,锁体用LED灯代替。绿灯亮表示开锁,红灯亮表示闭锁。其密码为四位,代码自己设定。开锁指令为串行输入码,当开锁密码与储存密码一致时电子锁才能被打开。当开锁密码与储存密码不一样时,可重复进行。若连续三次未能将锁打开,电路则报警并实现自锁。选择电路方案,完成对确定电路方案的设计。计算电路元件参数与原件选择,画出总体电路原理图,并阐述基本原理,安装调试设计电路。5.1电路通电图175.2开始输入密码图185.3输入密码图195.4输入成功图205.5重新输入图215.6输入错误图22第六章 附件1程序流程图图232原理图图243源程序#include#include#define u

31、char unsigned char #define uint unsigned intuchar table=INPUT PASSWORD:;uchar table1=*;uchar table2=RIGHT Success!;uchar table3=ERROR Password!;uchar new4;uchar password=1,3,1,4;/原始码sbit P30=P30; /读信号端sbit P31=P31; /发送信号端sbit P35=P35; /报错信号灯(红灯)sbit P36=P36; /正确信号灯(绿灯)uchar k=0; uchar j=0;/*键盘简介(4*3

32、) 0 1 2 3 4 5 6 7 8 9 重输 确认 */void delay(uint ms) /延时 uint m,s; for(m=0;mms;m+) for(s=0;s1141;s+); /89C51标称的1000次,实际最少是100010000次,这样更有利于初学者反复烧写,降低学习成本 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;

33、/读信号,数据寄存器 P2=dat; P31=1; /使能信号端,发送信号 delay(1); P31=0;void jiaodui()/密码校对 uchar i=0; /i输入密码个数 while(passwordi=newi) i+; if(i=4)break; if(i=4) P36=1; /开锁,绿灯亮 write_com(0X80+0X40); /LCD第二行写什么(0x80+0x40=0xC0) delay(5); for(i=0;i4;i+) write_dat(table2i); /显示RIGHT Password! delay(20); else /密码错误 j+; if(j

34、=3) /三次错误 P35=1; /报错信号灯(红灯)亮 write_com(0X80+0X40); /LCD第二行写什么(0x80+0x40=0xC0) delay(5); for(i=0;i4;i+) write_dat(table3i); /显示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)

35、 return 0; else return 1; void key_scan() /键盘扫描,确认所按按键的具体位置,及对应数据 uchar key,i=0X7F,j; delay(10); if(key_press() do i=(i7); 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 0X7

36、D: 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(key10) newk=ke

37、y; k+; write_dat(table10);/输入“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); /清屏 del

38、ay(5); write_com(0x0f); delay(5); write_com(0x80+0x00); /LCD第一行写入 delay(5); for(i=0;i4;i+) write_dat(tablei); /存放输入密码 delay(20); write_com(0Xc0); /LCD第二行显示存入密码 delay(5); while(1) if(key_press() key_scan(); 课程设计成绩评定表专业: 电子信息工程 班级: 学号: 姓名: 项目名称基于单片机的电子密码锁控制器设计任务与要求1、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决实际课题设计的能力。2、培养针对课题需要,选择和查阅有关手册、图表及文献资料的能力,提高组成系统、编程、调试的动脑动手能力。3、通过对课题设计方案的分析、选择、比较,熟悉运用单片机系统开发、软硬件设计的方法内容及步骤。4、掌握LCD1602,键盘扫描,AT89C51的接口电路,及使用方法。5、熟悉掌握基于单片机的电子密码锁控制器的工作原理。指导教师评语 建议成绩: 指导教师:教研组评定意见 评定成绩:

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服