基于at89c51单片机的密码锁设计_第1页
基于at89c51单片机的密码锁设计_第2页
基于at89c51单片机的密码锁设计_第3页
基于at89c51单片机的密码锁设计_第4页
基于at89c51单片机的密码锁设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、基于at89c51单片机的密码锁设计摘要:前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的 生成为软件方式。本系统由at89c51单片机系统(主要是at89c51单片机最小系统),4x4矩阵键盘、lcd1602 显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功 能(本设计由p0 口控制lcd显示,密码正确显示password ok !密码错误显示password error ! 超过三次输入错误自动锁定。由p1 口控制矩阵键盘含有0-9数字键和a-f功能键。)除上述基 本的密码锁功能外,依据实际的情况还可以添加遥控功能。本系

2、统成本低廉,功能实用。关键词:单片机;密码锁;单片机设计;电子锁electronic lock design with 51 serires single chip controllerabstract: at present the use of electronic locks are mostly based on microprocessor, main devices mcu,the encoder and decoder built into software.scm system from the system (mainly at89c51 microcontroller mi

3、nimum system),4x4 matrix keyboard, lcd display and alarm system, with the settings,modify the eight user password, ultra alarm, ultra lock, password error alarm and other functions(p0 port to control the design of the lcd display, password correctly display password ok! password error display passwo

4、rd error! for more than three times to enter the error automatically lock. the pl port control keyboard matrix containing the number keys 0-9 and a-f function keys). the system cost-effective,practical functionkeywords: singlechip;cryptogram lock;singlechip design; electronics lock.目录1绪论11.1背景11.2电子

5、锁11.3电子密码锁的特点11.4电子密码锁的的发展趋势12总体方案22.1系统结构22.2总体方案比较与论证22.3各方案比较显示方案的选择33硬件设计53. 1单片机at89c51简介53.2输入键盘53. 3显示部分63.4震荡电路74软件设计74.1软件设计方案74.2软件设计总流程图74.3具体功能软件实施84.3. 1键盘扫描84. 3.2密码修改95 i周i式105. 1调试前的准备105.2硬件调试115.2.1液晶显示模块的硬件调试115.2.2按键测试115.3软件调试125.4调试心得13总 13参考文献13至文i射14m15附录一、硬件原理图15附录二、源程序151绪论

6、1.1背景随着社会物质财富的口益增长,安全防盗已成为社会问题。而锁cj古以來就是把守门户的 铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁荞长期以 来研制的主题。目前岡内,大部分人使用的还是传统的机械锁。然而,眼下假冒伪劣的机 械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是 1把钥匙能开几把锁的比率。经鬧家工商局、同家内贸局、中同消协等部门对锁具市场的 调查,发现个别产品的互开率敁然超标26倍。为何弹子锁的“互开率”会如此之高?据宥关专家人士剖析,弹子锁质量好坏主耍取决于 弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件的限制。

7、此外,即使是 一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提卜将锁打开。机械锁的 这些弊端为一种新型的锁一电子密码锁,提供了发展的空间。1.2电子锁电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁 具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。电子锁的发明思路,源q古代发明的g动机械,例如古希腊数学家赫伦的液压g动门, 中国古代诸葛亮的木十流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓 道的地卜*机关。电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一 日千里的跃进。1.3电子密码锁的特点电子密码锁是

8、一种通过密码输入來控制电路或是芯片工作,从而控制机械开关的闭合, 完成开锁、闭锁任务的电子产品。它的种类很多,宥简易的电路产品,也宥基于芯片的性 价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性 能和安全性已大大超过了机械锁,主耍特点如卜*:1保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替 3而使锁的密级下降。4误码输入保护。当输入密码多次错误时,报警系统cj动启动,防止试探密码。1.4电子密码锁的的发展趋势从r前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该

9、产品主要 应用于保险箱、保险柜和金库,还宥一部分应用于保管筘和运钞车。键盘式电了密码在键 盘上输入,与打电话差不多,w而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确乂可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。 但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者对能被旁观者窥测 出来,造成保密性不足。当然,密码乂不能太复杂,太复杂了可能自己都糊涂了,或者输 入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码 也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定 密码,常用常新;而“自动更改密码

