zhiyongma / sparrow_eclock_renesas_lceda

This is the repo for software functions of the 「sparrow」eclock demo, enjoy it!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sparrow_eclock_renesas_lceda

This is the repo for software functions of the 「sparrow」eclock demo, enjoy it!

version introduction

V3-Template

  • 定时器扫描按键实现键值检测
  • 长按按键,短按按键,K1实现时钟界面切换
  • 主函数状态机框架搭建完成

03-Keil_RTC_SMG

4位共阴极数码管显示RTC实时时钟,初始值通过set_time结构体变量设置

04-Keil_KEY_DHT11

DHT11读取温湿度,并通过串口实时显示

05-Keil_BUZZER_V2

PWM驱动蜂鸣器并实现节拍器和音乐播放功能

Eclock_Demo

最终版程序提交

1、硬件部分

2、软件部分

软件功能的设计框架由状态机搭建,每一个状态对应一种显示或者检测状态,由K1主功能按键实现状态1至状态3的不同功能状态切换,具体功能实现如下:

状态1:时钟显示状态

  • 实时显示状态:当前时刻“小时”:“分钟”,例如"12:03"
  • 日历参数状态
    • set_state=0:表示时钟调整界面状态,共四个页面,“年”“月 日”“小时 分钟”~“秒 星期”;通过K3,K4按键实现上下翻页;
    • set_state=1:表示当前第一参数位可调整,K3实现该位加1,K4实现该位减1,调整过程时数码管以1s间隔闪烁;
    • set_state=2:表示当前第二参数位可调整,K3实现该位加1,K4实现该位减1,调整过程时数码管以1s间隔闪烁;
  • 长按按键K2进入由实时显示状态进入日历参数状态,再次长按更新数据并存入内部Flash,随后进入实时显示状态
  • 短按按键K2实现set_state的切换,即短按K2,实现set_state->0->1->2->0

状态2:温湿度显示界面

  • 默认状态:数码管常亮显示"温度显示标志P+当前实时温度数值"
  • 长按状态:数码管常亮显示"湿度显示标志H+当前实时湿度数值"
  • 长按K2不松手由温度显示界面进入湿度界面,松手后返回默认状态

状态3:节拍器界面+音乐播放界面

  • 界面显示:"节拍器功能标志E"-"BPM值(Beat per minute,节拍数/分钟)"
  • 短按按键K2启动节拍器功能,蜂鸣器以BPM值速度滴滴鸣响;再次按下K2取消节拍器功能;
    • K3实现BPM值加10,K4实现BPM值减10;
    • 【待实现】 触摸按键实现“快加”或者“快减”功能:在BPM值调整过程中,若首先按下K3按键加10,再次按下触摸按键实现BPM连续加1;同理若首先按下K4按键减10,再次按下触摸按键实现BPM连续减1;
  • 长按按键K2启动音乐播放功能,内置音乐摘选自久石让《天空之城》

About

This is the repo for software functions of the 「sparrow」eclock demo, enjoy it!

License:MIT License