【51毕业设计案例】【022】智能起床闹钟(随机密码)-基于51/52单片机

本文主要是介绍【51毕业设计案例】【022】智能起床闹钟(随机密码)-基于51/52单片机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、设计介绍

模块说明:

  • 1、STC89C52:主控芯片 单片机
  • 2、LCD1602:用于显示数据信息
  • 3、有源蜂鸣器:可以发出声音进行警报,有源蜂鸣器只需要给电平就可以直接发出声响,无源蜂鸣器则需要改变高低电平频率来发出声响
  • 4、DS1302实时时钟:获取当前实时时钟,模块内置纽扣电池,单片机关机后能自动给模块供电
  • 5、矩阵键盘:使用独立按键组成的4*4键盘,使用8个IO口来获取16个按键的状态
  • 6、AT24C02:存储模块,用于存储保存数据

功能介绍:

  • 1、该系统能进行时间设置、闹钟设置、闹钟未成功关闭下一次响起间隔设置
  • 2、当定时时间一到,系统闹铃响起,以叫醒用户为目的
  • 3、若未用户未完全被叫醒,则间隔一段时间再次让闹铃响起,若用户成功被叫醒,闹钟则不会继续响起
  • 4、闹铃响起时通过蜂鸣器进行提醒,并且在LCD显示屏上显示两位数相乘的公式,需要用户进行答题,答对则闹钟关闭,打错则闹钟继续
  • 5、对闹钟设置使用24C02进行数据掉电保存

硬件框图:

软件流程图:

原理图:

使用立创EDA格式打开,打开方式为将文件夹内 .json 后缀文件拖入嘉立创EDA(标准版) - 免费、易用、强大的在线电路设计软件 立创EDA编辑网站中即可

本次原理图使用立创EDA画出的,对于新手较为方便,全中文易上手,不需要安装任何软件。另,Altium Designer 格式打开后标注会有所丢失,建议使用立创EDA

Proteus仿真图:

元器件清单:

如果您不能独自完成焊接,我这边也提供付费焊接服务以及调试,完成后第一时间通过快递寄给您。

二、代码资料展示

主要代码展示:

//显示界面  每个菜单的结构
void Dis_menu()
{if (menu == 0){//判断是否在闹铃响起状态  需要输入公式答案if (Rev_shi == shi && Rev_fen == fen && Flag_Right == 0){LCD_Clear();LCD_Write_String(0, 0, "Plsease Answer");LCD_Write_String(0, 1, "  *  =    <<<<");}else{//时钟静态页面LCD_Clear();LCD_Write_String(0, 0, "  20  -  -    ");LCD_Write_String(0, 1, "     :  :     ");}}else if (menu == 1){//时间设置静态页面LCD_Clear();LCD_Write_String(0, 0, "  20  -  -    ");LCD_Write_String(0, 1, "     :  :     ");//显示时分秒LCD_Write_Char(4, 0, nian / 10 % 10 + 0x30);LCD_Write_Char(5, 0, nian % 10 + 0x30);LCD_Write_Char(7, 0, yue / 10 % 10 + 0x30);LCD_Write_Char(8, 0, yue % 10 + 0x30);LCD_Write_Char(10, 0, ri / 10 % 10 + 0x30);LCD_Write_Char(11, 0, ri % 10 + 0x30);LCD_Write_Char(3, 1, shi / 10 % 10 + 0x30);LCD_Write_Char(4, 1, shi % 10 + 0x30);LCD_Write_Char(6, 1, fen / 10 % 10 + 0x30);LCD_Write_Char(7, 1, fen % 10 + 0x30);LCD_Write_Char(9, 1, miao / 10 % 10 + 0x30);LCD_Write_Char(10, 1, miao % 10 + 0x30);}else if (menu == 7){//设置定时开始时间页面write_time();LCD_Clear();LCD_Write_String(0, 0, " Set Alarm Time ");LCD_Write_String(0, 1, "    :       min ");LCD_Write_Char(2, 1, W_shi / 10 % 10 + 0x30);		LCD_Write_Char(3, 1, W_shi % 10 + 0x30);LCD_Write_Char(5, 1, W_fen / 10 % 10 + 0x30);		LCD_Write_Char(6, 1, W_fen % 10 + 0x30);LCD_Write_Number(10, 1, Alarm_Delay, 2);}Dis_Set_Dat();//刷新数据
}

工程管理展示:

下载内容展示:

更多详细功能与代码视频讲解B站搜索易佳电子设计 主页搜索该设计编号或名称

视频链接:【51毕业设计案例】【022】智能起床闹钟(随机密码)-基于51/52单片机_哔哩哔哩_bilibili

这篇关于【51毕业设计案例】【022】智能起床闹钟(随机密码)-基于51/52单片机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829286

相关文章

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2