10、”技术使得本次输入的密码将自动更改成下次应输入 的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序敁示” 技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者 正面看得到,因而即使旁观者看见操作动作也难以窥测山密码;“多重密码设定”技术使 得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码冰被认对,大大提 高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。在输入 密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正 确,即“封锁”键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,

11、但键盘 式电子密码防盗锁不仅在布场上居于主流地位,而且,还经常作为其他类型电子防盗锁的 辅助输入手段。2总体方案2.1系统结构本设计主要由巿片机、矩阵键盘和数码管等部分组成。芄屮矩阵键盘用于输入数字密码和 进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户 输入的密码与自己保存的密码进行对比,从而判断密码是否正确,并且通过单片开锁机将 控制引脚的高低电平送到液晶显示电路或者报警电路控制幵锁还是报警,系统整体框图如 图2 1所示2-1系统结构框图2.2总体方案比较与论证方案一:用以74ls112双jk触发器构成的数字逻辑电路作为密码锁的核心控制,共设了 9 个用户输入

12、键,其屮只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键, 键盘输入电路g动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间 超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报 警20秒,若电路连续报普三次,电路将锁定键盘2分钟,防止他人的非法操作1121。采用 数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。方案二:以at89c51为核心的单片机控制方案,如图2-2所示。功能全单片机具有资源丰 富、速度快、编程容易等优点。利用单片机内部的随机存储器(ram)和只读存储器(rom) 及其引脚资源,外接显示器,键盘输入等实现数据的

13、处理传输和显示功能,基木上能实现 设计指标,而且单片机编程设计灵活、t/0端口丰富、控制的准确性高,不但能实现基木 的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制等附加功能,此外单片机 方案省较大的活动空间,不但能实现所要求的功能,还能在很大的程度上扩展功能,而且 还可以方便的对系统进行升级。图2 2单片机控制方案2.3各方案比较显示方案的选择方案一:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光, 因此液晶显示器画质高;同样液品屏的功率消耗比较小;液晶是平板型结构,由w片玻璃 组成的夹层盒,面积可大可小,安装时占用面积小减小了设备的体积;液晶的信息量大和 同的

14、面积上与数码管比可以显示更多的信息;且他本身没有老化问题寿命极长;与数码管 相比液晶屏显示的更能够看懂,他能将英文细腻的显示岀来是数码管做不到的。然而液品 屏也可在阳光下工作,具有防风、防雨、防水功能。这就说明能够使用在室外。但是液晶 在阳光强的时候会反光足视角模糊看不清楚,对于这个现象由于屏幕较小可以用手挡住阳 光是q己看的清楚一点。-cftwanpipipiirvi图2-3液晶显示方案二:用数码管來妞示,与液品相同也能妞示数字和字母,但是在显示字母的时候没有 液晶那么细腻很难辨认,而且用数码管显示一个较长的英文就会用到好几个数码管扩大了 空间,就显得美观。数码管的优点是在强光卜*也能看清上

15、而显示的内容。图24数码管显示综合两方案的比较用液晶显示比较合适3硬件设计3.1单片机at89c51简介at89c51是美国atmel公司生产的 低电压,高性能cm0s8位单片机,片内 含4k bytes的可反复檫写的只读程序 存储器(eprom)和128bytes的随机存 取数据序存器(ram),器件采用atmel 公司的高密度/非易失性存储技术生 产,兼容标准mcs-51指令系统,片内 置通用8位中央处理器(cpu)和flash3-1at89c51 芯片存储单元,at89c51申片机为许多嵌入式控制系统提供y种灵活行高且价廉的方案 8031 cpu 与 mcs-51 兼容4k字节可编程fl

16、ash存储器(寿命:1000 57 檫循环)全静态工作:0hz-24khz 三级程序存储器保密锁定 128*8位内部ram 32条可编程1/0线 两个16位定时器/计数器 6个屮断源可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和吋钟电路pppppppprpp4ez st02345 o<«xo>(txo> <nmr> p <inrr> p <to> p<»> p (wr)p pxtal2 xtal 1 ond204030 38 37 3ft 3s 34 33 3231 30 292t25 24 之3 2?

17、 21vccpo.o p0.1 po po ro po po po.3456iaooj1ao1)1ao2)1ao3)1ao4)<ao5)1ao0)<ao7)r a/vpp ale/prog p5cn rp2p2p2s4321oat89c51图3-2 at89c51引脚图3.2输入键盘如图3 2所示,采用4x4触点式键盘,分别有数字键,确定键,清除键和干扰键。3.3显示部分为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器lcd 1602取代普通 的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状态。同理只有按 下关闭按键后显示器才处于关闭状态。否则显示器将一

