基于51单片机的多功能密码锁设计(仿真+程序+参考论文)

您所在的位置:网站首页 单片机电子密码锁原理图讲解 基于51单片机的多功能密码锁设计(仿真+程序+参考论文)

基于51单片机的多功能密码锁设计(仿真+程序+参考论文)

2024-06-30 11:36| 来源: 网络整理| 查看: 265

一、系统功能

基于51单片机的多功能密码锁仿真设计,主要实现功能如下: (1)能够从键盘中输入密码,并相应地在显示器上显示‘*’; (2)能够判断密码是否正确,正确则开锁,错误则输出相应信息; (3)能够实现密码的修改; (4)断电或者单片机复位后能够保存之前的操作,比如密码的修改; (5)在操作错误达到一定次数后能够报警。

二、硬件设计

本设计主要由单片机最小系统、矩阵键盘、LCD显示模块、掉电存储模块、报警机构和开锁机构组成。 在这里插入图片描述

三、仿真

在这里插入图片描述

四、代码

附上AT24C02代码,可以移植参考

/******************************************************************************* * 函数名 : void At24c02Write(unsigned char addr,unsigned char dat) * 函数功能 : 往24c02的一个地址写入一个数据 * 输入 : 无 * 输出 : 无 *******************************************************************************/ void At24c02Write(unsigned char addr,unsigned char dat) { I2cStart(); I2cSendByte(0xa0);//发送写器件地址 I2cSendByte(addr);//发送要写入内存地址 I2cSendByte(dat); //发送数据 I2cStop(); } /******************************************************************************* * 函数名 : unsigned char At24c02Read(unsigned char addr) * 函数功能 : 读取24c02的一个地址的一个数据 * 输入 : 无 * 输出 : 无 *******************************************************************************/ unsigned char At24c02Read(unsigned char addr) { unsigned char num; I2cStart(); I2cSendByte(0xa0); //发送写器件地址 I2cSendByte(addr); //发送要读取的地址 I2cStart(); I2cSendByte(0xa1); //发送读器件地址 num=I2cReadByte(); //读取数据 I2cStop(); return num; } /******************************************************************************* * 函数名 : TimerConfiguration() * 函数功能 : 配置定时器值 * 输入 : 无 * 输出 : 无 *******************************************************************************/ void TimerConfiguration() { TMOD = 0x01; //选择工作方式1 TH0 = 0x3C; //设置初始值,定时50MS TL0 = 0xB0; EA = 1; //打开总中断 ET0 = 1; //打开定时器0中断 TR0 = 1; //启动定时器0 } 五、资料下载

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3