找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4373|回复: 0
打印 上一主题 下一主题
收起左侧

单片机电子密码锁制作实验 附源程序

[复制链接]
跳转到指定楼层
楼主
ID:726882 发表于 2020-10-30 14:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/**************************************************************************************
实现现象:下载程序输入正确密码,会听到继电器吸合的声音
硬件连接:
           P1 -->矩阵键盘
      P20--> EEPROM模块SDA
      P21--> EEPROM模块SCL
      P22-->继电器模块J15
      
      矩阵键盘:
      0      1      2       3
      
      4      5      6       7
      
      8      9    返回    确定
      
      $      $      $       $
注意事项:无                     
***************************************************************************************/

本系统采用以单片机为核心元件的控制方案。由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些方面外,还有一些最基本的条件,比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中还要考虑开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等因素。基于以上因素本设计选用单片机STC89C516作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。

  硬件设计

硬件连接如下:      

           P1 -->矩阵键盘
                                          P20--> EEPROM模块SDA
                                          P21--> EEPROM模块SCL
                                          P22-->继电器模块J15
D:\缓存\QQ\3232692534\Image\C2C\64C7A3EE4A1941B954698C859D7CACA0.jpg
其他管脚说明:
P0                     LCD1602_DATAPINS
P2^7                LCD1602_E;
P2^5                            LCD1602_RW;
P2^6                            LCD1602_RS;

P1       矩阵键盘

P2^1;  存储模块  24C02 SCL
P2^0   存储模块 24C02 SDA
2.1 主控芯片


2.2存储模块24c02

存储模块的设计是把WP引脚接到GND上因为要让器件进行正常的读/写操作,把SDA串行数据/地址与单片机的P2.0引脚使AT24C02与单片机进行所有数据的发送或接收,把SCL串行时钟引脚与单片机的P2.1引脚相连接,让单片机产生一个AT24C02工作的时钟,使其正常的工作。存储模块电路如图所示。
AT24C02的特点:数据线看门狗定时器;可编程复位门级;高数据传输速率400kHz速率和I2C总线;2.7V至7V电压;低功耗CMOS工艺兼容;16 bespate写缓冲区;反撇写保护芯片;高低电平复位信号输出;100万擦除周期;保存长达100年。

2.3显示模块LCD1602

如果想要了解系统的运行与工作状态显示器是不可缺少的,显示器是一个典型的输出设备并且它的实际应用也是极为广泛的,几乎所有的电子产品都会使用到显示器其差别仅在于显示器的结构类型不同而已。最简单的显示器可以是LED发光二极管或者数码管,它可以给出一个简单的开关信息或者数字显示,而需要显示复杂的完整的信息上述的器件就不能胜任,而液晶的出现就很好的解决了这一问题,它不仅显示内容丰富而且好节约了单片机的管脚资源。本设计采用的是液晶显示LCD1602。LCD1602内部的字符已经储存了不同的字符形式,每一个字符都有一个固定的代码,其代码与标准的ASCII字符代码一致。因此只要写入显示字符的ASCII码即可,这种标准化的设计给使用带来很大的方便。比如英文字母“C”的ASCII代码是01000011(43H),显示时单片机往液晶模块写入显示指令,模块就会把地址为43H中的点阵字符图形识别出,并会在液晶屏相应位置上看到字母“C”。

目前市场字符液晶绝大多数是基于HD44780的液晶芯片,控制原理是完全相同的,因此基于HD44780的写控制程序可以很容易地应用到市场上大部分的字符液晶。LCD1602液晶的几个特性:+5V电压、对比度可调、内含复位电路;提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有160个5X7点阵的字型的字符发生器CGROM 8个可由用户自定义的5X7的字符发生器CGRAM。1602的引脚如下所示:

LCD1602采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,VEE为液晶显示器。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。E端为使能端。D0~D7为8位双向数据线。
2.4键盘输入模块

键盘是单片机十分重要的输入设备,是实现人机对话的纽带。键盘是由一组规则排列的按键组成,一个按键实际上就是一个开关元件,即键盘是一组规则排列的开关。根据按键与单片机的连接方式不同,按键主要分为独立式按键和矩阵式按键 ,有了这些按键,对单片机的控制就方便多了。
本设计按键数量较多,所以采用矩阵式按键以节省I/O口线。将16个按键分为4排4列排列好,下图是矩阵键盘硬件结构。当有一个键按下时,通过某一边引脚赋低电平,扫描全部引脚看是否与最初的赋值一样,不一样则根据相应的算法(通过改变后的值与初始值相或,根据结果赋值)确定是哪个键按下。


2.5开锁电路

开锁电路的功能是当输入正确的密码后密码锁将被锁定,既开锁。当单片机P2.2引脚发出信号经三极管放大后,触动电磁阀即会把锁打开。一旦输入密码,单片机便会与初始密码进行比对,如果密码输入3次都与原始密码不相符即会报警。其原理图如图3-11所示

四、        实验现象
将线连接好并将程序下载后,可以看到1602上显示:
              
此时可以按下任意键继续
在这里我们可以“1”或“9”选择开锁或者是修改密码。如果这里选择的开锁,按下确定键,此时会提示输入密码,初始密码默认为888888,输入密码
然后按下确定键,如果密码正确则会显示:
并且可以看到继电器模块指示灯亮并可以听到继电器闭合的声音。
如果密码错误则会提示:Error.



  如果需要修改密码,则选择Change password

这里会提示输入密码:

输入原密码

按下确认键,如果密码正确会提示输入新密码,
输入密码后按下确认键,会提示OK并返回到待机画面。

全部资料51hei下载地址:
电子密码锁.zip (1.97 MB, 下载次数: 37)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表