18、直处于初始状态,当需要对密码 锁进行幵锁时,按下键盘上的幵锁按键后利用键盘上的数字键0 - 9输入密码,每按下一 个数字键后在显示器上显示一个* ,输入多少位就显示多少个*。当密码输入完成时,按 下确认键,如果输入的密码正确的话,lcd子显示"right",单片机其中p2.0引角会输 出低电平,使三极管t2导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,lcd显 示屏会显示"error" , p2.0输出的是高电平,电子密码锁不能被打开。3.4震荡电路本设计晶振选择频率为12mhz ,电容选择30pf如图(3 - 4 )。经计算得单片机工作胡机器 周

19、期为:12x ( 1+ 12m) =lus。4软件设计4.1软件设计方案主要完成,开始时液晶显示提示输入密码。输入密码后按下确认键,系统会将所输入与 系统密码进行比对。若输入密码正确则显示"sorrcet"开锁。然后可以选择上锁或者修 改密码。选择修改密码则可以对系统进行修改密码操作。在修改密码前要输入正确旧的 密码。正确输入旧密码之后,会有提示输入两次新密码,若两次密码一致,则修改成 功。期间操作出现失误,系统会返回初始状态,操作错误超过3次,系统会锁定键盘, 并报警用以防止恶意试探密码。软件采用模块化设计,在程序中以一个主函数,多个子 函数的方式编写,这样多有利程序的可

20、读、可移植等。函数共包含:1 .主函数;2. 键盘扫描函数;3. 显示扫描函数;4. 延时函数;4.2软件设计总流程图返回图4一 1密码锁的总流程图4.3具体功能软件实施4.3.1键盘扫描键盘设计应用编程式扫描方式,利用cpu完成其它工作的空余时间来调用键盘扫描子程序, 响应键盘输入的要求。在执行键功能吋,cpu不再响应键输入要求,直到cpu开始重新扫 描键盘为止。扫描程序包括:1. 判别有无按键按下;2. 扫描键盘,取得闭合键的行、列值;3. 判断闭合键是杏释放,如未释放继续等待:4. 将闭合键号保存,同时转去执行该闭合键的功能。uchar get key ()uchar row_code;

21、 uchar col_codc; pl=oxfo;修改列号 l codc=(pl&0xf0) |0x0f*fn-延时消抖延时消抖ifrm卜tar i zdo1j送列:r i描字if(pl!=i)xfo;读行线状态?rchj 找 h >ydexms (2);nrp- meoxfe;aiu hywh jl i c vrow_codc! =0x7f)nr 又、irow-code;j =row_cx)dc)初始化按f设置键输入旧密码'输入旧密码ii:确-411加丄 return (col_codc)输入新密码,萨,按姑.i摘完:,图42键盘福码返冋row_codc=( (row_

