【TB作品】普中V2,数字时钟万年历显示,音乐闹钟,流水灯,Proteus仿真

news2025/1/12 23:42:20

文章目录

  • 功能
  • 硬件原理图
    • LCD1602
    • 独立按键
    • LED灯
    • ds1302
    • 蜂鸣器
  • 引脚汇总
  • 按键功能
  • code

在这里插入图片描述

功能

带闹钟和花样流水灯的LCD数显实时时钟设计(运用DS1302时钟模块,LCD显示,带万年历,时间到响音乐显示花样流水灯)

万年历显示
按键设置时间、闹钟
闹钟到了后音乐响、流水灯亮,维持10秒后自动关闭

硬件原理图

LCD1602

在这里插入图片描述

独立按键

在这里插入图片描述

LED灯

在这里插入图片描述

ds1302

在这里插入图片描述

蜂鸣器

在这里插入图片描述
在这里插入图片描述

引脚汇总

### 1. LCD1602 显示屏连接
- RS (寄存器选择): P2 ^ 6
- RW (读写): P2 ^ 5
- EN (使能): P2 ^ 7
- 数据端口: P0 ^ 0 至 P0 ^ 7

### 2. 独立按键连接
- 按键1 (KEY_01): P3 ^ 0
- 按键2 (KEY_02): P3 ^ 1
- 按键3 (KEY_03): P3 ^ 2
- 按键4 (KEY_04): P3 ^ 3

### 3. LED 灯连接
- LED1: P2 ^ 0
- LED2: P2 ^ 1
- LED3: P2 ^ 2
- LED4: P2 ^ 3
- LED5: P2 ^ 4
- LED6: P2 ^ 5

### 4. DS1302 实时时钟模块连接
- RST (复位): P3 ^ 5
- SCLK (时钟): P3 ^ 6
- IO (数据输入/输出): P3 ^ 4

### 5. 蜂鸣器连接
- BEEP: P1 ^ 5

按键功能

这个单片机万年历程序的按键功能如下:

  1. 按键 key == 1

    • 主要用于切换设置项。
    • 每按一次,set 值加 1(并在 0 到 9 之间循环),对应主页面和设置不同时间参数的界面。
    • set = 0 表示主页面,set = 1 ~ 6 分别对应秒、分、时、日、月、年的设置,set = 7 ~ 9 对应闹钟的秒、分、时设置。
  2. 按键 key == 2

    • 主要用于增加当前设置项的值。
    • 根据 set 的值,增加相应的时间参数,比如 set == 1 时增加秒,set == 2 时增加分,依此类推。
    • 对于日期和月份的设置,代码考虑了不同月份的天数及闰年规则。
  3. 按键 key == 3

    • 主要用于减少当前设置项的值。
    • 同样根据 set 的值,减少相应的时间参数。
    • 日期和月份的减少也考虑了月份天数和闰年的规则。
  4. 按键 key == 4

    • 退出设置模式,重置 set 为 0 并清除 LCD 显示,回到主界面。
    • 最后调用 set_time(&rtctime); 函数应用设置后的时间,并刷新显示。

这个按键处理程序通过不同的按键实现了对时间和闹钟参数的设置和调整,且在日期设置中包含了对闰年的判断。通过 set 的值来区分不同的设置项目,并用 key 不同的值实现切换、增加、减少和确认操作。

code

https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2064605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

禹神:三小时快速上手TypeScript,TS速通教程(上篇、中篇、下篇,3合1笔记),根据视频整理

TypeScript快速上手 📚一、TypeScript简介 1.TypeScript由微软开发,是其于JavaScript的一个扩展语言. 2.TypeScript包含了JavaScript的所有内容,即:TypeScript是JavaScript的超集 3.TypeScript增加了:静态奖型检查、接…

Win10安装ChatTTS-2024-cuda10.1

0x00 前言 ChatTTS是专门为对话场景设计的文本转语音模型,例如大语言助手对话任务。它支持英文和中文两种语言。最大的模型使用了10万小时以上的中英文数据进行训练。目前在huggingface中的开源版本为4万小时训练且未SFT的版本。 0x01 准备环境 版本操作系统Win1…

大模型参数高效微调技术总结

基础知识 最近,OpenAI推出的ChatGPT展现出了卓越的性能,引发了大规模语言模型(Large Language Model, LLM)的研究热潮。大规模语言模型的“大”体现在两个方面:模型参数规模大,训练数据规模大。以GPT3为例,GPT3的参数…

springboot集成redis之接口缓存

什么是redis的接口缓存? Redis的接口缓存是一种利用Redis这种内存数据库来存储接口(API)响应数据的技术,以提高应用程序的响应速度和性能。具体来说,当用户请求一个接口时,系统会首先检查Redis缓存中是否已…

windows vs2022 MFC使用webview2嵌入网页

Microsoft Edge WebView2 控件允许在本机应用中嵌入 web 技术(HTML、CSS 以及 JavaScript)。 WebView2 控件使用 Microsoft Edge 作为绘制引擎,以在本机应用中显示 web 内容。 一、通过菜单“项目”-“管理NuGet程序包”,下载相关包 二、安装 Microsof…

windows ssh launch Jenkins

一、 windows server2012 ssh launch jenkins 经过一系列测试验证发现,windows server2012始终无法launch到jenkins master。配置ssh之后 [08/21/24 10:08:03] [SSH] Opening SSH connection to 172.xx.xx.xx:18822. [08/21/24 10:08:03] [SSH] WARNING: SSH Host …

