电子密码锁电路板毕业论文.doc_第1页
电子密码锁电路板毕业论文.doc_第2页
电子密码锁电路板毕业论文.doc_第3页
电子密码锁电路板毕业论文.doc_第4页
电子密码锁电路板毕业论文.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

宜宾职业技术学院电子信息工程系 基于STC89C52的电子密码锁电子密码锁电路板毕业论文目 录1 引 言12 总体方案设计22.1 方案论证22.2 方案选择33 硬件设计43.1 单片机部分43.2 44行列式键盘部分43.3 开锁电路53.4 AT24C02密码储存电路53.5 声音报警电路63.6 显示模块部分63.6.1显示模块选择63.6.2液晶引脚功能说明73.7 总体设计94 软件设计114.1 软件总框图设计114.2 蜂鸣器声音提示部分124.3 液晶显示部分124.4 键盘输入部分124.4.1 程序设计内容124.4.2 按键程序框图125 电路板设计145.1 原理图的绘制145.2 电路板的生成制作145.2.1电路原理图的设计145.2.2产生网络表155.2.3印制电路板的设计155.2.4安装156 安装与调试166.1 系统软件调试166.2 元器件的检测166.3 系统硬件的安装与调试16设计结论18总结与体会19致 谢20参考文献21附 录附录1 电路原理图附录2 元件清单附录3 实物图附录4 程序II宜宾职业技术学院电子信息工程系 基于STC89C52的电子密码锁基于STC89C52的电子密码锁1 引 言随着人们生活水平的提高,电子密码防盗作为防盗卫士的作用日趋重要。电子密码锁用密码代替钥匙,不但省去了佩戴钥匙的烦恼,也从根本上解决了普通门锁保密性差的缺点。如果采用6位密码,则密码组合可达到,每增加1位,密码组合就增加10倍。从而提高了密码锁的安全系数。密码锁被广泛应用于生活中。目前市场上普遍所见的电子密码锁的密码很容易被窥探和多次试探,而丢失密码,使密码锁失去其安全性。该电子密码锁利用单片机作为主控核心,单片机(STC89C52)所具有的特殊功能使得电子密码锁的保密性能大大加强,这样就可以有效的防止多次试探密码的可能性。随着单片机和其它智能芯片的进一步开发防盗锁将实现智能化,这将使锁的安全性能大大提高。本系统实现密码一次输入的提示功能,若密码输入不正确将发出“嘀嘀”的报警声,引起他人警觉。若密码输入正确将在LCD上显示所有密码以及彩灯发光。本系统使用的单片机所具有强大的功能能够实现智能控制用来完成密码的输入、判断和比较从而执行相应的开锁显示或报警等功能。2 总体方案设计2.1 方案论证方案一:采用数字电路控制。电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。其原理方框图如图2.1所示。键盘输入密码效验开锁电路执行电路限时报警报警次数检验锁定5分钟市电供电路电子切换开关蓄电池断电检测充电电路密码修改电路电源VCC电源图2.1 数字密码锁电路方框图采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。方案二:采用一种是用以STC89C52为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图2.2所示。STC89C52单片机矩阵键盘控制输入错误提示电路报警控制电路AT89S ISP控制开锁控制电路指示电路串口显示电路图2.2 单片机控制方案2.2 方案选择通过比较以上两种方案,方案一的成本高,电路复杂且使用价值很低,产品做成功的概率不高,且不易进行更新升级而被淘汰。方案二与方案一在成本上相差不大,但在功能及其使用价值上相差很大,它结构相对简单易懂,做起相对容易,显然优于方案一。单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以采用第二种方案。3 硬件设计3.1 单片机部分主控器件是单片机,STC89C52是一个低功耗、高性能CMOS 8位单片机,片内含4k字节的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中。3.2 44行列式键盘部分采用的44的矩阵式键盘,矩阵式键盘是用N条I/O线作为行线,M条I/O线作为列线组成的键盘,在行线和列线的每个交叉点上,设置一个按键中按键的个数是MN个。这种形式的键盘结构,能够有效的提高单片机系统中I/O的利用率,行列适用于按键输入多的情况。其原理如图3.1所示。图3.1 按键电路图每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要4条行线和4条列线,即可组成具有44个按键的键盘。共计使用按键13个,用44组成09数字键、ENTER、BACK、SET。当输入密码正确后按下ENTER按键,进入开锁状态。每一位数字编码采用循环扫描方法,极少出现乱码现象。3.3 开锁电路当用户输入的密码正确,单片机输出开锁信号,送到继电器模块,通过继电器的通断来控制电磁锁的开锁。图3.2 继电器电路图3.4 AT24C02密码储存电路由于储存器与单片机之间的要传输的数据很少,不存在总线的竞争,因此密码存储器采用AT24C02,他能在掉电的情况下存储数据。AT24C02是一个2K位串行CMOS E2PROM,内部含有256个8位字节。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。AT24C02支持总线数据传送协议IIC,通过器件地址输入端A0,A1和A2可以实现将最多8个AT24C02器件连接到总线上,串行时钟输入管脚SCL用于器件所有数据的发送和接收的时钟,双向串行数据/地址管脚SDA用于器件所有数据的发送或接收。其电路图如图3.3所示:图3.3 密码存储电路图3.5 声音报警电路声音报警电路采用蜂鸣器报警。用户输入密码错误,进行报警。报警是通过单片机的I/O口输出脉冲信号经三极管放大后,控制蜂鸣器发出报警声。其电路图如图3.4所示:图3.4 蜂鸣器电路图3.6 显示模块部分3.6.1显示模块选择液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LCD液晶、液晶显示器。发光管和LCD液晶比较常用,软硬件都比较简单。 在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高,由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光。因此,液晶显示器画质高且不会闪烁。液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻,液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低,主要消耗在其内部的电极和驱动IC上,耗电量比其它显示器要少得多。LCD1602显示器与单片机连接简单易懂。其连接方式十分简单,只需要10K滑动变阻器,三极管也可用一般电阻代替,基本上可以满足现在电子设计的亮度要求。3.6.2液晶引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.1所示:表3.1 1602引脚表编号符号引脚说明编号符号引脚说明1VSS电源接地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生阴影,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602液晶模块内部的控制器共有11条控制指令,如表3.2所示:表3.2 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明: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的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址。 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。3.7 总体设计结合以上各模块,系统硬件设计由单片机(STC89C52)部分、44行列式键盘部分、液晶部分、报警器部分、开锁部分、存储部分6个部分所组成。通过对按键的输入,完成产品的工作过程。总体结构模块如图3.5所示。开锁模块按键模块显示模块报警模块单片机主控模块存储模块图3.5 总体结构模块本次设计结构连线简单方便,各大模块连线可以由图3.6电路可看出,单片机小系统工作的条件有时钟电路、复位电路,密码重设电路也仅仅是外部中断(因P3.2 INT0为电平的下降沿有效)直连接上拉电阻470欧,既简单又稳定。开锁电路在图中是继电器电路开锁,报警电路是喇叭状的蜂鸣器,密码储存电路是AT24C02电路。图3.6 电路仿真连线图21 4 软件设计4.1 软件总框图设计NY 开始系统初始化、密码设置 输入密码、按键识别 正确密码比较 开锁、液晶显示、铃音提示 终 止 液晶显示、报警清除密码本系统是以STC89C52为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,能实现基本的密码锁功能。本系统程序设计的内容为:密码的设定,在此程序中密码是固定在程序存储器ROM中,初始密码为4位。密码的输入问题:根据事先设计好的密码输入,输入完成后按确认键将会执行相应的功能。根据设定好的密码,采用44行列式键盘实现密码的输入功能,密码输入时显示管显示当前密码数值,当输入密码正确时执行模块彩灯发光,若密码输入不正确则蜂鸣器发出“嘀、嘀”报警声。本系统程序设计由键盘输入部分、液晶显示部分、蜂鸣器报警部分和模拟执行电路组成。如下框图4.1所示。 图4.1 系统流程总框图4.2 蜂鸣器声音提示部分本系统把P2.4用作蜂鸣器报警的接口,对输入的密码与设定的密码进行比较,若密码正确,单片机直接进入下一个密码输入状态。若密码不正确,蜂鸣器发出“嘀、嘀”报警声,而且显示密码位数停留于原点,以等待密码输入正确。若三次按下仍未正确,则进入报警状态。4.3 液晶显示部分每次单片机在开机时候自动复位,显示在液晶显示器上为“Input password ”。按下“SET”键可接着进入密码重设状态。单片机里的初始密码为“8888”,按下设置密码按键后,需先输入旧密码,确认后输入两次新密码,密码设置就完成了。当我们完成密码设置后,系统会自动进入运行状态,其显示为“Input password”。此时可以进行密码输入,而且输入过程中每位显示都可以清晰可见,按键人员可以清晰地查出当前按至第几位密码,直至密码输入完全正确。4.4 键盘输入部分4.4.1 程序设计内容本系统中键盘采用44行列式键盘,按键电路如图3.1所示。每个按键有它的行值和列值 ,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU 通信。每个按键的状态同样需变成数字量“0”和“1”,开关的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。4.4.2 按键程序框图在执行密码设置、开锁等功能是使用按键对应的功能。本系统采用矩阵键盘,其程序流程图如图4.2所示。回至初始继续扫描延时10msP1=0xfdP1=0xfe根据当前状态识别按键根据当前状态识别按键延时10ms真得有键按下吗?有键按下吗真得有键按下吗?有键按下吗?根据当前状态识别按键延时10msP1=0xf7P1=0xfb延时10ms有键按下吗?有键按下吗?真得有键按下吗?真得有键按下吗?根据当前状态识别按键YYNNYNYNYYNYNNYNN回至初始继续扫描图4.2 键盘输入程序框图5 电路板设计5.1 原理图的绘制在空间足够的情况下,电容都放在底层,电阻都放在表层。原因:既减少了焊接时搞混的可能性,又有利于调试(因为可以将示波器的探头点在电阻的焊盘上,直接点芯片管脚是很危险的(探头容易短接芯片!)。 电源要有指示灯:“电阻+LED”关键信号要加测试点。线宽如果没有空间限制即为810mils。如果空间紧张,最小线宽要与制版商连系确认。建立PCB封装时,单位一定要用公制的,即mm,不能用mils(1/1000英寸)。注意使用泪滴功能。而且,泪滴还可以帮助检查走线是否标准。一定要灵活运用栅格(grid)的设置(同一块板不通的地方可以用不同栅格设置)。注意事项:(1)电源线和地线尽量加粗;(2)去耦电容尽量与VCC直接连接设置Specctra的DO文件时,首先添加Protectallwires命令,保护手工布的线不被自动布线器重布。如果有混合电源层,应该将该层定义为Split/mixedPlane,在布线之前将其分割,布完线之后,使用PourManager的PlaneConnect进行覆铜将所有的器件管脚设置为热焊盘方式,做法是将Filter设为Pins,选中所有的管脚,修改属性,在Thermal选项前打勾手动布线时把DRC选项打开,使用动态布线(DynamicRoute)。5.2 电路板的生成制作一般而言,设计电路板最基本的过程可以分为四大步骤:电路原理图的设计、产生网络表、印制电路板的设计、安装。5.2.1电路原理图的设计 电路原理图的设计主要是Protel 99的原理图设计系统(Advanced Schematic)来绘制一张电路原理图。在这一过程中,要充分利用Protel 99所提供的各种原理图绘制工具、各种编译功能,来实现我门的目的,即得到一张正确、精美的电路原理图,电路原理图见附录三。5.2.2产生网络表网络表是电路原理图设计(SCH)与印制电路板设计(万用)之间的一座桥梁,它是电路板自动的灵魂。网络表可以从电路原理图中获得,也可以印制电路板中提取出来。5.2.3印制电路板的设计印制电路板的设计主要是针对Protel 99的另外一个重要部分万用而言的,在这个过程中,我们借助Protel 99提供的强大功能实现电路板的版面设计,完成高难度等工作。5.2.4安装(1)根据元件清单购买元件。(2)检测元件是否完好可用。(3)根据功能的大小,结合元器件的安装要求进行放置元器件。(4)安装焊接步骤可按:电阻-电容-电位器-集成块-外围元件-其他元器件的顺序进行。装配焊接时,按照印制电路图中的元件编号,查对原理图中其规格,型号,审核实物的规格,型号相符合后,将元器件引脚插入印制板的元件孔中,认真焊接。(5)焊接:首先练习焊接技术以求焊接效果,在焊接过程中,对其元器件进行分析,考虑焊接的时间长短,以免损害元器件。(6)安装完毕后,应该仔细检查有无错误,或漏焊,以及焊接时造成的短路。若有以上问题应予即时排除。6 安装与调试6.1 系统软件调试打开“UV4”C语言编程软件,对相应的程序进行保存(必须以.c为后缀进行保存)、编译、跟踪执行,检查程序。检查无误后用PROTEUS仿真软件进行仿真。在编译调试完成后,通过编程器将所编译的正确程序写入到STC89C52单片机中。6.2 元器件的检测将元器件安装(焊接)在万用板上之前,要仔细检查元器件。通过栓查一方面可熟悉器件的规格,型号及结构特点,另一方面应确认元器件质量均完好,以避免人为故障的发生。主要元器件的检查如下。电阻器:用万用表电阻挡测量电阻器的实际阻值,并与标称值比较是否基本相符。固定电容器:用万用表挡检查小容量有无漏电(用阻挡进行),电解电容器的容量双方正常(用低电阻挡,依据充、放电的情况进行估计)。由于本次采用个人自主设计,对于电容的使用并不是非常多,仅仅是复位电路的小电容,所以在盘查是只需要用万用表检查该电容是否短路,从而可基本上判定该电容的好与坏。电路板:检查电路板上的铜箔有无毛刺、缺损以及碰线(有些电路版具有边角全部连通的布局,特别是在连线时候要注意这一点,以防止短路)等情况,在焊接时候常常要注意走线的规范化,避免线路跳线过多。由于本次采用的电路版制作,布局需要提前对所有的走线分批量管理,此时的引脚之间不能有走线。若有未腐蚀掉的残余铜箔可用小刀将其刮去。若有断裂处,应用细铜线焊接接通。若地线的铜箔太细,也可用细铜线焊接加粗。而且要注意每次的连接线路要小心检查,以确保步步稳扎稳打,从而大大减少最后的问题出现,避免完成连接后再次重头检查。6.3 系统硬件的安装与调试硬件的安装与调试需要通过焊(焊接);选(元器件识别,性能测试);装(硬件的装配);调(产品的调试);测(电子仪器测量参数);校(产品质量检测能力)等方面的工作最终完成产品。安装:单片机安装要注意引脚顺序及正反问题,一般情况下可以由元件型号位置看出,也可以由单片机和外围电路的连接方式看出(如时钟电路的连接位置能很明显地判断出单片机的位置摆放)。液晶显示器的顺序也是需要注意的,要理清楚引脚的连接顺序,一般情况下液晶引脚皆有标注,一一对应连接就不容易出错。将每个元件安装到对应的万用板上的位置,安装过程中注意元件的极性、大小及型号。 调试:因为本次设计采用了STC89C52单片机,调式时可以在单片机小系统完成时候简单烧入一个端口赋值程序,然后用万用表检测是否为高(或者低)电平。检测引脚电压是否正常是产品是否成功的关键步骤,一般情况下单片机高电平输出是不能达到预期效果的,但是低电平基本上能满足。电路中有无短路,虚焊。在硬件电路无误情况下,接上+5V电源,小系统就可以正常工作了。只要单片机小系统正常工作后,就可以从液晶显示器进行调试了。液晶显示器连接简单,只要线路无短路就可以工作了,至于显示的效果,例如明亮程度,对比度等都可以通过电位器调整。按键部分属于单独模块,可以单独通过检测相互两个引脚是否短路从而排除故障。模拟执行模块拥有彩灯以及蜂鸣器,且执行元器件正极都接高电平,要确保彩灯连接正负是否正确。一般彩灯的长引脚为正极,或者可以通过万用表检测出正负极。对于蜂鸣器是否工作是非常容易查出的,有电流通过就会鸣叫,电流大小会直接影响其鸣叫音量。当然,若无电流通过就不会鸣叫。设计结论本系统充分利用了STC89C52系统单片机软、硬件资源,引入了智能化分析功能,提高了系统的可靠性和安全性。该系统主要有以下几点优点:利用单片机去控制硬件电路,打破传统的专用硬件的形式,使电路更加灵活,更加快捷。其重复概率仅为十万分之一,有着很高的安全性。电子密码锁采用单片机作为核心的控制元件具有功能强、性能可靠、电路简单、成本低等特点。智能密码锁它成功的实现了密码的输入识别和修改、报警、信息显示等功能。但是电子密码锁还具有自身的缺点:电子锁必须完成机械动作(操作)电子识别转换和电子控制机械执行这一系列过程,显然是复杂一些。执行电路故障概率相对较高,电子器件多,复杂化,必然增加故障机率,加上电子器件怕潮湿,怕强磁电,怕强震动,使它对使用环境有一定要求。由于采用键盘式密码输入很可能被他人窥探、盗用。所以在设计键盘时必须防他人窥探和试探等外围设本。 尽管电子锁有以上还待解决问题,但它的大密码量和不用钥匙的优点以及众多的识别方式却有极大的诱惑力。它将在以后的发展中被广泛应用。 总结与体会通过本次毕业设计,我充分认识到了要想成为电子专业的合格的学生,就应该具备良好的心理素质,对待事情要有一丝不苟的态度,要学会充分利用自己所学的知识,遇到自己不懂的要积极地查询各种资料,耐心的翻阅。所谓“行千里路半百里”,自己千万不要半途而废。当自己遇到相当困难的事情,要想方设法地找比自己更懂得人并谦逊请教。现在的社会,需要我们的团结合作,要积极地配合好同学,没有一个人是完人,要学会在别人身上找到优点,遇到他人不对的地方要及时地更正。在本次设计之中,我看到了当今社会电子产品发展的日新月异,没有一个产品是完美的,要想在电子行业发展下去就要不断学习,不断更新自己的大脑,不断地完善自己的设计。当然,一个设计要符合当时的市场,要有可用性,没有经济效益的产品是没法成活的。由于个人能力有限,产品元件不可能尽善尽美(其间有焊接技术、元件参数不精准、万用版整体大小的局限性),由于时间等原因致使密码存储电路未能完成等问题,都需要有专业的技术与环境的支持。所以要想在电子行业发展还需要有正规的公司大力支柱。我们作为一个电子专业的学生就要以自己能进入一个理想的公司作为自己的近期目标。致 谢非常感谢陈世军在我大学的最重要的学习阶段毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,他给了我耐心的指导和无私的帮助。设计在陈世军老师的精心执导下,顺利完成。在毕业设计这段时间里,由于自己在知识方面的不足,遇到了不少的困难。但在这期间有很多老师帮助了我,我才能继续地进行下去,他们不辞辛苦地用专业的知识指导我们,纠正我们,他们用了休息的时间为我们做更改,帮助我们。我由衷的感谢各位老师。在此,也要感谢给予我帮助的各位同学,他们一直是我学习追赶的榜样,没有他们在研究课题上开诚布公的讨论和各方面的热情帮助,我也不会得到这么快的进步。 正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,所有的同学都有一个美好的前程!参考文献1 朱月秀.单片机基础M.北京:北京航空航天大学出版社,2001.72 张 伟.单片机原理及应用M.北京:机械工业出版社,2002.13 陈光东.单片微型计算机原理与接口技术M.武汉:华中理工大学出版社,1999.44 徐惠民.单片微型计算机原理、接口及应用M.北京:北京邮电大学出版社,2000.105 何立民.单片机应用系统设计M.北京:北京航空航天大学出版社,1990.76 刘卫.单片微型计算机原理、接口及应用M.北京:北京邮电大学出版社,2000.37 曾鹏超.单片机原理及应用M.北京:杭州电子科技大学出版社,1995.108 刘静思.单片机控制原理及应用M.北京:北京邮电大学出版社,1999.69 韩志军,沈晋源,王振波.单片机应用系统设计入门向导与设计实例M.北京:机械出版社,2005.110 周坚.单片机C语言轻松入门M.北京:北京航空航天大学出版社,2006.7附 录附录1 电路原理图 附录2 元件清单元件名规格单位数量按键12126;4脚只20排阻RESPACK-81k5排阻RESPACK-810k5电阻4.7k5单片机STC89C52只2单片机插座40P活座只4LCD液晶1602只2电源插座DC只4无极电容30PF10喇叭0.5W8欧2成品杜邦线10P;20cm条4单排针140PIN条8单排座140PIN条4晶振12M4变压器DC 5V3W1万用版1530CM张2焊锡丝圈1继电器个1蜂鸣器普通只2电磁锁DC 6V把1附录3 实物图附录4 程序#include #include#include#define uint unsigned int#define uchar unsigned char#define Enter 11#define Back 12#define Set 16uchar key=17;uchar bs;sbit lcden=P22;sbit rw=P21;sbit rs=P20;sbit open=P27;sbit baoj=P25;sbit deng=P26;char shu=0;long int temp=0;char password_long=4;long int password=8888;char wei;long int input;char wei_1;long int input_1;char wei_2;long int input_2;char set_flag;char Judge;void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_dat(uchar dat)rs=1;rw=0;P0=dat;lcden=0;delay(5);lcden=1;delay(5);lcden=0;delay(5);void write_com(uchar com)rs=0;rw=0;P0=com;lcden=0;delay(5);lcden=1;delay(5);lcden=0;delay(5);void Input_password()uchar m;uchar a=Input password ;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40); void LCD1602_init()write_com(0x38);delay(5);write_com(0x0c);delay(5);void Open()uchar m;uchar a=Open the lock ;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40);void Error()uchar m;uchar a=Error ;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40);void Set_password()uchar m;uchar a=Set password ;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40);void Success()uchar m;uchar a=Set Success ; open=0;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40);void Original()uchar m;uchar a=Input Original ;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40);void Right()uchar m;uchar a=Right ;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40);void Input_again()uchar m;uchar a=Input again ;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40);void Failure()uchar m;uchar a=Set Failure ;write_com(0x01);write_com(0x80);for(m=0;m16;m+)write_dat(am);write_com(0x80+0x40);void keyscan()P1=0xfe;if(P1=0xee)delay(20);if(P1=0xee)while(P1=0xee);key=1;if(P1=0xde)delay(20);if(P1=0xde)while(P1=0xde);key=4;if(P1=0xbe)delay(20);if(P1=0xbe)while(P1=0xbe);key=7;if(P1=0x7e)delay(20);if(P1=0x7e)while(P1=0x7e);key=0;P1=0xfd;if(P1=0xed)delay(20);if(P1=0xed)while(P1=0xed);key=2;if(P1=0xdd)delay(20);if(P1=0xdd)while(P1=0xdd);key=5;if(P1=0xbd)delay(20);if(P1=0xbd)while(P1=0xbd);key=8;if(P1=0x7d)delay(20);if(P1=0x7d)while(P1=0x7d);key=Enter;P1=0xfb;if(P1=0xeb)delay(20);if(P1=0xeb)while(P1=0xeb);key=3;if(P1=0xdb)delay(20);if(P1=0xdb)while(P1=0xdb);key=6;if(P1=0xbb)delay(20);if(P1=0xbb)while(P1=0xbb);key=9;if(P1=0x7b)delay(20);if(P1=0x7b)while(P1=0x7b);key=Back;P1=0xf7;if(P1=0xe7)delay(20);if(P1=0xe7)while(P1=0xe7);if(P1=0xd7)delay(20);if(P1=0xd7)while(P1=0xd7);if(P1=0xb7)delay(20);if(P1=0xb7)while(P1=0xb7);if(P1=0x77)delay(20);if(P1=0x77)while(P1=0x77);key=16;void keyboard()if(key=1)write_dat(*);temp=temp*10+key;shu+;key=17;if(key=2)write_dat(*)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论