22、codc« 确认程序fm=l;return (0x00)开始图4-3密码修改流程图4.3.2密码修改用户能根据cj己的需耍修改密 码,按不选择键用户进行密码的修 改。首先输入ih密码一次,如果正 确便进行密码的修改再输入新的密 码两次,两次的密码进行比较,如 果两次密码相同密码修改成功,不 同就会从新输入新的密码,再进行 比较,相同之后提示密码设置成功。/*函数名称:各种密码比较,输入 子程序林/ void mima() uchar key, i; uchar idatatempl_password6 = 0, 0, 0, 0, 0, 0;/iic 里的密码 uchar idatat

23、emp3_password6 = 0, 0, 0, 0, 0, 0;/用于普通用户密比较ucharidatatcmp2_password6 = 0, 0, 0, 0, 0, 0;/用于old密码验证ucharidatatcmp4_password6 = 0, 0, 0, 0, 0, oh/用于2次密码比较kcy=stcp choose ();/用户模式选择5调试5.1调试前的准备proteus软件是英国labcenter electronics公司出版的eda工;r软件(该软件中网总代 理为广州风标电子技术有限公司)。它不仅具有其它eda工具软件的仿真功能,还能仿真 单片机及外岡器件。它是前最

24、好的仿真单片机及外鬧器件的工具。里然前国内推广刚 起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工 作者的ft睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协m仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。 是口前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台, 其处理器模型支持 8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086 和 msp430 等,2010年即将增加cortex和dsp系列处理器,丼持续增加其他系列

25、处理器模型。在编 译方面,它也支持iar、keil和mplab等多种编译器。5.2硬件调试5.2.1液晶显示模块的硬件调试利用proteus副好相应的硬件流程图,注意液晶显示器lcd1602的各个引脚,尤其与单片 机的接u,在硬件调试的测试软件中要对它的控制引脚进行定义。他的硬件调试电路如图 5-1所示lcd1chan9e password please press 2|仪!; u ® 茎 a*-wn*viu?r-pmp1.1p1zp1j3p1.*p1s a 4 cpdxvaddpo.1/ad1pdfadzpcuad3pd.4/ad4.pdsfadspoadspo.7/ad7p2.v

26、a9口p2a11p2.4a1zpzsfa13pzj&a1*pz.7/a1sp3jq*pxdp3.1ftxdp3,2ftirttlpaaimp3.*map3stt1 m £zff77tvj1-:-xtal1xtalzp5ehalewir-ltin*i山trjm-*=1r-do2a3«s«d7rfce本t5.2.2按键测试在proteus中连接好按键和led灯,p2 u是按键,pl u相对应的位置连接lh)灯。 程序内容如下:#include<reg51.h>main ()wh i1e (1)图5 1硬件显示调试图图5 2按键调试图p1=p2;把该

27、程序编译生成hex文件下载到仿真文件中,程序的|a)容很简单,在p2 口有按键按下 吋把p2 u的键值取过来放到pl u点亮lh)灯,口的是查看此种按键设计是否正确可用。5.3软件调试联机调试用kill和proteus进行联机调试,在两个软件中分别进行相应的设置,然后开始联机调 试,如图53 > 54所示。通 mima -薄ision2 - f:ie;51+5fe4eisi+rn;ma and musicmima.ci ° i=1 file edit view project邊曲q 0哦扁吻e oa昼边囚debug flash peripherals 工ools svcs wi

28、ndow helpa? hi食曹余食*«*食食禽會*貪佘喻曹余費禽*食禽食會*貪佘喻曹函数名称:定义间:&«會*食*«*11*會*«食*食貪*食會*食*«*«!食食會食禽負食禽食貪食食食會*»* ©rror 34: undefined ldentifierr«cist«rvftluof115jhr2r3r4r5jlrp vpsa is$ «tac tp s0x000x000x000x000000x00kyj/*< #defineuchar unsigned chardef

29、inec02.writeoxao幹definec02-_readoxal#definenoo0x28#definenol0x14彝defineno20x24#defineno 30x44#defineno 40x12#defineno50x22defineno60x42幹defineno70x11#defineno80x21#defineno90x41#defineenter 0x88彝define/*»*«*backspace0x81喻,»*費喻鬢/*函数名称:定义数组jl)asm assign breakdisable breakenoble breokki1

30、1 breaklist breakset breokaccess coverage jjk buid 人 command/frd in hes /|,jtreadyl:953 c:10(r/w5 3联机调试keil c界面5.4调试心得由此可见调试部分是多么重要,在调试中学到了不少有用的知识,做出来的成品是经过 多次修改的,并不是感觉做的很完善了就好了,而是要确保没一点错误,要达到没有错 误就要不断检验,不断修改。所以好的产品是要经过无数次的修改、完善,最终才能做 成。所以在以后写的程序中要注意程序的完善,完整。尽自己最大努力,做出最好的程 序,及广品。除此之外,在对本课题的设计中,我还理解了

31、团队合作的重要性,如果没有团队的合作 不可能短时间内完成对本课题的设计,所以在以后的设计中,应该注意这个问题。总结通过这次对基于at89c51的密码锁设计的制作过程,加强了我们动手、思考和解决问 题的能力。在设计过程中我们先后利用kcil软件进行编程、proteus进行仿真、protcl进行原理图 的绘制,最后再利用仿真进行检查看程序是否能显示其功能。在过程中让我进一步深刻 的学习各种软件的利用以及各种软件给我们带来的便利。特别是proteus在没有实物的情 况下进行仿真进行程序的检查看是否能现实功能。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够 的,只有把所学

32、的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服 务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以 说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不 足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。所以还得继续努力, 进一步提升自己。参考文献1 石文轩,宋薇.基于单片机mcs 51的智能密码锁设计m.武汉工程 职业技术学院学报,2004, (01);2 祖龙;起,刘仁杰.一种新型可编程密码锁j.大连轻工业学院学报,2002,(01);3 叶启明.单片机制作的新型安全密码锁j.家庭电子,2005,(10);4 郭海英

33、.基于单片机的电子安全密码誦设计m.现代电子技术,2005,(13);5 李明喜.新型电子密码锁的设计j.机电产品开发与创新,2004, (03):6 一种新型安全的单片机密码锁tjh电子技术,2004, (03):7 祖龙起,刘仁杰,孙乃凌.一种新颖的电子密码锁li.电子世界,2001,(10);8 李明喜.新型电子密码锁的设计j.机电产品开发与创新,2004, (03);9 杨茂涛.一种电子密码锁的实现j.福建电脑,2004, (08);10 瞿贵荣.实用电子密码锁j.家庭电子,2000, (07);11 王千.实用电子电路大全m,电子工业出版社,2001 , plol;12 何立民.单片

34、机应用技术选编m,北京:北京航空大学出版社, 1998;13 李华.mcs-51系列单片机使用接口技术m,北京航空航天大学出 版社,1993;14 彭为.单片机典型系统设计实例精讲m,北京:电子工业出版 社,2006;15 潘永雄.新编单片机原理与应用m,西安:西安电子科技大学出 版社,2003;16 童诗白,华成英,模拟电子技术基础m,北京:高等教育出版 社,2000;17 阎石主.数字电子技术基础m,北京:高等教育出版社,1998;致谢在这份大学的最后一页里,我要感谢的人很多,首先要感谢我的学校,感谢在这三年中 交给我的做人道理,让我从一个懵懂得高中生变成一个成熟的青年。还要感谢我的论文

35、指导老师许老师,在她的指导下我完成了论文,许老师多次询问研究进程,并为我指点 迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。许老师一丝不苟的作风,严谨求实 的态度,踏踏实实的精神,不仅授我以文,而且教我做人,给以终生受益无穷之道。我 从心里感谢他。还要感谢的是我们各课任课老师,他们从大一把我们迎进来,到现在把 我们送走,在三年来一直照顾我们的学习和生活,所以在这里也一定要特别感谢他们。 当然,还要感谢寝室的兄弟们在我完成论文的过程中给予我的帮助和鼓励,也是他们陪 我度过这三年的生活最后要感谢的就是我的父母、朋友,对于他们我更是有千言万语,还是汇聚成一句话:感谢你们一直都伴随着我。现在即将挥别我

36、的学校、老师、同学,还有我三年的大学生活,虽然依依不舍,但是对 未来的路,我充满了信心。最后,感谢在大学期间认识我和我认识的所有人,有你们伴 随,才有我大学生活的丰富多彩,绚丽多姿!附录附录一、硬件原理2s3sw-mo asw-resi2sw-pb s16- c 0-sw-ffip36 ij2?4lsw)voc8 es»gdplfi_p!2_k pb_ pm w5_6 p16 人p178;!c,18.pio pi i pi2 pi3 p14 pi5 p16 pi7p3orxdp3i/txdram側ktipwtop»tixix2rhshtat89c52r4ikrxipoipo

37、2po3pwr)5r-)6r)7ror 1p22p33r4p25r6r7eaapprdb7wwb6aleprdgkencit.,39rxi .w) 1rp1i6t15.14.438r)1 /_m 2"1f"tlbk p02 32jv.,36p03vr»<ji.bm jpw5卜j12.vp056卜_jl_11.p06 r»7jv10.j2r)7 / p07 81广ju_9respack4330k3 j12 d2330-cd-ik13r4 5r5 6ccr2 r, diql2鵬wc24co2lsibuzzer(md附录二、源程序/!,!,!,!,!,!

38、,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,!,冬!,/f/*项fi名称:多功能数字密码锁设计*/*功能:除了基本的密码验证功能外,还添加超级用户的功能*/*选择用户1选择以普通用户进入系统,齊通用户的初始密*/*为000000 ,选择用户2以超级用户进入,在你输入齊通*/*用户的密码之后可以随意修改普通用户的密码,外保存在eeprom*/ /*里,防止掉电数据消失。如果程序跑飞了,或者死机了又或者*/*忘记密码,可以按着rest键30秒左右,等待lcdl602屏幕上显示*/ /*rest succes重新恢复初始密码*/k

