密码锁—微机原理及应用课程设计报告 下载本文

输出指示灯LED点亮,驱动电控锁机构完成开锁动作。 5. 密码错误报警

当输入的密码不正确时,系统显示“ERROR!”,然后输入次数减1,返回等待继续输入密码,当输入错误的次数达6次后,系统显示“ERROR!”,系统同时发出声光报警,驱动LED闪烁和蜂鸣器发出报警声。 6. 密码显示

正常情况下,系统显示“------”,在没输入以为密码后系统显示“H”,掩盖掉当前输入的密码,所以可以防止密码信息泄露而比较安全。 7. 门铃呼叫

当单击CALL按钮后,系统显示“HELLO!”欢迎信息,同时驱动蜂鸣器发出门铃呼叫声。 8. 指示灯

当锁合时,会有黄色的指示灯亮;当锁开启时,有绿色的指示灯亮;当六次误码输入的时候,黄色和红色的指示灯同时亮。

第二章 设计原理

本系统共有两部分构成,即硬件部分与软件部分。 2.1硬件电路设计 A、整体电路工作原理:

本系统有单片机控制模块、E2PROM模块、键盘显示器模块、报警模块等组成,具体硬件电路如图2所示。

此电路十分简单,有P1口构成4*4矩阵按键输入,由P0口和P2.0~P2.5分别作为显示段码和位码的输出,用6个非门驱动位选,来控制6位共阳极数码管显示信息。P2.6、P2.7位报警输出。有单片机的P3.6、P3.7与AT24C02(SDA,SCL)6、7引脚相连,外接两个4.7kΩ上拉电阻,构成I2C总线通信系统。

系统开机时数码管显示字符“HELLO!”3s左右,然后显示“------”,等待输入密码;初始密码为000000,也可以任意设定,每当输入一个数字就显示“H”,掩盖输入的数字;当输入错误时,可以按ESC键取消,然后重新输入6位数有效地密码;当6位密码输入完毕后,按OK键确认,单片机从存储器里读取原

第 8 页 共 33页

始密码与输入的密码进行比较,正确则驱动电磁装置开门,LED指示灯点亮,并显示“HELLO!”,如果错误则显示“ERROR!”,且输入次数减1,然后返回等待再次输入密码,如正确则驱动电磁装置开门,否则当输入密码错误达6次时,单片机发出报警指示达几分钟,并且拒绝接受任何密码输入,防止他人试探破解密码。

B、具体小模块电路: (1)显示电路设计

采用6位7段共阳极数码管,A~DP连接到单片机的P0.0~P0.7,位选端由P2.0~P2.5控制74LS04(6输入输出非门)来控制数码管的6个阳极。 (2)存储新路设计

单片机的P3.6、P3.7分别连接I2C接口的E2PROM AT24C02的SDA和SCL线,外接两个4.7kΩ的上拉电阻,构成I2C总线通信电路。 (3)按键电路设计

由单片机的P1.0~P1.3构成行线,由P1.4~P1.7构成列线分别与按键相连,构成4*4矩阵式扫描键盘,分布数字0~9、功能OK、ESC、SET、CALL等按键。 (4)报警电路设计

由单片机的P2.6端口与PNP型2N3905三极管的基极相连,通过发射极来驱动蜂鸣器。 (5)密码设置

前提条件是输入正确原始密码后,LED点亮,此时再输入新的任意位密码后,按SET键,完成修改密码,按ESC键可以取消密码修改。若原始密码不对,则输入错误达6次后,单片机发出报警指示,并且拒绝接受任何密码输入。 (6)其他功能

按CALL键可以进行门铃呼叫。

2.2软件设计

采用模块化方法编写程序,由于AT89C51不具有I2C硬件接口,所以必须通

过程序来模拟I2C通信,对E2PROM进行读、写操作。

第 9 页 共 33页

主要程序为:

? 键盘输入控制程序。 ? 显示输出控制程序。 ? 报警控制程序。 ? 密码校验程序。 ? 发声程序。

? 模拟I2C通信等控制程序。

第三章 系统方案及系统框图

系统构成框图

基于单片机的电子密码锁的系统构成如图1所示。由控制模块AT89C51、E2PROM AT24C02存储器模块、键盘显示器模块、报警模块、电源模块等组成。

显示 报警及驱动控制 89C51 E2PROM 电源 键盘输入 图1 系统构成框图

本系统采用单片机AT89C51作为本设计的核心原件。利用7段共阳极LED

数码管作为显示器件,用于开机时显示提示信息和工作时显示密码提示信息或实时时钟显示。另外采用AT24C02(E2PROM存储器)来存储用户密码信息,它具有掉电后密码信息保存功能。

第四章 硬件电路连接图

器件选择

本系统在设计过程中主要选取了以下一些器件:

第 10 页 共 33页

? 单片机:AT89C51。

? 显示器件:6位7段共阳极LED显示器。 ? 按键:欧姆龙按键。 ? 存储器:AT24C02 E2PROM。

? 报警单元:蜂鸣器。

图2 硬件电路连接图

第 11 页 共 33页