航顺芯片HK32F030MF4P6应用于高精度LED厨房电子时钟
简介:基于HK32F030MF4P6的高精度LED适合厨房使用的电子时钟,含倒计时闹铃功能开源协议: CC-BY-NC 3.0
项目是基于HK32F030MF4P6的高精度LED电子时钟。
本项目产品特性
高颜值0.8寸白色大屏LED数码管
基于HK32F030MF4P6单片机
RTC时钟IC采用DS3231M
适合厨房使用的倒计时闹铃功能,针对厨房倒计时设计软件,不设计定点循环闹钟。
可切换的光线自动感应
USB直插适配器,方便在86盒插座适配器上使用,无需连接USB线
注意项目有两个分支: 1. RX-8025T分支 2. DS3231分支
主芯片
主芯片采用航顺HK32F030MF4P6,正常走量价格据说在1RMB以内。当然现在全球芯片行情看涨,它的价格也涨了一点。可替代ST的STM8S003,新塘的N76E003AT2等其他8位Flash型MCU,硬件引脚兼容,号称M0核MCU里价格最低。 HK32F030M 系列使用 ARM® CortexTM-M0 内核,最高工作频率 32MHz,内置 16K-Byte FLASH、448-Byte EEPROM 和 2-KByte SRAM。通过 FLASH 控制器的寄存器配置,可实 现中断向量在 16K-Byte 空间内的重映射。 HK32F030M 除电源、地以外的所有引脚都可以作为GPIO、外设 IO 或外部中断输入(TSSOP20 封装产品支持 16 个 GPIO);在引脚数量受限应用场景中最大可能的提供引脚信号数量。 使用的时候需要注意,它不支持5V。
数码管
采用白色高颜值共阳极数码管
RTC
采用内置MEMS的DS3231M,精度±5ppm。其他
设计3个侧插微动按键以实现时钟和倒计时调节。蜂鸣器实现闹铃提示。不涉及日期调节和秒数调节,默认每次写入秒数为0。
软件
经过数次尝试,RTT移植失败,最后决定使用裸机完成。
主要业务逻辑使用定时器完成,我一共设计了四个定时器:
通过TIM2硬件定时器提供基准实现微秒和毫秒级别的delay。
软件定时器设计了三个:
1ms的软件定时器提供按键的ticks基准
300ms的软件定时器用来在设定模式下闪烁显示
1000ms的软件定时器来读取RTC更新时钟或者进行倒计时显示
使用了芯片内置的ADC来进行亮度自动调节,也可以始终以恒定最高亮度显示。随时切换。
提示音使用了无源蜂鸣器,也是使用了芯片内置的BEEP功能。
读取RTC使用了硬件I2C
TM1637通讯使用了软件模拟I2C
使用了multi_button和multi_timer这两个库来完成按键和定时器。感谢原作者的优秀库。
本来一开始打算用RX8025T作为RTC的,但是死活调不出来。硬件I2C和软件I2C全都尝试过了。硬件I2C通讯就没有相应,而软件I2C返回来的数据不对!可能是因为我买的淘宝货?立创没有这颗IC。我连逻辑分析仪都买了一个,最后决定放弃了!下次买到正品再试试看吧。
倒计时闹铃最大支持99分钟,设置倒计时闹铃的时候1~10分钟以1分钟递增,10~30分钟以5分钟递增,30~99分钟以10分钟递增。倒计时的时候显示分/秒数。倒计时结束显示00:00响铃提示,直到超过一定次数或者按任意键。
我踩过的坑:
如果串口打印无输出,那么可能是因为没有选中Use MicroLib选项
ADC的IO口如果是AIN3,那么就要对应使用Channel3
官方提供了一个excel表格,可以很方便地查找每个GPIO的复用功能:
第一版:RX-8025T,失败了!!
第二版:DS3231M,成功!背面:
正面:
如需要了解更多航顺MCU产品,请联系航顺核心代理商,颖特新科技,或者扫码联系我们!
在之前的介绍中,我们也为大家介绍了《航顺芯片HK32F030MJ4M6最小开发板应用于各种小项目》,也是目前我们主推的非常成熟的解决方案!
编辑:zzy 最后修改时间:2022-06-29