基于uCOS-II的RTC时钟

一个练手的小项目,想到的能用的传感器就加上去。
用的是野火STM32-MINI-V3助学板(STM32F103VET6)。
寄存器版的驱动。
代码没有特别的优化整理。

实现功能:
    1.  通过OLED显示RTC时钟模块时间信息。
    2.  通过USART1可以设置时间,格式为“2016 06 04 18 53 55”。
    3.  通过USART1可以重置RTC,格式为“r”或者“R”。
    4.  按键K1可以切换时间和温湿度显示方式(在关闭OLED屏的情况下会点亮屏幕)。
    5.  按键K2可以开启或关闭OLED显示屏。
    6.  人体热释电传感器会在检测到人体并且OLED屏处于关闭状态下开启OLED显示屏,若此时按K2则关闭OLED显示屏,否则当检测不到人体时将自动关闭OLED显示屏。
    7.  光敏传感器可以根据环境亮度调节OLED屏幕亮度。
    8.  电容按键可进入闹钟设置(0-24小时,在关闭OLED屏的情况下会点亮屏幕),为0时关闭闹钟,按第二下确认设置。闹钟响时蜂鸣器发出响声,按一下电容按键关闭闹钟。
尚存在的问题:
    1.  人体热释电传感器反应不灵敏。
    2.  闹钟只能按小时设置。
    3.  闹钟没有重复功能。
    4.  进入设置闹钟界面时,未设置超时未设置闹钟自动退出功能。

整体.jpg

开机-0.jpg

开机-1.jpg

开机-2.jpg

开机-3.jpg

开机-4.jpg

显示-0.jpg

显示-1-0.jpg

显示-1-1.jpg

闹钟-0.jpg

闹钟-1.jpg

关屏.jpg

猜你喜欢

转载自blog.csdn.net/hxiaohai/article/details/51712682
今日推荐