# 语音时钟 **Repository Path**: jimchn/voice-clock ## Basic Information - **Project Name**: 语音时钟 - **Description**: 基于 51 单片机的电子时钟设计 - **Primary Language**: C - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-09-22 - **Last Updated**: 2023-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于51单片机的电子时钟设计 ## 这是什么? 这是一款基于 51 单片机 STC89C52RC 芯片设计的语音温湿度电子时钟 ## 能做什么? 1. 可以在 LCD1602 液晶屏上实时显示时间、温度、湿度; 2. 可以语音播报当前的时间、温度、湿度; 3. 可以通过独立按键调整当前的时间。 ## 如何使用 1. 使用 5V 的 MicroUSB 电源插入 2. 打开电源开关,LCD1602 液晶屏上实时显示时钟、温度、湿度 3. 提供有三个独立按键: - 单击按键 0(设置键)播报当前时间 - 单击按键 1 (加键)播报当前温度 - 单击按键 2 (减键)播报当前湿度。 4. 长按 设置 按键,进入时间设置模式 - 设置模式下,单击按键 0 (设置键),在 调时、调分、调秒 三个设置之间切换,切换时同时保存当前设置。 - 设置模式下,单击按键 1 (加键),调时设置时增加时、调分设置时增加分、调秒设置时秒归零 - 设置模式下,单击按键 2 (减键),调时设置时减少时、调分设置时减少分、调秒设置时秒归零 - 设置模式下,长按按键 1 (加键),放弃当前设置并进入下一项设置 - 设置模式下,长按按键 2 (减键),放弃当前设置并退出 ##### 按键定义如下表 | | 按键 0 单击 | 按键 0 长按 | 按键 1 单击 | 按键 1 长按 | 按键 2 单击 | 按键 2 长按 | | :-----: | :------------: | :----------: | ----------- | -------------- | ----------- | -------------- | | 0:正常 | 语音报时 | 进入 1 | 语音报温度 | | 语音报湿度 | | | 1:调时 | 保存时,进入 2 | 保存,退到 0 | 时 + | 不保存,进入 2 | 时 - | 不保存,退到 0 | | 2:调分 | 保存分,进入 3 | 保存,退到 0 | 分 + | 不保存,进入 3 | 分 - | 不保存,退到 0 | | 3:调秒 | 保存秒,进入 1 | 保存,退到 0 | 秒归零 | 不保存,进入 1 | 秒归零 | 不保存,退到 0 | ## 参与开发 ### 参与硬件开发 1. 打开本项目硬件项目链接:https://oshwhub.com/jimchn/voice-clock_v1.0 2. 注册并登录 3. 克隆项目到您的工作区 4. 在编辑器打开工程,进行原理图、PCB修改 ### 参与软件开发 1. 打开本项目程序代码链接:https://gitee.com/jimchn/voice-clock 2. 注册并登录 3. 克隆或下载代码 4. 进行程序代码修改 ##### 命名规则 宏定义标识符采用全大写: > #define **RS_CLR** RS=0 > #define **RS_SET** RS=1 外围芯片、模块、传感器等采用大写,如: > DS18B20、DS1302、LCD1602、WT588F 函数名采用小驼峰命名 #### 函数返回值代表含义 | 返回值 | 函数执行情况 | 返回数据 | | :----: | :----------: | :------: | | 0 | 执行成功 | 数据 0 | | 1 | | 数据 1 | | -1 | 执行错误 | | | 其他 | | 其他 | ### 参与文档编写 1. 未完成