0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于51单片机的蓝牙密码锁设计

白茶茶668 来源:白茶茶668 作者:白茶茶668 2023-08-01 01:00 次阅读

本设计以STC89C52单片机为核心控制器,加上其他的模块一起组成蓝牙密码锁的整个系统,其中包含中控部分、输入部分和输出部分。中控部分采用了STC89C52单片机,其主要作用是获取输入部分数据,经过内部处理,控制输出部分。输入由五部分组成,第一部分是DS1302时钟模块,通过该模块可检测当前的时间;第二部分是储存模块,采用AT24C02芯片,存储按键输入的信息;第三部分是DS18B20温度检测模块,通过该模块可检测当前的温度;第四部分是4*4矩阵键盘,按键主要功能有一键关门、显示时间、重新设置密码、取消键、确认键、输入密码;第五部分是供电电路,给整个系统进行供电。输出由三部分组成,第一部分是LCD1602显示模块, 通过该模块可以显示门的开关状态、输入的密码显示、重置密码时的显示等;第二部分是蓝牙模块,通过该模块可连接手机;第三部分是蜂鸣器,当键盘锁定且有按键按下时,蜂鸣器作为按键音提醒。

#include "main.h"

#include "lcd1602.h"

#include "key.h"

#include "IIC.h"

#include "ds18b20.h"

#include "ds1302.h"

#include "uart.h"

/**********************************

变量定义

**********************************/

extern char time_buf[8];

extern uchar uart_num;

uint temp_value;

uint randdata;

uint randdata1;

uchar TimeOutCounter = 0;

uchar LeftOrRight = 0;

uchar key_bianma = 0; //按键编码标志位变量

uchar key_num = 0; //按键扫描标志位变量

uchar flag_key_en = 1; //按键使能标志位变量

uchar flag_reset_password = 0; //重置密码标志位变量

uchar flag_reset_adminpassword = 0;

uchar flag_stat_door = 0; //门状态标志位

uchar flag_reset_password_num = 0; //重置密码次数标志位变量

uchar flag_error_num = 0; //密码错误次数标志位变量

uchar flag_error_time = 180; //密码错误时间标志位变量

uchar password[6] = {1,2,3,4,5,6}; //初始密码数组

uchar adminpassword[6] = {1,2,3,4,5,6}; //初始管理员密码数组

uchar password_input[6] = {0,0,0,0,0,0}; //输入密码数组

uchar password_reset[6] = {0,0,0,0,0,0}; //重置密码数组

uchar password_num = 0; //密码数量标志位变量

uint time_jishi = 0; //10ms计时变量



/**********************************

函数声明

**********************************/

void Delay_function(uint x); //延时函数

void Key_function(void); //按键函数

void Ensure_function(void); //确定函数

void Reset_password_function(void); //重置密码函数

void Write_init_EEPROM();

void Timer0Init();

/****

******* 主函数

*****/

void main()

{


Timer0Init();

Uart_Init();

Ds1302_Init();

Lcd1602_Init(); //LCD1602初始化

Delay_function(50); //延时50ms

lcd1602_clean(); //清屏

Delay_function(50); //延时50ms

Init_IIC(); //总线初始化,拉高释放总线

Delay_function(50); //延时50ms

//写过一次后关闭,无需重复写初值

// Write_init_EEPROM(); //写入初始密码123456到E2PROM

// ds1302_write_time();

lcd1602_display_str(1,0,"===Coded Lock===");//初始化界面

lcd1602_display_str(2,0,"Password:");

while(1)

{

//将密码从24C02中读出来,包括管理员密码以及使用密码

password[0]=read_add(1);

password[1]=read_add(2);

password[2]=read_add(3);

password[3]=read_add(4);

password[4]=read_add(5);

password[5]=read_add(6);

adminpassword[0]=read_add(7);

adminpassword[1]=read_add(8);

adminpassword[2]=read_add(9);

adminpassword[3]=read_add(10);

adminpassword[4]=read_add(11);

adminpassword[5]=read_add(12);

Key_function(); //按键函数

Reset_password_function(); //重置密码函数

//输入密码三次错误后执行如下程序

if(flag_error_num == 3)

{

flag_key_en = 0;

wKgZomTH6MiAVD0DAAMgFt8ayLg135.png

wKgaomTH6MiAeLVDAAN425NnQEE114.png

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    114

    文章

    5812

    浏览量

    170196
  • 密码锁
    +关注

    关注

    6

    文章

    249

    浏览量

    34994
  • 51单片机
    +关注

    关注

    274

    文章

    5702

    浏览量

    123509
收藏 人收藏

    评论

    相关推荐

    基于51单片机的电子密码锁程序

    基于51单片机的电子密码锁程序,51单片机控制的万能密码锁系统,PROTEUS仿真文件初始
    发表于 07-14 07:26

    基于单片机MCS_51的智能密码锁设计

    基于单片机MCS_51的智能密码锁设计。
    发表于 02-17 16:50 28次下载

    基于51单片机电子密码锁的Proteus仿真设计

    基于51单片机电子密码锁的Proteus仿真设计
    发表于 06-17 16:00 79次下载

    基于51单片机的矩阵键盘电子密码锁

    基于51单片机的矩阵键盘电子密码锁,使用矩阵键盘输入四位密码,有错误和正确提示音。
    发表于 07-21 11:23 117次下载

    单片机密码锁

    STC80C51--单片机密码锁源程序。
    发表于 09-01 15:44 37次下载

    51单片机密码锁

    基于89C51单片机的时间可调,密码可更改断电保存的密码锁设计,包括源代码和说明书,感兴趣的小伙伴们可以瞧一瞧。
    发表于 09-20 17:34 50次下载

    基于51单片机密码锁资源下载

    基于51单片机密码锁资源下载
    发表于 08-12 17:49 64次下载

    基于51单片机密码锁

    本次的项目是基于51单片机密码锁,适合用来作为课程设计主要实现了:密码锁功能,通过矩阵按键输入密码,输入范围为0-F,共有四位;同时,也可
    发表于 11-04 12:36 39次下载
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>密码锁</b>

    51单片机密码锁案例

    51单片机密码锁案例免费下载。
    发表于 04-27 15:58 55次下载

    基于51单片机密码锁(掉电可记忆密码)例程源代码

    基于51单片机密码锁(掉电可记忆密码)例程源代码
    发表于 05-16 11:13 25次下载

    如何实现基于51单片机蓝牙密码锁设计呢?

    本设计以STC89C52单片机为核心控制器,加上其他的模块一起组成蓝牙密码锁的整个系统,其中包含中控部分、输入部分和输出部分。
    发表于 08-21 16:29 793次阅读
    如何实现基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>蓝牙</b><b class='flag-5'>密码锁</b>设计呢?

    51单片机实现电子密码锁

    电子发烧友网站提供《51单片机实现电子密码锁.zip》资料免费下载
    发表于 10-11 09:21 2次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>实现电子<b class='flag-5'>密码锁</b>

    基于51单片机蓝牙密码锁设计

    基于51单片机蓝牙密码锁(实物)
    发表于 01-02 09:44 23次下载

    基于51单片机的电子密码锁设计

    电子发烧友网站提供《基于51单片机的电子密码锁设计.rar》资料免费下载
    发表于 01-03 11:20 37次下载

    基于51单片机蓝牙密码锁设计

    电子发烧友网站提供《基于51单片机蓝牙密码锁设计.rar》资料免费下载
    发表于 01-12 10:14 4次下载