版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ThedesignofmatrixkeyboardandLCDdisplaybasedonMCUAbstractThedevelopmentofmicroelectronicstechnologyandindustrialmeasurerequirementbringagoodopportunityfordevelopmentandresearchsystem,whichmakesitabroadprospects.Theequipmenthastheadvantagesofsmallsize,singlepowersupplyandavarietyofoutputvoltageleadsithasaspecialmodule.Throughtheanalysisofthehardwarestructure,wecansummarizeseachmoduleneeds.Forexample,weoftengothroughthekeystorealizethecontroloftheelectronicdevice.Smalltowatchmobilephone,totheTVcomputer,toavarietyofcomplexinstruments,allneedtorealizevariousoperationsthroughthebuttons.Thisdesignisanimportantpartofstepforthefurtherresearch,usingbuttonstocontrolthedisplay,includesomemoduleslikeLCD1602liquidcrystaldisplay,4*4matrixkeyboard,STC89C52single-chipmicrocomputerandotherchips.CombinewiththeProteussoftware,thesimulationresultsaredisplayedontheLCDin1602typeofdata.KEYWORDS:AT89C52single-chip;LCD1602liquidcrystaldisplay;4*4matrixkeyboard;Integratedinfraredemittingandreceiving基于单片机的电子密码锁的设计与制作全文共49页,当前为第5页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第5页。1绪论1.1课题设计背景及其意义近些年来,随着改革开放的不断深入,科研教育事业的不断进步,使得电子行业得到了快速发展,人们的精神生活得到很大满足,许多家庭中也已购置各种各样昂贵的家电产品、首饰等。然而对于这些价值不菲的东西,给了我们很大的担忧,除了增强平时的防盗意识外,我们又该如何采取一些手段或运用科技技术来防止物品被盗呢?就拿我们生活中的一部分,比如门禁,保险柜等等方面。是的,传统的机械锁靠用钥匙或靠转动数字的方式已不能满足需求,软硬件结合的有报警功能的电子密码锁解决了我们的需求。技术层面已能解决一些问题,但是电子密码锁相对昂贵的制造价格,使其在市场上的推广受阻,人们无法接触到这类产品。假若再设计生产一种价格低廉、安全系数高、稳定可靠的电子类密码锁,则其推广度必然会提升,在防盗和保证安全领域必然会发挥更加有效的作用。电子密码锁采用软件硬件相结合的方式进行设计,通过软件的编程,确定每个按键所代表的功能,键入正确的密码后通过信号的传递来控制机械动作,从而完成系统预设的功能。伴随着国民生活水平的不断提高,对科技的要求也越来越高,小到钱包、保险柜,大到安全门锁以及其他一些安全防范的东西,追求科技先进的同时,也追求其物美价廉,如何均衡这些既能满足民众要求,使其普遍被人们认可又物美价廉呢,芯片技术的发展很好的解答了这个问题。随着大规模集成电路技术的发展与进步,尤其是单片机的问世,结合硬件电路的设计,出现了带微处理器的智能化电子密码锁,它除了具有电子密码锁的功能外,还可以引入智能化管理、模拟分析系统等功能,从而使密码锁具有很高的安全性、可靠性,且其成本低廉、功耗小、美观上档次、易学易操作等优点,可被人们广泛认可,欢迎度日益增加。目前这一技术普遍被人们接受的同时,其技术还在不断更新优化,功能不断强大,可满足不同需求[6]。1.2红外遥控技术的发展与现状基于单片机的电子密码锁的设计与制作全文共49页,当前为第6页。自1800年英国天文学家F·W·赫歇尔首次发现红外辐射后,世人对红外技术的研究从没有停止过,也正是他们在这一领域不断的深入研究,才使得红外技术运用于各行各业,我们的生活也变得多姿多彩!红外元件种类繁多,每一种还有各个型号的器件,如红外焦平面器件有短波MCT焦平面、Insb红外焦平面列阵器件、量子阱光导体焦平面列阵,红外探测器件有光电导探测器、光伏导探测器,红外发射与接收器件1838T、IR928-6C等,红外热敏元件有NTC热敏电阻、热敏传感器,红外光学系统等等广泛步入了商业化,使其在工业化工,军事航空航天,通信领域,科技实验,医疗卫生,生活交通与生活学习等领域普遍运用。到了60年代初,发达国家逐渐开始探索,想把遥控技术运用在人们的生活周围中,但科研实验与技术环境等还没有达到条件,其进度受到了很大限制。到了70年代后,大规模的集成电路产品被推广,具有一定功能的芯片被开发了出来,此时的遥控技术慢慢的完善,实现了从有线到无线,从振动到一体化红外线,其无线装置也由电磁波传输信号到红外媒介传输信号,信息干扰情况得到了良好的解决,传输的信息量也大幅度的增加。随着技术的日益更新与成熟,多功能遥控器已成为当今时代的主流[8]。基于单片机的电子密码锁的设计与制作全文共49页,当前为第6页。红外遥控技术是一种非接触且通过特定的电路实现远程自动控制,具有独立性、远距离穿越障碍、抗电磁干扰、信息传输稳定可靠,功耗低,成本低等显著优点,其模块简单技术成熟,与计算机结合后,实现微机自动识别和现代安全管理措施为一体,涉及电子,机械,光学,计算机技术,通讯技术等诸多新技术,是解决重要部门出入口实现安全防范管理的有效措施。近几年,红外遥控技术得到了迅猛发展,人们在追求精神生活同时需要物质水平的提高,人们在红外遥控技术领域的要求的是更加智能化,功能强大化,更加稳定化、小型化[13]。目前红外遥控技术的进步,使得一些项目在一些极其恶劣环境下,也能满足作业,而人们可避免受到伤害。1.3课题设计目标基于单片机的电子密码锁的设计与制作全文共49页,当前为第7页。20世纪80年代后,随着电子密码锁专用集成电路的出现,电子密码锁的体积得到了大幅度到的缩小,稳定性及可靠性能得到了很大的提高,成本方面也得到了减幅,使其被广大普通人民所接受,推广度日益提高。但在我国电子密码锁的技术整体水平尚处于国际上70年代左右,市场上还是普遍使用传统机械锁,分析原因不外乎电子密码锁的成本远高于传统机械锁,人们对安全防范的需求是很高,我国的现代化建设也需要科技革新替代传统锁,如何实现电子密码锁的成本更低,技术更优,使用更加普遍,老百姓也用得起成为我这次设计的动力与目的。希望通过我以及以后更多人的不断努力,使电子密码锁在我国也能得到广泛应用。主要实现功能如下:基于单片机的电子密码锁的设计与制作全文共49页,当前为第7页。1.初始化,LCD1602会提醒显示“Welcometouse!”,此时按下输入键,LCD1602会提醒“ControlPassword”,要求你输入设定密码;2.密码通过键盘输入,若密码输入正确,则将锁打开,LCD1602会提醒显示“DataEntryOK”,通过REDLED灯亮以及继电器的动断辨别,此时按下停驻/关闭,按一下会停止,按两下立即停止;3.报警、锁定键盘功能,密码输入错误或单次输入密码时间超过30S后,LCD1602会提醒错误显示“DataEntryError”,蜂鸣器报警三声,若连续三次键入密码错误或输入密码时间超时,蜂鸣器报警并且锁定键盘;4.红外遥控部分,0-9数字键:用于数字输入,CH-用来输入:输入密码,CH键用来确认:用于确认输入完成,》||键用来表示停驻/关闭:用于在开锁后长时间停止上锁,和快速关锁,》》键用来表示改密:用于修改密码,《《键用来表示删除:用于在输入数字的时候删除前一位数据,CH+键用来表示退出:退出当前状态回到初始界;基于单片机的电子密码锁的设计与制作全文共49页,当前为第8页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第8页。2系统方案论证与选择2.1核心电路设计方案的论证与选择方案一:利用单片机为核心的软硬结合电路设计方案选用单片机芯片作为系统的核心部件,实现控制与处理的功能。单片机具有功能强大、容易使用、速度快、编程容易等优点。利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源[2],外接液晶显示LCD1602实现各部分功能的显示,键盘和红外遥控实现数据的传输与处理功能,密码错误模块实现数据的处理传输与比对,基本上能实现设计指标;方案二:利用数字电路为核心的设计方案采用两个74LS112JK触发器构成双JK触发器的数字逻辑电路作为密码的检测电路,执行电路是一块555单稳态电路实现,将密码保存在JK触发器中,然后与输入密码利用比较器比对,判定两次输入数据是否相同。采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差[14]。综合比较方案一与方案二后,方案一难度较大,但其准确性较高,推广性潜力较大,方案二准确性与灵活性普遍较差,因此我采用了以STC89C52单片机为核心的软硬件结合的电路,实现这次电子密码锁的设计方案[7]。2.2密码输入方式的选择方案一:矩阵键盘输入识别由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动。行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。每个按键都可通过程序赋予功能,从而完成密码识别,简单易行的硬件电路使其成本的费用得到降低。基于单片机的电子密码锁的设计与制作全文共49页,当前为第9页。方案二:指纹输入识别基于单片机的电子密码锁的设计与制作全文共49页,当前为第9页。由于人体的身体特征具有不可复制的特点,这给了科研人员一个灵感,如果能够设计出来,那安保就绝对的安全。其实指纹识别技术主要包含了一下几个功能:采集指纹图像、识别整体特征、存储数据和对比判定。通过采集指纹图像设备采集特定指纹的图像,再对原始图像进行初步的处理整合,使之轮廓清晰,使用软件建立这一区域的坐标,对指纹的轮廓取点建立指纹的特征数据。一般手指上约具有70个节点,所以在这种情况下会产生大约490个数据。然后我们通过计算机模糊比较的方法,把采集识别的指纹与特征数据存储的指纹进行对比,计算它们的相近程度,可能一次会失败,需要再次比较,最终得到两个指纹的匹配结果,再由系统判定出输入的指纹是否是本人。由于在实际生活中,人们不可避免的受伤,使得指纹经过一些创伤或手术后改变或者破坏,不是最稳定可靠的判定身份手段。综合比较方案一与方案二,还有考虑其成本的费用,成本太高难以被人们接受,使其难以得到推广,故本设计采用方案一。2.3红外编码和发射模块方案一:专用芯片解决方案。专用红外编码芯片目前生产厂商较多,如飞利浦、NEC、三洋、日本三菱公司等,专用红外编码芯片如SAA3010、M50426AP、PT2262、BL9148、ZD6631等等,其技术成熟,编码多,电压低,性能好,无需自己编制编码,与接收单片机解码配合也很容易,性能稳定,一般集载波振荡、编码、发射于一体,具有很强的抗干扰能力,外围电路简单,使用很方便,而且价格低廉,但其应用灵活性较差,其内部编码出厂后已经固化,无法修改内部的数据,不适用于经常需要变更数据的场合;专用芯片几乎都是面向指令型的编码遥控方式,传输效率较低;大多数的专用芯片的内部编码及技术数据已经被广泛传播。基于单片机的电子密码锁的设计与制作全文共49页,当前为第10页。方案二:微处理器与专用芯片组合解决方案,如图2.1所示。基于单片机的电子密码锁的设计与制作全文共49页,当前为第10页。图2.1PT2262红外编码发射电路该方案由微处理器与专用编码芯片PT2262组合完成编码工作,载波产生由MC4011与38KHZ晶振一起构成,振荡产生38KHZ方波[15]。PT2262的功能是让待发射数据以6位为一体的方式并行发出。PT2262把6位并行数据转换成串行数据,减轻编程负担,使传输速度更快。PT2262的A6/D0~A11/D5共6个复用端口全用作数据口,PT2262自动把微处理器送出的6位数据变成串行数据从Dout口发出。该方案可由微处理器任意制定密码位数、编码解码算法和同步信号,大大提高了数据保密度。其缺点是由于使用了PT2262,增加了硬件成本和电路复杂性。方案三:微处理器单独解决方案。电路如图2.2所示:基于单片机的电子密码锁的设计与制作全文共49页,当前为第11页。图2.2软件编码发射电路基于单片机的电子密码锁的设计与制作全文共49页,当前为第11页。该方案使用微处理器的I/O口直接产生38KHZ已调波,驱动红外发光二极管,发射红外数据。38KHZ方波由CPU的定时器产生或由软件编程产生。红外编码工作由软件完成,因此,红外编码方案可以任意设计,外部只需配接非常简单的硬件电路,大大降低了了电路的复杂性,有利于降低成本,减小遥控器的体积。由于使用软件编码方案,占用了CPU的一定的时间,CPU处理速度受到一定的影响,但是,对于遥控器这一类功能比较单一的系统来说,处理任务比较少,根本影响不了CPU的处理效率,仅仅是增加了软件编程的负担[3]。综合比较方案一、方案二和方案三,方案三既可满足题目要求,电路又非常简单,硬件成本又很低,仅仅是增加了软件的编程负担,使得红外编码非常灵活,故本设计采用方案三。2.4红外解码与接收模块方案一:分立元件解决方案,电路如图2.3所示。图中RD1为红外接收管;R3、R4,VT1构成反相放大器;VT2、R5、C2构成滤波器,滤掉38KHZ的高频载波;R6、R7、VT3构成整形电路[1],电路如图:图2.3低电压红外接收电路将滤波后的波形处理为较好的方波;C1、C3为耦合电容;R2为限流电阻,当接收到较强的信号是保护VT1。该方案最大的优点是供电电压比较低,可用两节电池3V电压供电。基于单片机的电子密码锁的设计与制作全文共49页,当前为第12页。但是,由于电路使用分立元件构成,其稳定性和抗干扰能力不高,影响红外数据传输的准确性。基于单片机的电子密码锁的设计与制作全文共49页,当前为第12页。方案二:集成电路解决方案,电路如图2.4所示。该方案使用一体化红外接收器,集红外接收和放大于一体,不需任何外接元件,就能完成从红外接收到输出与TTL电平兼容的所有工作,而体积和普通的塑封三极管大小一样。图2.41838T接收电路当红外线发射器发出的信号经空间传送到1838T时,它内部的PIN红外线接收管将红外线转换为电信号,该信号经选频放大、解调后由1脚输出与TTL电平兼容的电信号,该信号可以直接送入微处理器进行处理。1838T的输出波形如图2.5所示。当接收到频带内的红外信号时,1838T接收器会输出低电平,否则数据高电平,从而“将时断时续”的红外信号解调成原来的连续方波信号。图2.5(a)已调制红外信号(b)1838T输出信号1838T的优点是稳定性好,抗干扰能力很强,外围电路非常简洁,成本又不高,适用于各种红外遥控和红外数据传输,是替代其它红外接收放大器的理想元件。而且它的工作电压是2.7~5.5V,有效传输距离可达15M,是一款性价比较高的红外一体化接收头。基于单片机的电子密码锁的设计与制作全文共49页,当前为第13页。综合比较方案一与方案二,方案二采用集成电路的方式比较简单,容易实现且硬件成本很低,通过软件编程使得红外编码非常灵活,满足本设计的要求,故采用方案方案二。基于单片机的电子密码锁的设计与制作全文共49页,当前为第13页。3系统总体设计与实现3.1系统总体设计系统总体设计框图如图3.1所示:AT24C02掉电存储AT24C02掉电存储串口显示电路矩阵键盘控制STC89C52单片机输入错误锁定键盘延时报警控制电路指示电路开锁控制电路修改密码子程序退出子程序红外发射与接收模块 图3.1系统总体设计框图3.2系统总体原理图系统总体原理图如图图3.2所示。基于单片机的电子密码锁的设计与制作全文共49页,当前为第14页。图3.2系统总体原理图基于单片机的电子密码锁的设计与制作全文共49页,当前为第14页。4系统硬件构成4.1电源输入模块密码锁主控制部分电源需要用5V直流电源供电,把频率为50HZ、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。其主要原理是把单相电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经桥式整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。需通过低通滤波电路进行滤波,使输出电压平滑稳定。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直流压[12]。本电路使用充电器解决电源稳压问题。内部电路如图4.1所示:图4.1电源输入模块内部电路图4.2单片机最小系统模块基于单片机的电子密码锁的设计与制作全文共49页,当前为第15页。由STC89C52复位电路、时钟产生电路组成[16],原理图如4.2所示:基于单片机的电子密码锁的设计与制作全文共49页,当前为第15页。图4.2单片机最小系统电路原理图4.3LCD1602显示模块为了使得本次设计的显示效果得到提高,本设计的显示部分使用液晶显示器LCD1602代替普通的数码管来完成[4]。显示器开始时处于初始化状态,LCD1602液晶显示屏上显示“Welcometouse!”,当需要对密码锁进行开锁时,按下键盘上的输入按键后利用键盘上的数字键0-9输入密码,每按下一个数字键后在显示器上显示一个“*”,输入不超过6位就显示多少个“*”。当密码输入完成时,按下确认键,如果输入的密码正确的话,LCD1602液晶屏显示“DataEntryOK”,否则LCD1602液晶显示屏会显示“DataEntryERROR”,通过LCD1602液晶显示屏的显示以及一些外部电路LED亮灭显示,继电器的动断声音提示,使得我们可以清楚的判断出电子密码锁所处的状态。显示部分部分引脚接口如下图4.3所示:基于单片机的电子密码锁的设计与制作全文共49页,当前为第16页。图4.3显示电路原理图基于单片机的电子密码锁的设计与制作全文共49页,当前为第16页。4.4AT24C02数据存储模块用E2PROM芯片AT24C02来存储密码,特性如下:(1)写保护功能当WP为高电平时进入写保护状态(2)8脚DIPSOIC或TSSOP封装(3)低功耗CMOS技术(4)与400KHZI2C总线兼容(5)2.5V到5.5V工作电压范围(6)页写缓冲器(7)自定时擦写周期(8)1,000编程/擦除周期AT24C02数据存储芯片是一个串行CMOS电可擦可编程只读存储器,内部含有256*8位字节,具有2.5~5.5V的宽工作电压、可以在电脑上或专用设备上进行大于10000次的擦除已有信息,重新编程,具有小于10ms的写入速度、数据不易丢失、体积小,较强的抗干扰能力等特点[9]。AT24C02有一个16字节页写缓冲器。该器件通过IC总线接口进行操作,有一个专门的写保护功能。其管脚功能如下:1.AT24C02串行时钟(SCL)输入管脚用于产生器件所有数据发送或接收的时钟;2.AT24C02双向串行数据/地址(SDA)管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或;3.A0、A1、A2输入引脚用于单个或多个器件级联时设置器件地址,主器件和从器件都可以作为发送器或接收器,每个A0、A1、A2都有两种电平状态,既高电平或低电平状态,当这些脚都是地电位时默认值为0,此时级联数为0,单个AT24C02进行工作,当这些引脚都是高电位时可以级联2*2*2个AT24C02器件,这时也是处于最大器件可级联状态;基于单片机的电子密码锁的设计与制作全文共49页,当前为第17页。4.如果WP引脚连接到Vss或悬空此时只允许器件进行正常的读/写操作,当WP管脚连接到Vcc(1.8~6.0V)时,所有的内容此时不能写操作只允许读操作;基于单片机的电子密码锁的设计与制作全文共49页,当前为第17页。图4.4密码存储电路原理图4.5矩阵键盘输入模块由于STC89C52单片机芯片只有32个I/O接口[5],其他的模块已占用较多的I/O口,很难再安排16个I/O接口供按键所用,考虑到这次设计按键数量较多,不适宜用独立式键盘。此时我采用了4*4矩阵键盘的输入方法,只占用8个I/O接口的使用,将按键的排列形式定为矩阵形式,每条水平与垂直线交叉但不直接连通,再每一行每一列安排4个按键进行连接。软件设计进行时,先把全部的行线置一个高电平,检测列线的电位状态,只要有一列的电平为低电位,则表示该行有按键按下,既在某一时刻只让一列为低电平,通过坐标定位到按下的按键,按这一方法依次循环进行扫描。在确定好按键位置后,通过软件的设计编程赋值,使每个按键有着自己的功能。除了0-9十个数字键外,其余的6个键赋予其扩展功能分别为:退出、删除、关闭、输入、确认。单片机引脚接法按总线如图4.5所示:基于单片机的电子密码锁的设计与制作全文共49页,当前为第18页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第18页。图4.5键盘输入原理图4.6红外遥控键盘输入模块模块接口说明
a.VCC外接3.3V-5V电压(可以直接与5V单片机和3.3V单片机相连)
b.GND外接GND
c.IN外接单片机I/O口,I/O接口外接10K上拉电阻对红外遥控器进行理论测试距离在5-8米左右,但实际应用时取决于你使用时的周围环境因素以及中间阻挡物(例如隔膜、玻璃、阻碍物或其他材料阻挡),接收头采用1838T,带电源工作指示灯,可接收38KHZ频率任何遥控编码的数据,实物图如图4.6所示:图4.6红外遥控键盘输入模块4.7红外接收与发射模块4.7.1红外接收模块基于单片机的电子密码锁的设计与制作全文共49页,当前为第19页。红外信号收发系统的管脚分布如图4.7所示,红外接收与发射电路通常被厂家集成设计在一个元件中既一体化红外接收头。它包含了红外线信号的接收、整形、放大,在没有其他外接元件时,就能很好的实现信号无论从接收到输出,与外部电路相匹配的电平,例如在没有接收到红外信号时为高电平,收到红外信号基于单片机的电子密码锁的设计与制作全文共49页,当前为第19页。时为低电平,它适合于各种红外线遥控和红外线数据传输。1脚是输出,其电平与TTL兼容,2脚、3脚分别为接地和电源红外接收头1838T的主要参数如下:工作电压:4.8~5.3V
工作电流:0.6~1.5mA
距离:5-8M接收频率:38KHZ
角度:±35°峰值波长:980nm静态输出:高电平(接近工作电压)输出低电平:≤0.4V
图4.71838T引脚图1838T红外接收模块内部电路包括高速高灵敏度红外监测PIN光电二极管,放大器,限副器,带通滤波器,积分电路,比较器等。当红外监测PIN光电二极管收到红外信号时经放大器和限幅器进行整合,把信号加载到38KHZ的负载波上。后续再通过解调电路与积分电路后进入比较器,比较器通过高低电平的输出,使得发射端的信号进行还原。为了使得接收端接收的信号没有其他干扰,红外线接收器借助一种内部金属屏蔽和智能自动增益控制电路,对太阳或其他光源设备发出的光源信号的干扰作用进行抑制,从而达到这种灵敏度。注意输出的高低电平和发射端是反相的,这样的目的是为了提高信号接收的灵敏度。1838T红外接收头内部电路如图4.8所示。图4.81838T红外接收头内部电路4.7.2红外发射模块红外线遥控发射模块一般由一下几个部分组成,如图4.9所示:基于单片机的电子密码锁的设计与制作全文共49页,当前为第20页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第20页。RRD键盘编码器(调制信号)38KHZ振荡器(载波信号)图4.9红外线遥控发射电路框图红外遥控电路被广泛运用在我们生活中的方方面面,其红外线遥控发射模块大体上集键盘、编码器、振荡器、发光二极管等模块,包含了选通开关、驱动电路、选频网络、分频电路、振荡电路、微控制器输入接口等等,其编码使用的是脉宽调制的串行码方式,采用周期为1.125ms、脉宽为0.565ms、间隔0.56ms的组合表示二进制的“0”;采用周期为2.25ms、脉宽为0.565ms、间隔1.685ms的组合表示二进制的“1”。用38KHZ的载频“0”和“1”组成的42位二进制码,来使电源功耗降低提高发射的效率。再通过红外发射二极管产生红外线向空间发射。发射部分的主要元件为红外发光二极管,接通电源后不断将电能转化为不可见光,不断向空间中发射红外线,红外线的辐射范围随距离变远而降低。通过改变红外发光二极管两个脚上的电压形式,产生不同的信号。4.8报警模块报警部分由喇叭电路组成,当有键按下时,每按一下,喇叭koi响一次,当密码输入错误时,单片机的P3.4引脚为低电平,喇叭发出噪鸣声报警[11]。如图4.10所示:基于单片机的电子密码锁的设计与制作全文共49页,当前为第21页。图4-10报警电路原理图基于单片机的电子密码锁的设计与制作全文共49页,当前为第21页。5系统软件设计与实现5.1主程序流程图否是报警子程序否是报警子程序显示子程序结束开始密码输入子程序密码比较子程序判断两次密码是否正确图5.1系统主程序流程图5.2软件设计原理基于单片机的电子密码锁的设计与制作全文共49页,当前为第22页。通过参阅各方面的资料,确定我的这次设计硬件电路主要模块有:电源输入模块,单片机最小系统模块,LCD1602显示模块,AT24C02数据存储模块,矩阵键盘输入模块,红外遥控键盘输入模块,报警模块等模块组成,软件模块主要有:主程序、E2PROM读写程序、初始化子程序、LCD1602显示子程序、矩阵键盘扫描子程序、数据掉电存储子程序,关闭程序、、密码修改子程序、延时子程序[10]等。矩阵键盘输入模块与红外遥控键盘输入模块都可以实现键入密码和其他系统功能。由用户通过连接单片机的矩阵键盘输入密码后,经过单片机的处理对比用户输入的密码与保存的密码,如果对比的结果相同,则单片机会改变部分引脚的电位,从而使得发光二极管点亮,且继电器的常开触点控制电磁铁吸合线圈,以显示密码输入正确,否则密码输入错误,需进行再次输入(不大于2次)密码,且每次输入密码不大于30S,总体错误超过3次后蜂鸣器报警并锁死键盘,需进行初始化才可以消除报警。基于单片机的电子密码锁的设计与制作全文共49页,当前为第22页。6结论红外遥控电子密码锁易于操作,给用户提供了友好的操作界面,用户不需学习特殊,就能够简单、快捷地完成操作,做到即买即用。此产品还有其它优点比如功耗低,价格适中,体积小,可以进行近距离遥控,低耗很低,可以使用普通碱性电池供电,使用十分方便。经过进一步软件程序革新,硬件电路集成优化设计,功能不断地增强的同时成本可以进一步降低,从而使红外遥控电子密码锁能够走进千家万户,获得更广阔的销售市场。在这次的毕业设计过程中,巩固了我在大学4年内学过的知识,尤其是单片机和模拟电子方面的知识,同时通过这次毕业设计提高了我的单片机编程的能力,尤其是获得的软件调试经验,加强了我的实际编程能力,同时也让自己更加的知道了自己知识领域里的不足和缺陷。由于时间太仓促,理论方面也相应的存在不足,加上条件有限,仍存在着一些设计方面的问题,一些想到的功能还不能够展示出来。现在的我虽然已走到工作岗位,但这并不代表我学习的终止,希望在以后的生活中多找机会提高自己的技能,发挥自己的专长,进一步巩固自己在各方面的知识。随着高新技术的不断发展,电子产品的微型化和小型化已得到了实现。而作为单片机领域的各种新技术,新方法,新产品的发展趋势和显著标志—智能话是今后发展的动向之一。对单片机矩阵键盘与液晶显示模块的设计,使我们了解到了这一技术的革新,通过对这一技术的不断深入研究,我们可熟练的掌握运用于其他领域,如电子密码锁的设计,室内温湿度的调节与控制,门禁系统的设计等等领域。科技进步和经济的发展是当今时代的主题,人们生活水平的提高必然对电子类产品的要求增加,任何一个小系统的设计都是对于大系统设计的一个铺垫,技术革新,采用硬件软化,软件集成,虚拟显示和软测量等人工智能的方法和技术,我坚信我们的生活会变得更美好!基于单片机的电子密码锁的设计与制作全文共49页,当前为第23页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第23页。致谢光阴荏苒,四年的大学生活已经临近尾声,每每回忆起这段生活中的人和事,我都情不自禁的想要对您们说一声“谢谢您们,您们辛苦了!”。是啊,我要感谢我的父母,是他们的任劳任怨,他们的勤劳善良,他们的那份对我百分之百的信任以及对生活积极向上的态度使我终生受益,让我无论走在那里都感觉有支持相随!您们是伟大的,我挚爱的亲人!感谢我的指导老师,是他帮助我无论是在论文的选题、课题的研究、论文的撰写与论文的修改,都有李老师耐心的指导和热情的帮助,我感谢您,您那如春雨般渊博的知识,点点滴滴滋润着我,激励着我向更远走去;您那对治学的严谨,一丝不苟给我树立了一个好的榜样,让我时刻反省,超越自己!您那对我时刻的关怀,温暖着我的心!谢谢您,有您耐心的指导使我的毕业设计才顺利完成。感谢学校,感谢学校图书馆和自修室为我提供了良好的学习环境,为我不断吸取新知识提供了很好的源泉。感谢在学校的四年中各位老师的谆谆教导,现在的我已在工作岗位,深知老师们在课堂上教导的知识有多么的重要!时光不返,我只有带着自己学到的一点知识,在自己的工作中积累经验,为社会做出我的贡献,实现自己的价值,从而回馈学校,回馈父母!基于单片机的电子密码锁的设计与制作全文共49页,当前为第24页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第24页。参考文献[1]童诗白.模拟电子技术基础.北京:高等教育出版社,2006.235-278.[2]沈德金,陈粤初.单片机接口电路与应用程序设计[M].北京:航空航天大学出版社,1990.25-28.[3]张毅刚.单片机原理及应用.北京:高等教育出版社,2003.65-78.[4]沙占友,王彦朋,孟志永.单片机外围电路设计[M].北京:电子工业出版社,2003.64-69.[5]何立民.单片机应用技术选编[M].北京:航空航天大学出版社,1999.77-84.[6]MahirK.Mahmood.Improvingthesettingtimeofadigitalphase-lockfrequencysynthesizer.17-24.[7]吴国经等.单片机应用技术[M].北京:中国电力出版社,2004.1.55-57.[8]陈进超.新型无线遥控电子密码锁系统的研究,华中师范大学,发表时间:2006年.77-84.[9]马全利.单片机原理及接口技术[M].北京:高等教育出版社,2004.1.22-34.[10]石建华.单片机原理与应用技术[M].北京:北京邮电大学出版社,2008.31-35.[11]Chenchangzhou.VoiceofElectronicPassword-lockDesign,Beijingaviationuniversitypress,2003.69-84.[12]钟富昭.《8051单片机典型模块设计与应用》.北京:人民邮电出版社,2007[13]董继成.一种新型安全的单片机密码锁[J].电子技术,2004,(03).168-184.[14]阎石.数字电子技术基础[M].北京高等教育出版社1998.10.71-80.[15]彭虎.微机原理与接口技术.北京:电子工业出版社,2008.57-64.[16]李广弟.单片机基础[M].北京航空航天大学出版社,2007.2.66-72.基于单片机的电子密码锁的设计与制作全文共49页,当前为第25页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第25页。附录1实物照片基于单片机的电子密码锁的设计与制作全文共49页,当前为第26页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第26页。附录2原理图基于单片机的电子密码锁的设计与制作全文共49页,当前为第27页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第27页。附录3整体PCB图基于单片机的电子密码锁的设计与制作全文共49页,当前为第28页。基于单片机的电子密码锁的设计与制作全文共49页,当前为第28页。附录4源程序#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitjdq=P3^3;sbitbeep=P3^4;sbitrs=P2^6;sbiten=P2^7;sbitscl=P2^0;sbitsda=P2^1;ucharcodetable[16]="Welcometouse!";ucharcodetable1[16]="ControlPassword";ucharcodetable2[6]="Enter:";ucharcodetable3[13]="DataEntryOK";ucharcodetable4[16]="DataEntryError";ucharcodetable5[15]="ChangePassword";ucharcodetable6[12]="Pleaseenter";ucharcodetable7[15]="ModifyComplete";ucharma10,ma11,ma12,ma13,ma14,ma15;ucharma20,ma21,ma22,ma23,ma24,ma25;ucharnum,temp;ucharwflag;bitajflag;bitshu_ru_flag=0;bitgai_flag=0;ucharirdate[33];ucharirbyte[4];ucharirtime,irflag,bitnum,irdateok;bittui_chu,shan_chu,gai_mi;guan_bi,que_ren,shu_ru;uintnum1;voiddelay(uintms){ uchary; { for(ms;ms>0;ms--) for(y=110;y>0;y--); }}//AT24C02读写操作时序voiddelay_us(){;;}voidiic_init()//初始化基于单片机的电子密码锁的设计与制作全文共49页,当前为第29页。{基于单片机的电子密码锁的设计与制作全文共49页,当前为第29页。 sda=1;delay_us(); scl=1;delay_us();}voidstart()//开始{ sda=1;delay_us(); scl=1;delay_us(); sda=0;delay_us();}voidresponse()//应答{ uchari=0; scl=1;delay_us(); while((sda==1)&&(i<250))i++; scl=0;delay_us();}voidstop()//停止{ sda=0;delay_us(); scl=1;delay_us(); sda=1;delay_us();}ucharread_byte()//读字节{ uchari,date; scl=0;delay_us(); sda=1;delay_us(); for(i=0;i<8;i++) { scl=1;delay_us(); date=(date<<1)|sda; scl=0;delay_us(); } returndate;}voidwrite_byte(uchardate)//写字节{ uchari; for(i=0;i<8;i++) { date=date<<1; scl=0;delay_us(); sda=CY;delay_us();基于单片机的电子密码锁的设计与制作全文共49页,当前为第30页。 scl=1;delay_us();基于单片机的电子密码锁的设计与制作全文共49页,当前为第30页。 } scl=0;delay_us(); sda=1;delay_us();}voidwrite_add(ucharadd,uchardate)//写数据{ start(); write_byte(0xa0); response(); write_byte(add); response(); write_byte(date); response(); stop();} ucharread_add(ucharadd)//读数据{ uchardate; start(); write_byte(0xa0); response(); write_byte(add); response(); start(); write_byte(0xa1); response(); date=read_byte(); stop(); returndate;}voidyj1602_write_com(ucharcom)//液晶写地址{ en=0;delay(1); en=1;delay(1); rs=0;delay(1); P0=com; en=0;delay(1);}voidyj1602_write_date(uchardate)//液晶写数据{ en=0;delay(1); en=1;delay(1);基于单片机的电子密码锁的设计与制作全文共49页,当前为第31页。 rs=1;delay(1);基于单片机的电子密码锁的设计与制作全文共49页,当前为第31页。 P0=date; en=0;delay(1);}voidyj1602_init()//液晶初始化{ yj1602_write_com(0x38); yj1602_write_com(0x0c); yj1602_write_com(0x06); yj1602_write_com(0x01);}voiddeal_with()//数据接收成功处理{ uchari,j,k,temp1; k=1; for(j=0;j<4;j++) { for(i=0;i<8;i++) { temp1=temp1>>1; if(irdate[k]>7) { temp1=temp1|0x80; } k++; } irbyte[j]=temp1; }}voidqing_ling()//清空数据位下一次接收{ uchari; for(i=0;i<33;i++) irdate[i]=0; for(i=0;i<4;i++) irbyte[i]=0;}voiddidi()//滴滴声{ beep=0;delay(500); beep=1;delay(500);}voidkeyscan()基于单片机的电子密码锁的设计与制作全文共49页,当前为第32页。{基于单片机的电子密码锁的设计与制作全文共49页,当前为第32页。 deal_with();//数据接收成功处理 if(irbyte[2]==0x45){qing_ling();didi();shu_ru=1;}//CH- if(irbyte[2]==0x46){qing_ling();didi();que_ren=1;}//CH if(irbyte[2]==0x47){qing_ling();didi();tui_chu=1;}//CH+ if(irbyte[2]==0x44){qing_ling();didi();shan_chu=1;}//<< if(irbyte[2]==0x40){qing_ling();didi();gai_mi=1;}//>> if(irbyte[2]==0x43){qing_ling();didi();guan_bi=1;}//>|| if(irbyte[2]==0x16){qing_ling();wflag++;num=1;didi();ajflag=1;}//0 if(irbyte[2]==0x0c){qing_ling();wflag++;num=1;didi();ajflag=1;}//1 if(irbyte[2]==0x18){qing_ling();wflag++;num=2;didi();ajflag=1;}//2 if(irbyte[2]==0x5e){qing_ling();wflag++;num=3;didi();ajflag=1;}//3 if(irbyte[2]==0x08){qing_ling();wflag++;num=4;didi();ajflag=1;}//4 if(irbyte[2]==0x1c){qing_ling();wflag++;num=5;didi();ajflag=1;}//5 if(irbyte[2]==0x5a){qing_ling();wflag++;num=6;didi();ajflag=1;}//6 if(irbyte[2]==0x42){qing_ling();wflag++;num=7;didi();ajflag=1;}//7 if(irbyte[2]==0x52){qing_ling();wflag++;num=8;didi();ajflag=1;}//8 if(irbyte[2]==0x4a){qing_ling();wflag++;num=9;didi();ajflag=1;}//9 P1=0xfe; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); temp=P1; temp&=0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case0xee:wflag++;num=1;ajflag=1;didi();break; case0xde:wflag++;num=4;ajflag=1;didi();break; case0xbe:wflag++;num=7;ajflag=1;didi();break; case0x7e:shu_ru=1;didi();break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } }基于单片机的电子密码锁的设计与制作全文共49页,当前为第33页。 }基于单片机的电子密码锁的设计与制作全文共49页,当前为第33页。 P1=0xfd; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); temp=P1; temp&=0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case0xed:wflag++;num=2;ajflag=1;didi();break; case0xdd:wflag++;num=5;ajflag=1;didi();break; case0xbd:wflag++;num=8;ajflag=1;didi();break; case0x7d:wflag++;num=0;ajflag=1;didi();break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } } } P1=0xfb; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); temp=P1; temp&=0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case0xeb:wflag++;num=3;ajflag=1;didi();break; case0xdb:wflag++;num=6;ajflag=1;didi();break; case0xbb:wflag++;num=9;ajflag=1;didi();break; case0x7b:que_ren=1;break; }基于单片机的电子密码锁的设计与制作全文共49页,当前为第34页。 while(temp!=0xf0)基于单片机的电子密码锁的设计与制作全文共49页,当前为第34页。 { temp=P1; temp=temp&0xf0; } } } P1=0xf7; temp=P1; temp=temp&0xf0; if(temp!=0xf0) { delay(10); temp=P1; temp&=0xf0; if(temp!=0xf0) { temp=P1; switch(temp) { case0xe7:tui_chu=1;didi();break; case0xd7:shan_chu=1;didi();break; case0xb7:gai_mi=1;didi();break; case0x77:guan_bi=1;didi();break; } while(temp!=0xf0) { temp=P1; temp=temp&0xf0; } } }}voidkey_init(){ tui_chu=0; shu_ru=0; shan_chu=0; gai_mi=0; guan_bi=0; que_ren=0;}voidinput_data()//输入密码{基于单片机的电子密码锁的设计与制作全文共49页,当前为第35页。 if(ajflag==1)基于单片机的电子密码锁的设计与制作全文共49页,当前为第35页。 { while(ajflag==1) { ajflag=0; keyscan(); } if(wflag==1)ma10=num; if(wflag==2)ma11=num; if(wflag==3)ma12=num; if(wflag==4)ma13=num; if(wflag==5)ma14=num; if(wflag==6)ma15=num; } if(shan_chu==1)//删除输入的密码前一位 { while(shan_chu==1) { shan_chu=0; keyscan(); } if(wflag>0) { if(wflag==1)ma10=0; if(wflag==2)ma11=0; if(wflag==3)ma12=0; if(wflag==4)ma13=0; if(wflag==5)ma14=0; if(wflag==6)ma15=0; wflag--; } } if(tui_chu==1) { while(tui_chu==1) { tui_chu=0; keyscan(); } key_init(); shu_ru_flag=0; wflag=0; yj1602_init();//液晶初始化 }基于单片机的电子密码锁的设计与制作全文共49页,当前为第36页。} 基于单片机的电子密码锁的设计与制作全文共49页,当前为第36页。voiddeal_with1()//按键处理函数{ uchari; uintj; ucharerror;//输入错误的次数,超过三次报警,锁死键盘 bitgai_ok1,gai_ok2;//可以改密码 keyscan(); if(shu_ru==1)//输入密码开锁 { while(shu_ru==1) { shu_ru=0; keyscan(); } TR1=1; key_init(); wflag=0; ajflag=0; shu_ru_flag=1; yj1602_init();//液晶初始化 } if(gai_mi==1)//修改密码 { while(gai_mi==1) { gai_mi=0; keyscan(); } key_init(); wflag=0; ajflag=0; gai_flag=1;//修改密码按键按下标志位 yj1602_init();//液晶初始化 } while(gai_flag==1) { keyscan(); //修改密码界面 yj1602_write_com(0x80); for(i=0;i<15;i++) //"ChangePassword";//修改密码 { yj1602_write_date(table5[i]); }基于单片机的电子密码锁的设计与制作全文共49页,当前为第37页。 yj1602_write_com(0x80+0x40);基于单片机的电子密码锁的设计与制作全文共49页,当前为第37页。 for(i=0;i<6;i++) //"input:";//输入 { yj1602_write_date(table2[i]); } //输入正确的密码 if(wflag<1)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<2)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<3)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<4)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<5)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<6)yj1602_write_date('-'); elseyj1602_write_date('*'); input_data();//输入密码 if(que_ren==1) { while(que_ren==1) { que_ren=0; keyscan(); } if(wflag==6) { wflag=0; if((ma10==ma20)&&(ma11==ma21)&&(ma12==ma22)&&(ma13==ma23)&&(ma14==ma24)&&(ma15==ma25)) { beep=0;delay(300);beep=1; gai_ok1=1; gai_flag=0; error=0; yj1602_init();//液晶初始化 } else gotolp; } else//数据输入错误 {基于单片机的电子密码锁的设计与制作全文共49页,当前为第38页。 lp: error++;基于单片机的电子密码锁的设计与制作全文共49页,当前为第38页。 if(error>=3) { for(i=0;i<50;i++) { beep=~beep; delay(1000); } } wflag=0; beep=0;delay(300);beep=1;delay(300); beep=0;delay(300);beep=1; yj1602_init();//液晶初始化 yj1602_write_com(0x80); for(i=0;i<16;i++) { yj1602_write_date(table4[i]);//DataEntryError数据输入错误 } delay(10000);//延时5秒可重新出入 yj1602_init();//液晶初始化 } }lop: while(gai_ok1==1)//输入第一遍要更改的密码 { keyscan(); yj1602_write_com(0x80); for(i=0;i<12;i++) { yj1602_write_date(table6[i]);//"Pleaseenter";//请输入 } yj1602_write_date('1'); yj1602_write_com(0x80+0x40); for(i=0;i<6;i++) //"input:";//输入 { yj1602_write_date(table2[i]); } if(wflag<1)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<2)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<3)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<4)yj1602_write_date('-'); elseyj1602_write_date('*');基于单片机的电子密码锁的设计与制作全文共49页,当前为第39页。 if(wflag<5)yj1602_write_date('-');基于单片机的电子密码锁的设计与制作全文共49页,当前为第39页。 elseyj1602_write_date('*'); if(wflag<6)yj1602_write_date('-'); elseyj1602_write_date('*'); input_data();//输入密码 if(que_ren==1) { while(que_ren==1) { que_ren=0; keyscan(); } wflag=0; gai_ok1=0; gai_ok2=1; } while(gai_ok2==1)//输入第二遍要更改的密码 { keyscan(); yj1602_write_com(0x80); for(i=0;i<12;i++) { yj1602_write_date(table6[i]);//"Pleaseenter";//请输入 } yj1602_write_date('2'); yj1602_write_com(0x80+0x40); for(i=0;i<6;i++) //"input:";//输入 { yj1602_write_date(table2[i]); } if(wflag<1)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<2)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<3)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<4)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<5)yj1602_write_date('-'); elseyj1602_write_date('*'); if(wflag<6)yj1602_write_date('-'); elseyj1602_write_date('*'); if(ajflag==1) {基于单片机的电子密码锁的设计与制作全文共49页,当前为第40页。 基于单片机的电子密码锁的设计与制作全文共49页,当前为第40页。 { ajflag=0; keyscan(); } if(wflag==1)ma20=num; if(wflag==2)ma21=num; if(wflag==3)ma22=num; if(wflag==4)ma23=num; if(wflag==5)ma24=num; if(wflag==6)ma25=num; } if(que_ren==1) { while(que_ren==1) { que_ren=0; keyscan(); } if(wflag==6) { wflag=0; if((ma10==ma20)&&(ma11==ma21)&&(ma12==ma22)&&(ma13==ma23)&&(ma14==ma24)&&(ma15==ma25)) { beep=0;delay(300);beep=1; gai_ok2=0; gai_flag=0; write_add(0,ma20);delay(5); write_add(1,ma21);delay(5); write_add(2,ma22);delay(5); write_add(3,ma23);delay(5); write_add(4,ma24);delay(5); write_add(5,ma25);delay(5); yj1602_init();//液晶初始化 yj1602_write_com(0x80); for(i=0;i<15;i++) { yj1602_write_date(table7[i]);//显示修改完成 } delay(10000);//等待一会恢复正常显示 //读出存储器当中的密码值 ma20=read_add(0);基于单片机的电子密码锁的设计与制作全文共49页,当前为第41页。 ma21=read_add(1);基于单片机的电子密码锁的设计与制作全文共49页,当前为第41页。 ma22=read_add(2); ma23=read_add(3); ma24=read_add(4); ma25=read_add(5); yj1602_init();//液晶初始化 } else gotolp1; } else//数据输入错误 { lp1: wflag=0; beep=0;delay(300);beep=1;delay(300); beep=0;delay(300);beep=1; yj1602_init();//液晶初始化 yj1602_write_com(0x80); for(i=0;i<16;i++) { yj1602_write_date(table4[i]);//DataEntryError数据输入错误 } delay(10000);//延时5秒可重新出入 yj1602_init();//液晶初始化 gai_ok1=1; gai_ok2=0; gotolop; } } if(shan_chu==1)//删除输入的密码前一位 { while(shan_chu==1) { shan_chu=0; keyscan(); } if(wflag>0) { if(wflag==1)ma20=0; if(wflag==2)ma21=0; if(wflag==3)ma22=0; if(wflag==4)ma23=0; if(wflag==5)ma24=0; if(wflag==6)ma25=0;基于单片机的电子密码锁的设计与制作全文共49页,当前为第42页。 wflag--;基于单片机的电子密码锁的设计与制作全文共49页,当前为第42页。 } } if(tui_chu==1) { while(tui_chu==1) { tui_chu=0; keyscan(); } key_init(); shu_ru_flag=0; wflag=0; yj1602_init();//液晶初始化 } } } } while(shu_ru_flag==1)//输入密码开锁 { keyscan(); if(num1==400)//20秒时间到 { TR1=0;//关闭定时器 num1=0; gotolp2; } //密码输入界面 yj1602_write_c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.1 国家是什么(导学案) 高二政治 (统编版选择性必修1)
- 印刷机械行业智能化发展的市场机遇分析考核试卷
- 2025年销售佣金合同范本与业绩激励方案3篇
- 2025版木工行业培训与认证服务合同范本4篇
- 2025年商业委托销售协议
- 2025年合法住房公租房协议
- 二零二五年度驾校品牌推广与市场拓展合作合同2篇
- 2025年度个人二手车转让及二手车增值服务合同3篇
- 二零二五年度林业苗木繁育基地承包合同4篇
- 二零二五年度集体产权房屋买卖合同样本(含房屋产权调查及核实要求)
- 《医院财务分析报告》课件
- 2025老年公寓合同管理制度
- 2024-2025学年人教版数学六年级上册 期末综合卷(含答案)
- 2024中国汽车后市场年度发展报告
- 感染性腹泻的护理查房
- 天津市部分区2023-2024学年高二上学期期末考试 物理 含解析
- 《人工智能基础》全套英语教学课件(共7章)
- 废铁收购厂管理制度
- 物品赔偿单范本
- 《水和废水监测》课件
- 沪教版六年级数学下册课件【全册】
评论
0/150
提交评论