《单片机电子密码锁课程设计bndm.docx》由会员分享,可在线阅读,更多相关《单片机电子密码锁课程设计bndm.docx(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、设计说明书内容基于单片片机的电电子密码码锁设计计一、设计计要求和和条件 1.11 设计计要求 根据单片片机开发发板所提提供的元元件特性性和硬件件电路,编编写相关关的程序序,通过过实验开开发板实实现电子子密码锁锁在LCCD16602上上显示的的功能。1.搭建建prooteuus仿真真电路图图平台,模模拟单片片机要实实现的功功能;2.焊接接单片机机系统开发发板;3.编写写程序,实实现密码码锁相关关功能;4.下载载并调试试程序,实实现密码码锁的具具体功能能。 1.2 设设计目的的1.熟练练掌握KKEILL软件的的使用方方法;2.熟练练掌握PPROTTEUSS软件的的使用方方法;3.掌握握单片机机I/
2、OO接口的的工作原原理;4.掌握握中断系系统的工工作原理理;5.掌握握液晶LCD16002的工工作原理理及编程程方法;6.掌握握蜂鸣器器的编程程使用;7.掌握握行列式式键盘的的工作原原理及编编程使用用方法;8.掌握握单片机机的ISSP下载载使用方方法。 1.3 功功能概述述本设计是是基于单单片机的的密码锁锁设计方方案,根根据要求求,给出出了该单单片机密密码锁的的硬件电电路和软软件程序序,同时时给出了了硬件设设计方案案、软件件流程图图、C语言源源程序及及详细注注释等内内容,由由于单片片机实验验板上的的矩阵键键盘为33*3的的,则规规定0-5号键键为数字字键,66-8号号键为功功能键,其中该密码锁
3、的具体功能介绍如下:(1) 按“8”号键则则输入密密码,初初始密码码为01123445,在LCDD16002上显显示密码码值为“*”(密码码是保密密的),输完6位后键盘就锁定,在LCD1602上显示密码是否正确,若输入的密码长度小于6位,则1602等待密码输入。(2) 若密码输输入正确确后,则则绿色的的发光二二极管亮亮表示开开锁,并并且16602上上显示“youu arre rrighht!”,等待待是否修修改密码码。(3)密密码输入入错误时时显示“codde iis wwronng”,接着会会给你第第二、第第三次机机会输入入密码,如如果三次次密码都都错误时时,发出“叮咚”的报警声,且红色色报
4、警指指示灯不不停闪烁烁,按复复位键清清除报警警。 (4)按按“7”号键表表示若密密码不小小心输入入时,可可以删除除输入错错误的密密码。(5)按按“6”修改密密码,要要求输入入原密码码是正确确的,然然后按该该键后,蓝蓝色密码码修改指指示灯会会亮,并并且16602上上会显示示“Inpput neww coode”,输入正正确要求求再次输输入,两两次输入入一致提提示“Moddifyy riightt!”并返回回主菜单单。两次次不一致致时提示“Moddifyy errrorr!”,然后后返回主主菜单。二、 硬件设计计方案的的论证本系统整整体主要要划分为为五大模块块,分别别是由单单片机最最小系统统、矩阵
5、阵键盘、LLCD显显示、报报警系统统、指示示灯电路路等组成成。单片片机系统统主要功功能是对对外部输输入的数数据进行行处理,显显示电路路将所要要操作的的步骤显显示出来来,指导导用户使使用,报报警电路路是对输入入错误密密码时的的警告报报警。系系统能完完成开锁锁、密码码输入错错误报警警、密码码删除、修改用户密码基本的密码锁的功能。若依据实际的实验板情况还可以添加遥控和掉电保护功能。 2.1 总总体方案案设计本设计的的具体总总模块设设计方案案如下图图(1)所所示图(1) 硬件总总方案模模块框图图2.2 具体模模块方案案的设计计1. 主控芯片片的方案案选择方案一:采用硬硬件电路路进行电电子密码码锁设计计
6、,比如如使用 74LLS1112 双双 JKK 触发发器构成成的数字字逻辑电电路控制制方案,该该种方案案可以实实现基本本功能,而而且优点点是不需需要软件件编程,但但电路连连接比较较复杂,关关键在于于不易实实现自行行设置密密码的要要求。方案二:单片机机中的SSTC889C551是具具有高性性能和低低功耗优优点的88位可编编程控制制器,内内核具有有丰富的的指令集集和322个通用用工作寄寄存器,可可以通过过软件编编程来实实现电子子密码锁锁设计中中的各项项要求和和功能,而而且单片片机的 I/OO 口也也足够使使用,硬硬件电路路连接比比较简单单。综上所述述方案论论证,本本次电子子密码锁锁系统设设计的主主
7、控芯片片选择 STCC单片机机的 SSTC889C551来完完成,采采集输入入数据对对其处理理并发出出相应的的指令。2.键盘盘模块方方案选择择方案一:可以选选择独立立连接式式键盘。对对于独立立连接式式键盘,其其每个键键都独立立的接入入一根数数据线,平平时所有有的数据据线都被被连接成成高电平平,当任任何一个个键按下下时,与与之相连连的数据据线将被被拉成低低电平。这这种方案案在处理理多个数数据时编编程和硬硬件连接接电路会会较复杂杂。方案二:选择矩矩阵行列列式键盘盘作为输输入模块块。矩阵阵式行列列式键盘盘由行线线和列线线组成,按按键位于于行、列列的交叉叉点上,行行、列分分别连接接到按键键开关的的两端
8、,列线通过上拉电阻接到高电平。无按键动作时,列线处于高电平状态;有按键按下时,交点的行线列线接通,列线电平状态将由与此行线相连的行线电平决定。本次通过键盘输入的值有很多种,而矩阵式键盘节省了好多的 I/O 口,适用于按键数量较多的场合。综上且根根据本次次设计中中的单片片机实验验板选择择使用33*3矩矩阵键盘盘来完成成输入密密码值,此此种键盘盘功能简简单实用用,如下下图(22)所示示图(2)矩矩阵键盘盘3. 显示模块块方案选选择方案一:采用 LCDD16002 作作为主液液晶显示示器。此此液晶屏屏能输入入两行的的字母或或数字,功功能比较较简单,比比较通用用。本次次设计中中要显示示输入密密码的数数
9、据值和和各功能能的提示示,使用用 LCCD16602 液晶来来作为显显示模块块较直观观形象。如图(33)所示示,显示示比较直直观形象象 图(3) LCDD16002显示示方案二:采用数数码管来来实时显显示输入入密码的的数值,由由于密码码的个数数为6硬件电电路连接接线路较较复杂,连连接管脚脚较多,而且观看起来不清晰、直观。基于以上上两种方方案比较较,本次次设计中中采用方方案一。4. 报警模块块方案的的选择方案一:采用116022显示特特殊数字字或字母母来表示示输入密密码正确确或者错错误,这这种方案案也可以以直观表表示。方案二:采用声声和光两两种方式式的双重重效果进进行报警警,如果果密码输输入错误
10、误报警灯灯闪烁而且且蜂鸣器器会报警警,这样样就能多多角度进进行密码码错误报报警。经过上述述分析比比较,使使用方案案二的声声光报警警来表示示解锁失失败,如如图(44)所示示 图(44) 报警电电路设计计5. 报警解除除模块该模块用用单片机机最小系系统中的的复位功功能,既既可以节节省了II/O管管脚,还还可以重重新开始始输入密密码,此此模块中中的蜂鸣鸣器的功功能是当当用户输输入密码码错误的的次数超超过了33次,蜂蜂鸣器鸣鸣笛报警警,键盘盘处于锁锁定状态态其电路路图如图图(5)所示 图(55)复位位电路三、软件件设计 软软件的设设计主要要有主程程序模块块,键盘盘扫描模模块,LLCD116022显示模
11、模块,密密码比较较模块,开开锁程序序模块、报报警模块块等。 3.1 主主程序模模块主程序主主要完成成LCDD初始化化、检查查有无按按键按下下、以及及调用显显示、密密码修改改程序等等等。主主程序的的流程图图如图(6)所所示 图(66)主程程序方框框图3.2 开锁程程序模块块开锁程序序流程图图如图(8)所示。图(7) 开锁锁子程序序模块3.3 LCDD16002显示示模块本系统使使用LCCD16602实实现显示示,参照照LCDD16002的使使用手册册进行初初始化和和程序编编写就可可以显示示,即在在程序编编写中添添加LCCD16602的的驱动程程序。这这里的驱驱动程序序主要包包括:初初始化函函数、
12、设设置显示示坐标、写写字符函函数及写写字符串串函数。在在时钟界界面时显显示时间间的运行行,在密密码锁界界面时主主要显示示提示信信息和输输入的密密码,当当然,当当输入密密码数字字时,输输出不是是显示数数字,而而是用“*”显示代代替。LLCD116022的部分分读写控控制时序序程序如如下图(8)所示: 图图(8)LLCD116022初始化化3.4 键盘扫扫描与处处理模块块该模块具具备功能能有:逐逐列扫描描键盘确确实被按按键的具具体位置置、判断断键盘上上有无键键按下、消消除抖动动、判断断闭合的的键是否否释放等等功能,该该模块利利用caase语语句来判判断按键键的按下下与否,方法是:依次给行线送低电平
13、,然后查所有列线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。先给P2口赋值为fe,再对P2口扫描,再与f8相与,看是否相等,若等,则无键按下,不等,则有键按下,再判断在哪列。然后进行按键处理函数,其处理函数的流程图如图(9)所示、 图图(9)按按键功能能程序四、 系统调试试4.1 调试部部分采用先分分别调试试各单元元模块,调调通后再再进行整整机调试试的方法法,以提提高调试试效率。(1)键键盘测试试在带有有单片机机的电路路板上编编程调试试3*3矩阵键键盘,使使其在液液晶上显显示出键键盘锁对对应的数数字及功功能。利利用仿真真
14、机调试试成功后后通过编编程器将将程序写写入芯片片中调试试。(2)报报警及开开锁控制制电路测测试通过过矩阵键键盘控制制输入正正确的开开锁密码码,锁灯灯亮;当当连续输入入三次的密密码错误误时,报报警指示示灯闪烁烁,蜂鸣鸣器报警警并锁死死键盘。(3)显显示电路路测试 通过电电位器对对16002液晶晶的对比比度和背背光灯进进行调整整,使其其在最适适合的状状态下工工作。各功能模模块均调调通后,进进行整机机调试,其其过程如如下:将将调好的的各功能能模块连连接在一一起,用用函数信信号发生生器模拟拟电压信信号,先先用仿真真机代替替STCC89C51单片机机进行模模拟调试试,对每每一芯片片的片选选、启动动进行检
15、检测,并并对数据据线也进进行检测测。调试试成功后后再将程程序写到到单片机机中进行行调试。4.2 软件调调试部分分(1)KKEI的的编程,仿真,编译集集成环境境KEIILUVV3:将将汇编语语言源程程序编译译成*.hexx文件。(2) STC-ISPP-V44.833下载器器:将CC语言源源程序编编译成的的*.hhex文文件在线线下载到到STCC单片机机中。(3) STC-ISPP-V44.833使用说说明: (II) 双双击图标标并出现现下图画画面(II)选择你你需要的的单片机机型号;(IIII)打开开“0011.HEEX”文件;(IV)选择你你的串行行口,这这里选择择COMM1;(V)点点击
16、doownlloadd/下载载,即可可实现自自动下载载编程。4.3 调试结结果分析析本系统以以STCC89C51为核核心部件件,利用用软件模模块化编编程,通通过键盘盘控制和和液晶显显示实现现了密码码锁的功功能、报报警功能能,并能能防止多多次试探探密码,能能实现本本设计题题目的基基本要求求。在设设计时根根据实验验板的硬硬件连接接尽量做做到硬件件电路简简单稳定定、减小小电磁干干扰和其其他环境境干扰,充充分发挥挥软件编编程的优优点,减减小因元元器件精精度不够够引起的的误差。本设计成功仿真实现了1602液晶显示、密码“*”的设置、密码设置,防止多次试探,报警等功能。并且采用C语言编写程序,具有很强的移
17、植性,为系统增减和修改带了方便。在设计中中也遇到到了许多多困难,例例如对LLCD116022的具体体功能不不熟悉,于于是就在在图书馆馆,网上上收索相相关资料料来进行行编程,对对其功能能模式有有了进一一步的理理解。还还有对33*3键键盘扫描描程序的的编程,利利用学过过的4*4键盘盘编程的的原理方方法用了了casse语句句来对其其编程。由于时间间有限和和自身知识识水平的的限制,本本系统还还存在一一些不够够完善的的地方,要作为实际应用还有许多具体细节问题需要解决。例如:扩展AT2402模块储存密码,红外报警探测技术,密码指纹识别技术,语音识别技术,图像识别技术等等。只有这样更能满足社会的发展和人民的
18、需求。五、 模拟仿真真结果各模块的的仿真结结果如下下图所示示 图(110) Wellcomme界面面 图图(111)输入入密码界界面 图图(122)开锁锁界面图(133)修改改密码界界面图(144)密码码修改成成功界面面图(155)报警警界面六、 设计心得得这次实训训的时间间为两周,分分三个阶阶段:第第一,做做电路仿仿真,原原理图;第二,对单片机实验板进行焊接;第三,电路硬件调试。每一步都很认真做了,仿真还是第一次用到实际中,感觉有很大的收获。一般一次成功的板子是很少的,都要进过调试查错才可以得到一块完整的电路板。这一次做做的电子子密码锁锁及LCCD显示示。原理理看似简简单,但但过程让让我深深
19、深感受到到再简单单的电路路图,理理论与实实际有一一定的差差入。在在参考书书的原理理图经过过了个人人的改进进,让功功能更完完善,特特别是程程序的调调试,花花的时间间做多,也也是最难难的一个个地方。我我们最终终的目的的是应用用而不是是理论结结果。我我们学的的理论知知识都是是比较先先进的,但但是由于于平常少少于把知知识付诸诸于实践践。通过本次次设计,培养了了创新意意识和综综合素质质,更好好地掌握握了电子子产品设设计与制制作的工工艺和流流程,提提高个人人基本能能力、实实验及设设计能力力和独立立工作能能力,基基本知识识更加牢牢固,会会看图、会会焊接安安装、会会测量、会会查资。七、 参考文献献1 杭和平平
20、. 单单片机原原理与应应用. 北京:机械工工业出版版社,2200882 李朝青青. 单片片机原理理与接口口技术.北京:航空航航天出版版社,2200993宋宋彩利.单片机机原理与与C511编程 M. 西安交交通大学学出版社社,20007附录I prroteeus仿仿真图附录III 实实物显示示 附附录IIII 源程序序#inccludde #deffinee ullongg unnsiggnedd loong#deffinee uiint unssignned intt#deffinee uccharr unnsiggnedd chharuchaar ttempp,nuum,fflagg,r;u
21、chaar ccodee taablee1= wellcomme!(_);/主主界面uchaar ccodee taablee2=lliu haii yaan DDIY;/主界面面uchaar ccodee taablee3=*;/密码显显示“*”uchaar ccodee taablee4=ccodee iss wrrongg!;/密密码错误误显示uchaar ccodee taablee5=yyou aree riightt!;/开开锁显示示uchaar ccodee taablee6=tthe seccondd tiime!;/第二二次开锁锁显示uchaar ccodee taablee
22、7=tthe lasst ttimee!;/第第三次开开锁显示示uchaar ccodee taablee8=IInpuut nnew codde:;/修改密密码显示示uchaar ccodee taablee9= calllinng.;/报警显显示uchaar ccodee taablee12=Moddifyy riightt!;/修改改密码正正确uchaar ccodee taablee10=passswoord:;/输入入密码uchaar ccodee taablee11= ;/删除除密码显显示uchaar ccodee taablee13=Inpput agaain:;/再次次输入密密
23、码uchaar ccodee taablee14=Moddifyy errrorr!;/修改改密码错错误uchaar iniit_ppswdd6=00,1,2,33,4,5;/初初始化密密码uchaar pswwd66=0;/放放新修改改的输入入的密码码sbitt lccdrss=P110; / LCCD 数数据/指指令(HH/L)选选择端 sbitt lccdrww=P111;sbitt lccdenn=P112; /LCCD使能能sbitt PP1_33=P113;/开开锁指示示灯sbitt PP1_44=P114;/修修改密码码指示灯灯sbitt PP1_55=P115;/报报警指示示灯
24、sbitt P22_7=P227;/蜂蜂鸣器/*子子函数声声明*/voidd deelayy(uiint z);voidd innit();/初始始化子函函数voidd wrritee_coom(uuchaar ccom);/写指令令子函数数voidd wrritee_daata(uchhar datt1);/写写数据子子函数uintt keeysccan();voidd miima();/密码码处理子子函数voidd miima11(); /修改改密码函函数voidd Allarmm(uccharr t);/报警函函数/*液晶驱驱动*/voidd innit()lcdden=0;writte
25、_ccom(0x338); /设置置16002显示示,5xx7点阵阵显示,88位数据据接口 wwritte_ccom(0x00e); /000001DDCB,DD(开关关显示),C(是否显显示光标标),BB(光标标闪烁,光光标不显显示) writte_ccom(0x006);/00000001NN0,NN(地址址指针+-1)writte_ccom(0x001); /清屏屏指令 每次次显示下下一屏内内容时,必必须清屏屏writte_ccom(0x880); /第一行行显示 voidd wrritee_coom(uuchaar ccom) /写命令令子函数数 lccdrss=0; /低低电平选选择
26、为 写指令令 lcdrrw=00;P0=ccom; /把指令令写入PP0口 delaay(55);lcdeen=11; /开使能能 delaay(55); /读取指指令 lcdeen=00; /关关闭使能能voidd wrritee_daata(uchhar datt1) /写写数据子子函数 lcddrs=1; /高电平平选择为为写数据据 lcdrrw=00;P0=ddat11; /把把数据写写入P00口delaay(55);lcdeen=11; /开使能能 delaay(55); /读取取数据 lcdeen=00; /关闭闭使能 voidd deelayy(uiint z) /延时时子函数数
27、 zz*1mms uinnt xx,y;for(x=zz;x0;xx-)for(y=1110;y00;y-);uintt keeysccan() /键键盘扫描描程序P2=0xffe; /先选定定第一行行tempp=P22;tempp=teemp&0xff8; /列线全全为1,行行线为00whille(ttempp!=00xf88)dellay(15); / 延时时去抖tempp=P22;tempp=teemp&0xff8;whille(ttempp!=00xf88)temmp=PP2;swittch(temmp) /判断断哪列按按下casse 00xf66:nuum=00;fllag=1;bb
28、reaak;/第一一列按下下casee 0xxee:numm=1;flaag=11;breeak;/第第二列按按下casee 0xxde:numm=2;flaag=11;breeak;/第第三列按按下whille(ttempp!=00xf88)temmp=PP2;tempp=teemp&0xff8;P2=00xfdd; /选定第第二行,列列线为11tempp=P22;tempp=teemp&0xff8;whille(ttempp!=00xf88)dellay(15);tempp=P22;tempp=teemp&0xff8;whille(ttempp!=00xf88)temmp=PP2;swit
29、tch(temmp) /判判断哪列列按下casse 00xf55:nuum=33;fllag=1;/第一一列按下下breaak;casee 0xxed:numm=4;flaag=11;/第二列列按下breaak;casee 0xxdd:numm=5;flaag=11;/第三列列按下breaak;whille(ttempp!=00xf88)temmp=PP2;tempp=teemp&0xff8;P2=00xfbb;/选定第第三行tempp=P22;tempp=teemp&0xff8;whille(ttempp!=00xf88)delaay(115);tempp=P22;tempp=teemp&0
30、xff8;whille(ttempp!=00xf88)temmp=PP2;swittch(temmp)casse 00xf33:nuum=66;fllag=1;bbreaak;casee 0xxeb:numm=7;flaag=11;brreakk;casee 0xxdb:numm=8;flaag=11;brreakk;whille(ttempp!=00xf88)temmp=PP2;tempp=teemp&0xff8;retturnn(nuum); voiid mmainn()uchhar m=00,w=0;initt(); /LCDD初始化化writte_ccom(0x880); /第一行行显
31、示 forr(r=0;rr155;r+)wriite_datta(ttablle1r);delaay(55);writte_ccom(0x880+00x400);/第二二行显示示for(r=00;r15;r+)wriite_datta(ttablle2r); dellay(5);writte_ccom(0x00c);dokeyyscaan();whille(nnum!=8); /等待待开锁键键按下 miima(); /密码码输入处处理函数数whille(pswwdmm=iniit_ppswddm)&mm=66)/密码正正确P1_3=00; /开锁锁指示灯灯亮keysscann(); wwhil
32、le(fflagg=11&nnum=6);/是否修修改密码码mimaa1(); /修改密密码函数数elsee/密密码有误误m=00;writte_ccom(0x880+00x400);/显示示第二行行for(r=00;r14;r+)dellay(20);writte_ddataa(taablee4rr); dellay(20000);initt();for(r=00;r16;r+)dellay(20);writte_ddataa(taablee6rr);delaay(220000); mmimaa();/密密码输入入处理函函数whille(pswwdmm=iniit_ppswddm)&mm=6
33、6) P11_3=0;mimaa1();/修改密密码函数数elseem=00;writte_ccom(0x880+00x400);for(r=00;r14;r+)dellay(20);writte_ddataa(taablee4rr);dellay(20000);initt();for(r=00;r14;r+) ddelaay(220);writte_ddataa(taablee7rr);dellay(20000);mimaa();whille(pswwdmm=iniit_ppswddm)&mm=66)P1_3=00;/密码正正确,则则开锁指指示灯亮亮mimaa1();/密码修修改函数数els
34、eeiniit();writte_ccom(0x880+00x400);for(r=00;r13;r+)dellay(20);writte_ddataa(taablee9rr);writte_ccom(0x00c); whiile(1)P1_5=P1_5;/报警警指示灯灯闪烁delaay(330); Allarmm(900); Allarmm(1220);/产产生“滴滴”声voidd miima() /密密码输入入程序uchhar w=00;initt();for(r=00;r9;rr+)dellay(20);writte_ddataa(taablee10r);doflaag=00; keey
35、sccan();writte_ccom(0x880+99+w);if(fflagg=11&nnum=5)pswwdww=nnum;writte_ddataa(taablee3ww);w+; /输入入密码if(ww=66) wriite_comm(0xx0c);if(fflagg=11&nnum=7)/删删除误输输入的密密码,即即返回上上一步.w-; /删除密密码if(ww=2255) /删除完完密码w=w+1;writte_ccom(0x880+99+w);writte_ddataa(taablee11w+11);if(fflagg=11&nnum=5)pswwdww=nnum;writte_
36、ddataa(taablee3ww); whhilee(w=5);/*输入初始始密码正正确后,密密码修改改*/voidd mmimaa1()uchhar f=00,n=0,dd=0;writte_ccom(0x880+00x400);for(r=00;r14;r+) ddelaay(220);writte_ddataa(taablee5rr);delaay(220000);do nnum=9;/按键键不显示示,锁住住按键keysscann();whiile(numm!=66);if(fflagg=11&nnum=6)iniit();P11_3=1;PP1_44=0;for(r=00;r15;r
37、+)dellay(20);writte_ddataa(taablee8rr);writte_ccom(0x00c);writte_ccom(0x880+00x400+n);writte_ccom(0x00e);/第一一次输入入修改密密码/donnum=9;/按键键不显示示,锁住住按键keysscann();writte_ccom(0x880+00x400+n);iff(fllag=1&nuum=5) iniit_ppswddn=nuum;writte_ddataa(taablee3nn);n+;if(nn=66) wriite_comm(0xx0c);if(fflagg=11&nnum=7)/
38、删删除误输输入的密密码,即即返回上上一步.n-;if(nn=2255)n=n+1;writte_ccom(0x880+00x400+n);writte_ddataa(taablee11n);iff(fllag=1&nuum=5)/显示示0-55键值 psswdn=numm;wrritee_daata(tabble33n);whiile(n=5);/第二次输输入修改改密码,并并判断是是否正确确/initt();for(r=00;r12;r+)dellay(20);writte_ddataa(taablee13r);do flaag=00;/锁住按按键keysscann();writte_ccom
39、(0x880+00x400+d);if(fflagg=11&nnum=5)pswwddd=nnum;writte_ddataa(taablee3dd);d+;if(dd=66) wriite_comm(0xx0c);if(fflagg=11&nnum=7)/删删除误输输入的密密码,即即返回上上一步.d-;if(dd=2255)d=d+1;writte_ccom(0x880+00x400+d);writte_ddataa(taablee11d+11);if(fflagg=11&nnum=5) psswdd=numm;wrritee_daata(tabble33d); whhilee(d=5);whille(pswwdff=iniit_ppswddf)&ff=66)/密码正正确iniit();for(r=00;r15;r+)dellay(20); writte_ddataa(taablee12r);dellay(50000); P1_4=11;/修改密密码指示示灯灭mainn();elsseiniit();for(r=00;r15;r+)dellay(20);writte_ddataa(taablee14r);dellay(10000);mainn();/返返回主界界面voidd Allarmm(uccharr t) /
限制150内