DBeaver连接GBase 8s数据库的步骤

最近在学习国产数据库GBase 8s。酷酷一顿操作后,发现自带的 dbaccess 不好用,然后尝试用DBeaver这种图形界面来尝试使用。 本次使用工具: 1、dbeaver-ce-24.1.4 2、GBase 8s Server 8.8 一、搭建环境,官方建议使用的是CentOS 7.3&…

vue 实现批量引入组件

批量引入组件 1.目录示例2.被引入组件示例3.全局注册方法3.1.require.context() 是什么3.2.require.context() 用法 4.使用全局注册方法5.使用 1.目录示例 2.被引入组件示例 注意&#xff1a;必须要有name <template><div>Hkmxdy</div> </template> &l…

【学习笔记】Day 21

一、进度概述 1、机器学习常识19-22&#xff0c;以及相关代码复现 二、详情 19、矩阵分解 矩阵分解是一个纯数学问题&#xff0c;但当给矩阵赋予现实意义后&#xff0c;矩阵分解就成为了使用数学应对机器学习问题的一类典型而巧妙的方法。 在线性回归分析中&#xff…

PaddleNLP 3.0 支持大语言模型开发

huggingface不支持模型并行。张量并行&#xff0c;不满足大规模预训练的需求。 1、组网部分 2、数据流 3、训练器 4、异步高效的模型存储

CV每日论文--2024.7.25

1、Diffusion Models for Monocular Depth Estimation: Overcoming Challenging Conditions 中文标题&#xff1a;单目深度估计的扩散模型&#xff1a;克服具有挑战性的条件 简介&#xff1a;本文提出了一种新颖的方法,旨在解决单张图像深度估计任务中具有挑战性的、超出分布范…

java设计模式--结构型模式

结构性模式&#xff1a;适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 适配器模式 适配器模式&#xff08;Adapter Pattern&#xff09; 充当两个不兼容接口之间的桥梁&#xff0c;属于结构型设计模式。目的是将一个类的接口转换为另一个接口&am…

Numba加速计算(CPU + GPU + prange)

文章目录 加速方法&#xff1a;Numba、CuPy、PyTorch、PyCUDA、Dask、Rapids一、Numba简介二、Numba类型&#xff1a;CPU GPU三、项目实战 —— 数组的每个元素加23.1、使用 python - range 循环计算 —— &#xff08;时耗&#xff1a;137.37 秒&#xff09;3.2、使用 python…

天空卫士五载出海路:让国际数据安全舞台,有我们的身影

在全球化和“一带一路”倡议的推动下&#xff0c;中国企业正加速出海&#xff0c;探索新的增长机会。中国联通联合天空卫士等合作伙伴&#xff0c;推出“安全产业链联合出海计划”&#xff0c;旨在汇聚资源&#xff0c;打造国家级网络安全产业平台&#xff0c;推动出海业务的发…

C# 必备技能—项目打包

目录 前言 准备工作 第一步 第二步 第三步 扩展 总结 最后 前言 在C#开发中&#xff0c;项目打包是一个重要的环节&#xff0c;将你的应用程序及其依赖项组织成一个或多个可以在目标系统上安装和运行的包。 这对于发布应用程序至关重要&#xff0c;因为它确保了最终用…

快9月才开强化❓张宇36讲+1000题速刷指南

很多同学问&#xff0c;基础跟的是张宇老师&#xff0c;但是感觉25版张宇36讲太厚&#xff0c;可不可以不看&#xff0c;换其他老师 当然可以&#xff0c;但是如果你基础跟的是张宇老师&#xff0c;那强化阶段换成其他老师&#xff0c;可能会重复听一些内容&#xff0c;造成时…

手机APP应用移动端身份证识别技术,实现扫描录入身份信息

随着移动互联网的的发展&#xff0c;越来越多的公司都推出了自己的手机APP&#xff0c;这些APP多数都涉及到个人身份证信息的输入认证&#xff08;即实名认证&#xff09;&#xff0c;如果手动去输入身份证号码和姓名&#xff0c;速度非常慢&#xff0c;且用户体验非常差。为了…

Godot《躲避小兵》实战之游戏开始界面制作

我们的游戏还需要用户可操作的界面&#xff0c;比如开始游戏&#xff0c;退出以及显示分数等UI界面。 创建新场景&#xff0c;点击“其他节点”按钮&#xff0c;然后添加一个 CanvasLayer 节点并命名为 HUD。“HUD”是“heads-up display”&#xff08;游戏信息显示&#xff0…

2055. 欧拉路

代码 #include<bits/stdc.h> using namespace std; int n,e,a[35][35],d[35],r[55],k0; void dfs(int x) {for(int i1;i<n;i){if(a[x][i]1){a[x][i]0;a[i][x]0;dfs(i);}}k;r[k]x; } int main() {int x,y,i,s1;cin>>n>>e;for(i1;i<e;i){cin>>x&g…

TCP协议中的三次握手

WHAT&#xff1a;什么是三次握手&#xff1f; 建立TCP需要三次握手才能建立&#xff0c;而断开连接则需要四次挥手。 TCP链接是全双工的&#xff0c; 因此每个方向上都必须要关闭 三次握手一定是B向S发起&#xff0c;但是四次挥手可以是B向S也可以是S向B发起的 比如&#xff1a…