39、1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1k(> k(> k(> k1> k1> /r rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% <7%<t <t <t <t <1% 1% / <1 &l

40、t;1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 /

41、i/*函数名称:定义头文件/ 、!> / f * 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、 9/#include<reg52.h>include <at89x52.h>#include<intrins.h>#incl ude<absacc h/ (1 (1 (1 (1 (1 (1 (1 (

42、1 (1 (1 (1 (1 (1 (1 (1/f * 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、 9/*函数名称:定义向量/ k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1

43、 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k!>z/ rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% <7%/#define uchar unsigned char#define c02_write oxao#d

44、efine c02_read oxal#defme noo 0x28#define nol 0x14#define no2 0x24#define no3 0x44#define no4 0x12#define no5 0x22#define no6 0x42#define no7 0x11#define no8 0x21#define no9 0x41#define enter 0x88#define backspace 0x81/ 、!> / f * 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、

45、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、* 、 9/*函数名称:定义数组/ k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k1 k!>z/ rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt%

46、 rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% rt% <7%/#define lcm_write_cmd_add xbyte0x80ff #define lcm_write_data_add xbyte0x81ff #define lcm_read_busy_add xbyte0x82ff #define lcm_read_data_add xbyte0x

47、83ffuchar idata temp5_password| 61=0x00,0x00,0x00,0x00,0x00,0x00; uchar idata key一code卜no0,nol,no3,no4,no5,no6,no7,no8,no9;rtf,卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'

48、;卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜4、/*函数名称:定义位 /*函数功能:, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,夢 / <t* <t* <t* <t* <t* <t* <t* <t* <t

49、* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <t* <1* /sbi

50、t scl=p3a0; sbit sda=p3a1; sbit i=p3八2; sbit correct=p3a4; sbit wrong=p3a5; sbit fm=p3a3; bit ack;z *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1# *1#

51、*1# / f *j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*j、*t> i/*函数名称:采用屮断0 /*函数功能:控制节拍/10ms/ <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <

52、1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 /> /void into() interrupt 1 th0=0xd8;tl0=0xef;musiccount+;n-;>/ <1 <1 <1 <1 <1

53、<1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 <1 /i/*函数名称:led读数据子程序/<

54、* a * '4* * a * * 1 * '4* * a * * 1 * '4* * a * * 1 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* * 4 * '4* *

55、4 * '4* * 4 * '4* * 4 * '4* * 4 * /uchar lcm_read_data(void)uchar lcm_data; icm_wait();lcm data=lcm read data add; return(lcm_data);/ !* / t ,t* ,t* ,t* ,t* ,t* ,t* ,t* r y* ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t

56、、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t、 ,t* rj* /产函数名称:led定位置了程序/*函数功能:决定是显示在上面一行,还是下面一行。/ 鷂>!* /,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t*,t* <y* /void lcm_setxy(uchar x,uchar y)if(

57、y=l) lcm_write_cmd(x|0x80); if(y=2) lcm_write_cmd(x |0xc0);rtf,卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜'卜&#

58、39;卜'卜'卜'卜'卜'卜'卜'卜'卜4、/*函数名称:led写字符串子程序/*函数功能:显小字符串1i k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k">

59、; k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"> k"&g

温馨提示

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

评论

0/150

提交评论