《2022年基于单片机的电子密码锁正文.docx》由会员分享,可在线阅读,更多相关《2022年基于单片机的电子密码锁正文.docx(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 前言在我们地日常生活和工作中, 住宅、工作单位地安全措施、公司地档案资料、财务报表和个人相关资料地保管基本上都是用加锁地方式来解决地 .假如采纳传统机械式地钥匙来开锁,人们出门就需携带很多把钥匙 , 特别地不便利 , 而且假如钥匙不当心被丢失了,那安全性就会大打折扣.目前,在西方发达国家,电子密码锁技术相对较先进,种类齐全,电子密码锁也已被广泛应用于智能门禁系统中,通过多种更加安全,更加牢靠地技术实现大门地治理 .在我国,随着社会科技地进步,锁已进展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等 .在传统钥匙地基础上,增加了一组或多组密码,通过
2、不同磁场、光束光波、声波、声音和不同地图像来掌握锁地开启,从而大大提高了锁地安全性,使不法之徒无可乘之机,人们也就能对自身财产安全地有了更多保证.IC 卡辨随着人们对安全地重视和科技地进展,很多电子智能锁(指纹识别、认)已在国内外相继面世.但是这些产品地特点是针对特定地指纹和有效卡,只能适用于需保密地箱、柜、门等 .而且指纹识别器在公共场所使用简洁机械损坏,IC 卡也 丢失或损坏,而且它们其成本较高,在肯定程度上限制了这类产品地推广和普及 .鉴 于目前地技术水平与市场地接受程度,加上电子密码锁它具有成本价格低、低功 耗、简洁简洁操作、安全性高等优点,因而电子密码锁成为了这类电子防盗产品地 主流
3、 .在安全技术地领域范畴,具有防盗兼报警功能地电子密码锁已逐步替代了传统 机械式地密码锁,它克服了机械锁密码可设密码量少,安全性不高地缺点,使得密码锁不论在性能上仍是在技术上都有了很大地提升.随着大规模集成电路技术地发展,特殊是单芯片,微处理器智能锁地显现,它除了具有电子密码锁地功能外,仍 引入了专家分析系统和智能化地治理,使得密码锁具有更高地牢靠性和安全性,它 地应用也越来越广泛,因此讨论它具有重大地现实意义 .1 电子密码锁地介绍名师归纳总结 - - - - - - -第 1 页,共 33 页精选学习资料 - - - - - - - - - 1.1 电子密码锁地简介电子密码锁运用电子电路掌
4、握机械部分,使两者紧密结合,从而防止了由于机械部分被破坏而导致开锁功能失常地问题,而且连续输入密码错误时仍有报警声,大大增加了密码锁地防盗功能.随着人们生活水平地提高,怎样实现家庭防盗地问题也显得特殊地突出,传统地锁由于其构造简洁,简洁被撬,而电子锁由于具有保密 性高、使用敏捷性好、安全系数高等优点,受到了很多用户地青睐 . 1.1.1 电子密码锁地特点电子密码锁是一种通过输入密码来掌握芯片或是电路工作,从而掌握机械地开关是关仍是开,来完成锁定和解锁任务地产品.它地种类有很多,例如:简易地电子产品、基于芯片地高性价比产品等 .现在广泛应用地电子密码锁是以芯片为核心,通过编程来实现功能地 .它地
5、安全性和性能大大超过了传统地机械锁 .其特点如下:无活动零件,不会磨损,寿命长;使用敏捷性好,不像机械锁必需佩带钥匙才能开锁;电子密码锁操作简洁易行,一学即会;密码可变,用户可以随时更换密码,防止密码被盗,同时也可以防止因人员地更替而使锁地密级下降;保密性好,编码量多,远远大于弹子锁.随机开锁胜利率几乎为零.1.1.2 电子密码锁地进展趋势目前地门锁一般使用弹子锁,但是它地钥匙是简洁遗失;一些保险柜使用地机械锁,其结构更加复杂,成本高,高精密制造,简洁显现故障,人们往往需要带很多钥匙,使用极为不便,假如钥匙不慎丢失,它地安全性就会大大降低 .为满意人们地需求,使用密码替代钥匙解锁地密码锁应运而
6、生.由于被电子器件所限,以前开发地电子密码锁,保密性差,种类不多,最基本地就是只依靠最简洁地模拟电子开关来实现地,制作简洁但很担心全,在后为多是使用EDA 来实现地,其电路结构复杂,电子元件繁多.也有使用早先地20 个引角地2051 系列地单片机来实现地,但其密码简洁,易被破解.随着电子元件地进一步进展,电子密码锁也显现了很多地种类,功能日益强大,安全保密性更强,使用更加便利,由以前地单密码输入进展到 现在地密码加感应元件,用户只有密码或电子钥匙中地一样,是打不开锁地 .出于安全、便利等方面地需要很多电子密码锁已相继问世,但这类产品地特点是针对特定有名师归纳总结 - - - - - - -第
7、2 页,共 33 页精选学习资料 - - - - - - - - - 效卡、指纹或声音有效,且不能实现远程掌握,只能适用于保密要求高且供个人使用地门、房间等 .由于数字、字符、人体生物特点、时间和图形图像等要素均可成为钥匙地电子信息,所以组合使用这些信息能够使电子防盗锁获得更高地保密性,比如现在地一些金库,需要使用复合信息密码地电子防盗锁.组合使用信息也能够使电子防盗锁获得无穷扩展地可能,可以使产品多样化,对用户而言是是再好不过了 .由此可以看出组合使用电子信息是电子密码锁今后进展地趋势 .1.2 电子密码锁设计地目标要求该密码锁设计方法合理,简洁易行,成本低,符合用户对一些私人资料信息地加密
8、要求,具有肯定地推广价值.该设计地电子密码锁有如下特点:系统设置 6 位密码,通过键盘输入密码,输入密码后按下确定键 .密码可以由用户自己设定,在密码输入正确地前提下,按下设置键,显现提示信息 ” Your password. “ , 此时输入新地密码(6 位) .电子密码锁地工作流程图如图 1.2-1 所示:初始状态设定初始密码输入密码: * 密码是否正N 确?Y 进入系统名师归纳总结 - - - - - - -第 3 页,共 33 页精选学习资料 - - - - - - - - - 图 1.2-1 电子密码锁地工作流程图1.3 系统主要芯片地选型1.3.1 主控芯片地选型AT89C51 单
9、片机介绍 1AT89C51 是一类具有低功耗,高性能CMOS 8 位地单片机,其片内含有4k Bytes ISPIn-system programmable 地可反复擦写1000 次地 Flash 只读程序储备器,器件采纳 ATMEL 公司地高密度、非易失性储备技术制造,兼容标准 MCS -51 指令系统及 80C51 引脚结构,芯片内集成了通用地 ISP Flash 储备单元和 8 位中 P 央处理器,很多地嵌入式掌握应用系统也在使用 决方案 . AT89C51 具有很多地特点,它有AT89S51 为它们供应地性价比比较高地解40 个引脚、 4k Bytes Flash 片地内程序储备器、1
10、28 bytes 地随机储备器(RAM )、 32 个外部输入 /输出( I/O)口并且是双向地、5 个中断优先级、16 位地可编程定时计数器有两个、2 个串行全双工通信口和一个看门狗( WDT )电路 .片内时钟振荡器 AT89C51 供应以下标准功能:4k 字节 地 Flash 闪速储备器, 128 字节地内部 RAM ,32 个 I/O 口线, 1 个看门狗( WDT ),有两个数据指针和两个 16 位定时 /计数器,有一个 5 向量两级中断结构,仍有一个全双工串行名师归纳总结 通信口,片内振荡器准时钟电路.同时 AT89C51 可降至 0Hz 地静态规律操作,并且支第 4 页,共 33
11、 页持两不同软件可选地节电工作模式.闲暇方式可以停止CPU 地工作,但仍旧答应RAM ,定时 /计数器,串行通信口及中断系统等连续工作.掉电方式储存RAM 中地内容,但振荡器停止工作并禁止其它全部部件工作直到下一个硬件地复位. AT89C51 引脚图如下图1.3.1-1 所示:- - - - - - -精选学习资料 - - - - - - - - - 图 1.3.1-1 AT89C51 引脚图此外, AT89S51 单片机仍配置了12MHz 地晶振并且可以通过软件来设置它地省电模式 .当其处于闲暇模式时,CPU 可暂停工作,而串行口、外中断、定时计数器以及系统可连续工作,掉电模式下数据储存在R
12、AM 中,只有硬件复位或者外中断激活后芯片才又开头工作.另外该芯片有TQFP、PLCC 和 PDIP 这三种不同地封装形式,以满意不同市场地需求.1.3.2 显示器地选型采纳 LCD16028LCD1602 能完整地显示32 个英文字符和日文字符,它可以应用在运算器、频率名师归纳总结 信号发生器、时钟等产品上.LCD1602 主要特性 :能够显示16*2 个字符 ,芯片工作电压第 5 页,共 33 页为 4.55.5V,工作电流2MA (5V )包括背光电流,字符尺寸:2.95*4.35mm ,带有英文和日文字符库,使用便利.- - - - - - -精选学习资料 - - - - - - -
13、- - LCD1602 地端口有8 根数据引脚和6 根掌握引脚以及2 根电引脚 .掌握敏捷、方便 .采纳经典地8086 总线结构,使编程掌握得以变得更为简洁.简洁,且不会占用单片机地大量资源.在选型时,考虑到设计地实际应用以及设计地合理性,LCD1602 能显示一些数字和字母,很便利形象,故本设计最终地方案挑选地是 LCD1602.1.3.3 密码储备芯片 AT24C02由于 51 单片机掉电后会丢失数据储备器里地数据,因此必需外加掉电储备电路 .并 由 AT24C02 芯 片 来 实 现 . 美 国 Atmel 公 司 地 低 功 耗 CMOS 型 E2PROM AT24C02 ,其内部储备
14、空间有 2568 位,可擦写次数 10000 次以上、工作电压宽在2.55.5 V 之间、抗干扰才能强、数据不易丢失、写入速度小于 10 ms、体积小 .它是采纳 IIC 总线串行对数据进行读写,占用地资源和 IO 线很少,支持在线进行编程,能够快速便利地进行数据地实时存取 .AT24C02 运用 IIC 规程,采纳主机 通常为单片机 从机 AT24C02 双向通信,二者均可在发送器和接收器状态下工作 .主机产生一个串行地时钟信号后,通过引脚SCL 掌握总线地传送方向,产生停止和开头地条件 .主机和从机在接收到一个字节后都必需要发出一个确认地信号 ACK. 它通过SDA 串行数据线 及 SCL
15、串行时钟线 两根线在连到总线上地器件之间传送信息,并依据地址识别每个器件 .2 电子密码锁地硬件设计2.1 硬件设计原理本 系 统 硬 件部 分 包 含电源 输 入 电 路、 复 位 电路、 晶 振 电 路、 按 键 电路、LCD1602 显示电路 .当系统运行时系统电源电路为系统供电.为了防止系统在不稳固情名师归纳总结 况下工作所以增加了一个复位电路.按键电路按键输入要执行地指令,LCD 显示电第 6 页,共 33 页路,为人机交互供应了条件.详细地硬件框图如下图2.1-1 所示:- - - - - - -精选学习资料 - - - - - - - - - 图 2.1-1 系统框图2.2 复位
16、电路设计名师归纳总结 单片机复位【1】是使CPU 和系统中地其他功能部件都处在一个确定地初始状第 7 页,共 33 页态,并从这个状态开头工作,例如复位后PC0000H ,使单片机从第个单元取指令 .无论是在单片机刚开头接上电源时,仍是断电后或者发生故障后都要复位.在复位期间(即RST 为高电平期间),P0 口为高组态, P1P3 口输出高电平;外部程序储备器读选通信号PSEN 无效 .地址锁存信号ALE 也为高电平 .依据实际情形挑选如图2.2-1 所示地复位电路.该电路在基本地复位电路上添加了手动复位按钮,在电源接通瞬时,电容C8 上地电压很小,复位后R2 下拉电阻地电压基本和电源电压相同
17、,RST 此时为高电平,随着电容充电,RST 端电压将逐步下降,当电压降到低于某一数值后,CPU 不再复位,由于电容C1 很大,可以确保RST在高电平地有效时间比24 个振荡周期大,CPU 能够顺当复位 .为了防止死机时无法顺利复位我增加了手动复位按键加以保证.- - - - - - -精选学习资料 - - - - - - - - - 图 2.2-1 复位电路图2.3 晶振电路设计引脚 XTAL1 【2】和 XTAL2 【2】与晶体振荡器及电容 C1、C2 按图图 2.3-1 所示方式连接 .此电路在加电后推迟大约 10ms 振荡器起振,在 XTAL2 引脚产生幅度为3V 左右地正弦波时钟信号
18、,其振荡频率主要由石英晶振地频率打算 .电路中两个电容C1、C2 地作用使电路快速振,提高电路地运行速度 .图 2.3-1 晶振电路图2.4 按键电路设计由于本设计所用到地按键数量较多所以不适合用独立式按键,因此我们引入了名师归纳总结 矩阵键盘【 3】地应用,采纳四条I/O 线作为行线,四条I/O 线作为列线组成键盘.在第 8 页,共 33 页列线和行线地每个交叉点上设置一个按键.这样矩阵键盘上地按键个数就为16 个,这- - - - - - -精选学习资料 - - - - - - - - - 样就能有效地提高系统I/O 口地利用率 .在单片机中可以用一个P1 口实现16 个按键功能,本设计中
19、使用地这个4X4 键盘不但能完成密码地输入仍能作特殊功能键使用.并且键盘地每个按键功能在程序设计中设置.由于矩阵键盘中地行、列为多键公用,每个按键都会影响该按键所处地行与列地电平,因此,各按键彼此将相互发生影 响,所以必需将行列线信号协作起来,并作适当地处理,这样才能打算闭合键位置置 .其按键结构及与单片机引脚接法如图2.4-1 所示 .按键功能键地详细分布如2.4-2 所示 .图 2.4-1 按键电路图0123456789开锁上锁重新输入未定义输入新密码储存新密码图 2.4-2 按键功能安排图名师归纳总结 - - - - - - -第 9 页,共 33 页精选学习资料 - - - - - -
20、 - - - 2.5 密码储备电路地设计如图 2.6-1 所示,在 AT89C51 试验开发板上它们都接地,第 8 脚和第 4 脚分别为正、负电源,第 5 脚 SDA 为串行数据输入 /输出,数据通过这条双向 I2C 总线串行传送,在 AT89C51 试验开发板上和单片机地 P3.3 连接,第 6 脚 SCL 为串行时钟输入线,在 AT89C51 试验开发板上和单片机地P3.2 连接,第 7 脚需要接地 .图 2.5-1 24C02 密码储备电路图2.6 LCD1602 显示电路设计为了提高密码锁地密码显示成效才能.本设计地显示部分由液晶显示器LCD1602【 5】 .在没有按键时,显示器处于
21、初始状态.按下开启键显示器就处于开启状态,再按下关闭按键显示器就处于关闭状态 .当需要对密码锁进行开锁时,按下开锁按键后通过键盘上地数字键09 输入密码,此时每按下一个数字键,显示器上就会显示一名师归纳总结 个 *,最多只能输入六个*.当密码输入完成时,按下确认键,假如输入地密码正确地第 10 页,共 33 页话,显示屏显示“四川师范高校成都学院欢迎您” ,假如密码不正确,LCD 显示屏会显示 “ ERROR” ,P2.0 输出地是高电平,电子密码锁不能被打开.通过LCD 显示屏,可以清晰地判定出密码锁所处地状态 .其电路地详细设计如下图2.6-1 所示:- - - - - - -精选学习资料
22、 - - - - - - - - - 图 2.6-1 LCD1602 显示电路图2.7 报警电路报警部分由陶瓷压电发声装置及外围电路组成, 加电后不发声 , 当有键按下时 , 发/ 叮 0 声, 每按一下 , 发声一次 ,单片机地 P3. 1 引脚为低电平 , 三极管 T3 导通 .图 2.7-1 蜂鸣器电路图名师归纳总结 - - - - - - -第 11 页,共 33 页精选学习资料 - - - - - - - - - 2.8 系统电路硬件连接线路:片机系统 ” 区域中地P0.0P0.7 端口分别连接到“ LED1602” 区域中地d0d7” 端口上;2. 把 “单片机系统 ”区域中地 P
23、2.0P2.2 端口分别连接到“LED1602”区域中地 “RS, RW, E”端口上 .3. 把 “单片机系统 ”区域中地 P1.0P1.7 端口分别依次连接到“ 矩阵键盘 ”区域中地“ 行和列 ” 端口上 .“3. 把“单片机系统” 区域中地P3.2P3.3 端口分别依次连接到“24C02”区域中地SCK, SDA ”端口上 .3. 把 “单片机系统 ”区域中地 电阻 R2 接地 .P3.7 端口连接到 “蜂鸣器 ”上.P2.7 连接 LED 灯通过3 电子密码锁地软件设计名师归纳总结 - - - - - - -第 12 页,共 33 页精选学习资料 - - - - - - - - - 3
24、.1 程序设计思路本设计软件部分要实现地功能分别为:键盘扫描,延时【6】,显示器显示【 4】,密码储备等 .电子密码锁工作地主要过程是 LCD 液晶显示器提示“ your password: ”,通过键盘输入密码,同时 LCD 显示密码输入情形,按下确认键后判定密码地正确性,当输入密码多功能电子密码锁地基本要求 : a、通过键盘输入密码 .c、220V 供电下,设计系统所需电源,并考虑掉电后原始数据地储存,总地流程图如下图 3.1-1 所示:开 始初始化调用显示N有按键按下?识别按键全部按完?Y修改密码比较密码N密码正确?YLED 灯亮 储存开 始图 3.1-1 软件总流程图3.2 键盘扫描软
25、件设计名师归纳总结 - - - - - - -第 13 页,共 33 页精选学习资料 - - - - - - - - - 键盘扫描【 7】流程图如图3.2-1 所示 ,在按键当中,有与输入、开锁、清除、设置、确认地程序相对应地按键,并按次序与输入地数相比较,当输入正确时,进入密码程序,错误时进行清除,输入两次新密码正确时,可进行重新设置密码,最终确认程序 .按键地检测主要是通过查询地方法来实现地,利用按键进行密码地输入及设置 .开 始行列端口赋值读端口,结果相等?延时 10 毫秒读端口,结果 相等?储存首次赋值行列端口赋值 0x0f 读端口,两次赋值运查表发出键模返回图 3.2-1 按键扫描流
26、程图名师归纳总结 - - - - - - -第 14 页,共 33 页精选学习资料 - - - - - - - - - 图 3.2-2 24C02 读写操作地软件算法流程图按下输入新密码输入密码存入缓冲再输入一比较密码重新输入调用 24C02 调用显示图 3.2-3 2 修改密码流程图名师归纳总结 - - - - - - -第 15 页,共 33 页精选学习资料 - - - - - - - - - 4、系统功能及仿真(一)开锁(二) LCD1602 液晶显示(三)密码修改(四)报警(五)仍能添加掉电储备 当给单片机上电后,单片机显示如图:图 4-1 仿真图 1名师归纳总结 - - - - -
27、- -第 16 页,共 33 页精选学习资料 - - - - - - - - - 当输入密码时,单片机显示如图:图 4-2 仿真图 2密码错误地情形下修改密码(即输入新密码)显示如图:图 4-3 仿真图 3名师归纳总结 - - - - - - -第 17 页,共 33 页精选学习资料 - - - - - - - - - 当输入正确密码时单片机显示如图:图 4-4 仿真图 4输入新密码之后储存显示:图 4-5 仿真图 5名师归纳总结 - - - - - - -第 18 页,共 33 页精选学习资料 - - - - - - - - - 图 4-6 实物图5 总 结以上为本人设计地电子密码锁电路.该
28、电子密码锁设计实现开关锁和修改密码等功能,并具有结构简洁、功耗低、成本低等优点,但是设计电子密码锁需要结合实 际综合考虑很多因素,因此该电子密码锁设计需要在实际中进一步完善和改进 .另 外,在系统应用程序方面,该设计只实现了修改密码、开关锁、自动报警等功能,要想在现实生活中推广,仍必需针对实际应用场合地需要,进一步完善系统功能地 程序 .具有防盗报警功能地电子密码锁代替传统地机械式密码锁,克服了机械式密码 . 锁密码量少、安全性能差地缺点,密码锁不管在技术上仍是在性能上都得到了提高 其经过多次地整理,是一个比较不错地设计,可以满意人们地基本需求,但是由于 水平有限,此电路中也存在肯定地问题,地
29、设计并不奢望肯定能胜利,但肯定要对 已学地各种电子学问能有肯定地运用才能,我做设计地目地是期望能检查下对所学 学问地运用才能地好坏,并且开头渐渐走上制造地道路,这是特别珍贵地一点 .但是在我们设计和调试地过程中,也发觉了一些问题,譬如电子密码锁地设计名师归纳总结 仍不够人性化,比如加上语音地提示功能,可能会更有生命力.电路地密码不能忘第 19 页,共 33 页记,一旦遗忘,就难以打开,这可以通过增加电路解决,但那过于复杂.此次程序设- - - - - - -精选学习资料 - - - - - - - - - 计仍有肯定地漏洞.或许仍有其他地一些不足,仍请老师给以支持.6 参考文献1 童诗白 .
30、华成英:模拟电子技术基础 第四版 . 高等训练出版社,2000.3 ,P3-P7 2 张毅刚:单片机原理及应用 . 高等训练出版社, 2003.7,P65-P67 3 李全利:单片机原理及接口技术 . 高等训练出版社,2003.1 ,P69-P78 4 李光飞:单片机课程设计指导. 北京航空航天高校出版社,2007.1 ,P12-P24 5 蔡朝洋:单片机掌握实习与专题制作. 北京航空航天高校出版社,2006.6 ,P30-P41 6 陈连坤:单片机原理及接口技术. 北京交通高校出版社,2022.5 ,P55-P57 7 李学海:标准8051 单片机基础教程. 北京航空航天高校出版,2006.
31、1 ,P57-P60 附录一:原理图名师归纳总结 - - - - - - -第 20 页,共 33 页精选学习资料 - - - - - - - - - 附录二:源程序 /- Main.c-/ 名称:用 1602LCD与 24C04设计地电子密码锁 /-/ 说明:初始密码由24C04.BIN 设定为“123456” .6 位数,输入完成后按/ 当输入 09中地数字时可以输入密码,不超过下 A / 键开锁,密码正确时 LED点亮,液晶显示开锁胜利 ./ 其他键功能是: B 上锁 C重新输入密码 D储存新密码 E 清除 重设密码胜利时要求先输入正确地密码胜利开锁 . / /-#include #in
32、clude#define uchar unsigned char#define uint unsigned int/ 上次按键和当前按键序号,该矩阵中序号范畴为 uchar pre_keyNo=16,keyNo=16 ;015,16 表示无按键名师归纳总结 uchar code Title_Text=Your Password.;/ 标题字符串/第 21 页,共 33 页uchar DSY_BUFFER10=;- - - - - - -精选学习资料 - - - - - - - - - 显示缓冲uchar UserPasssword10=;/ 用户输入地密码void LCD_Init ;/ 液晶
33、初始化void Display_Stringuchar*str,uchar LineNo ;/ 在液晶指定行显示字符串void IIC_24C04_Init;void /IIC初始化Beep ;/ 蜂鸣器uchar RecStringuchar Slave,uchar Subaddr,uchar*Buffer,uchar N;/ 从 IIC 读取数据uchar N;SendStringuchar Slave,uchar Subaddr,uchar*Buffer,uchar/ 从 IIC 读取数据uchar Keys_Scan ;sbit LED_OPEN=P27/开锁亮灯sbit BEEP=P
34、37;/蜂鸣器/-/ 延时/-void DelayMSuint xuchar i ;whliex- for i=0 ;i120 ;i+ ;/-/ 蜂鸣器子程序名师归纳总结 - - - - - - -第 22 页,共 33 页精选学习资料 - - - - - - - - - /-void Beep uchar i ;for i=0 ;i100 ;i+ DelayMS1;BEEP=BEEP BEEP=0;/-/ 清除密码 /-void Clear_Password UserPassword0=0;DSY_BUFFER0=0;/-/ 主程序 /-void main uchar i=0 ;uchar
35、IIC_Password10;uchar IS_Valid_User=0;P0=P1=0xFF;名师归纳总结 - - - - - - -第 23 页,共 33 页精选学习资料 - - - - - - - - - TMOD=0X02 /TO 设置为 8 位自动重装模式 TH0=175;TL0=175;TR0=1; / 启动 TO DelayMS10;LCD_Init ; / 初始化 LCD IIC_24C04_Init; / 初始化 24C04;Display_StringTitle_Text,0x00/24C04 地内容已由初始化 BIN 文件导入 / 将 24C04中预先写入地密码读入 II
36、C_PasswordRecString0xa0,0,IIC_Password,6;IIC_Password6=0;while1 P1=0xF0;ifP1.=0xF0 KeyNo=Keys_Scan;/扫描键盘猎取键序号KeyNoifPre_KeyNo.=KeyNo ifi10 switchKeyNo 名师归纳总结 case 4:case 0: case 1: case 2:case 3:第 24 页,共 33 页case 9:case 5: case 6: case 7:case 8:- - - - - - -精选学习资料 - - - - - - - - - / 假如 i 为 0 就执行一次清
37、屏 ifi=0 Display_String ,0x40 ; UserPasswordi=KeyNo+0; UserPasswordi+1=0 DSY_BUFFERi=*; DSY_BUFFERi+1=0;Display_StringDSY_BUFFER,0x40 ; i+ ; break ; case 10:/ 按 A键开锁ifstrcmpUserPassword,IIC_Password=0 LED_OPEN=0;/ 点亮 LED Clear_Password ;Display_StringUnlock ok. ,0x40 ;IS_Valid_User=1 ; else LED_OPEN=
38、1 / 关闭 LED Clear_Password ;Display_StringERROR. ,0x40 ;IS_Valid_User=0 ;名师归纳总结 i=0;第 25 页,共 33 页 break- - - - - - -精选学习资料 - - - - - - - - - case 11:/ 按 B键上锁 LED_OPEN=1; case Clear_Password; Display_StringTitle_Text,0x00 Display_String ,0x40 i=0; IS_Valid_User=0; break;12:/ 按 C键设置新密码 /假如是合法用户就提示输入新密码 if.IS_Valid_UserDisplay_StringNo rights.,0x40; else i=0 ;Display_St