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

文章目录

功能

带闹钟和花样流水灯的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

clike 复制代码
https://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
相关推荐
7yewh5 天前
嵌入式硬件重点(四)常用信号处理、放大电路、运算放大器(运放)基础篇
stm32·单片机·嵌入式硬件·mcu·51单片机·proteus·硬件工程
知行电子-6 天前
Proteus中单片机IO口外接LED输出低电平时,引脚却一直保持高电平的问题(已解决)
单片机·嵌入式硬件·proteus
7yewh6 天前
嵌入式硬件电子电路设计(三)电源电路之负电源
stm32·单片机·嵌入式硬件·mcu·51单片机·proteus
无炘7 天前
Proteus基本元件英文
网络·proteus
July工作室13 天前
1、基于AT89C52、LCD1602的电子计时器proteus仿真设计
单片机·proteus
每天一杯冰美式oh19 天前
51单片机的家庭防盗报警系统【proteus仿真+程序+报告+原理图+演示视频】
嵌入式硬件·51单片机·proteus
每天一杯冰美式oh19 天前
51单片机的土壤湿度检测控制系统【proteus仿真+程序+报告+原理图+演示视频】
嵌入式硬件·51单片机·proteus
Svan.20 天前
基于51单片机的proteus数字时钟仿真设计
嵌入式硬件·51单片机·proteus
每天一杯冰美式oh20 天前
51单片机的仓库管理系统【proteus仿真+程序+报告+原理图+演示视频】
嵌入式硬件·51单片机·proteus
每天一杯冰美式oh20 天前
51单片机的超声波水位检测【proteus仿真+程序+报告+原理图+演示视频】
嵌入式硬件·51单片机·proteus