航順芯片HK32F030MF4P6應(yīng)用于高精度LED廚房電子時(shí)鐘
簡(jiǎn)介:基于HK32F030MF4P6的高精度LED適合廚房使用的電子時(shí)鐘,含倒計(jì)時(shí)鬧鈴功能開源協(xié)議: CC-BY-NC 3.0
項(xiàng)目是基于HK32F030MF4P6的高精度LED電子時(shí)鐘。
本項(xiàng)目產(chǎn)品特性
高顏值0.8寸白色大屏LED數(shù)碼管
基于HK32F030MF4P6單片機(jī)
RTC時(shí)鐘IC采用DS3231M
適合廚房使用的倒計(jì)時(shí)鬧鈴功能,針對(duì)廚房倒計(jì)時(shí)設(shè)計(jì)軟件,不設(shè)計(jì)定點(diǎn)循環(huán)鬧鐘。
可切換的光線自動(dòng)感應(yīng)
USB直插適配器,方便在86盒插座適配器上使用,無需連接USB線
注意項(xiàng)目有兩個(gè)分支: 1. RX-8025T分支 2. DS3231分支
主芯片
主芯片采用航順HK32F030MF4P6,正常走量?jī)r(jià)格據(jù)說在1RMB以內(nèi)。當(dāng)然現(xiàn)在全球芯片行情看漲,它的價(jià)格也漲了一點(diǎn)?商娲鶶T的STM8S003,新塘的N76E003AT2等其他8位Flash型MCU,硬件引腳兼容,號(hào)稱M0核MCU里價(jià)格最低。 HK32F030M 系列使用 ARM® CortexTM-M0 內(nèi)核,最高工作頻率 32MHz,內(nèi)置 16K-Byte FLASH、448-Byte EEPROM 和 2-KByte SRAM。通過 FLASH 控制器的寄存器配置,可實(shí) 現(xiàn)中斷向量在 16K-Byte 空間內(nèi)的重映射。 HK32F030M 除電源、地以外的所有引腳都可以作為GPIO、外設(shè) IO 或外部中斷輸入(TSSOP20 封裝產(chǎn)品支持 16 個(gè) GPIO);在引腳數(shù)量受限應(yīng)用場(chǎng)景中最大可能的提供引腳信號(hào)數(shù)量。 使用的時(shí)候需要注意,它不支持5V。
數(shù)碼管
采用白色高顏值共陽(yáng)極數(shù)碼管
RTC
采用內(nèi)置MEMS的DS3231M,精度±5ppm。其他
設(shè)計(jì)3個(gè)側(cè)插微動(dòng)按鍵以實(shí)現(xiàn)時(shí)鐘和倒計(jì)時(shí)調(diào)節(jié)。蜂鳴器實(shí)現(xiàn)鬧鈴提示。不涉及日期調(diào)節(jié)和秒數(shù)調(diào)節(jié),默認(rèn)每次寫入秒數(shù)為0。
軟件
經(jīng)過數(shù)次嘗試,RTT移植失敗,最后決定使用裸機(jī)完成。
主要業(yè)務(wù)邏輯使用定時(shí)器完成,我一共設(shè)計(jì)了四個(gè)定時(shí)器:
通過TIM2硬件定時(shí)器提供基準(zhǔn)實(shí)現(xiàn)微秒和毫秒級(jí)別的delay。
軟件定時(shí)器設(shè)計(jì)了三個(gè):
1ms的軟件定時(shí)器提供按鍵的ticks基準(zhǔn)
300ms的軟件定時(shí)器用來在設(shè)定模式下閃爍顯示
1000ms的軟件定時(shí)器來讀取RTC更新時(shí)鐘或者進(jìn)行倒計(jì)時(shí)顯示
使用了芯片內(nèi)置的ADC來進(jìn)行亮度自動(dòng)調(diào)節(jié),也可以始終以恒定最高亮度顯示。隨時(shí)切換。
提示音使用了無源蜂鳴器,也是使用了芯片內(nèi)置的BEEP功能。
讀取RTC使用了硬件I2C
TM1637通訊使用了軟件模擬I2C
使用了multi_button和multi_timer這兩個(gè)庫(kù)來完成按鍵和定時(shí)器。感謝原作者的優(yōu)秀庫(kù)。
本來一開始打算用RX8025T作為RTC的,但是死活調(diào)不出來。硬件I2C和軟件I2C全都嘗試過了。硬件I2C通訊就沒有相應(yīng),而軟件I2C返回來的數(shù)據(jù)不對(duì)!可能是因?yàn)槲屹I的淘寶貨?立創(chuàng)沒有這顆IC。我連邏輯分析儀都買了一個(gè),最后決定放棄了!下次買到正品再試試看吧。
倒計(jì)時(shí)鬧鈴最大支持99分鐘,設(shè)置倒計(jì)時(shí)鬧鈴的時(shí)候1~10分鐘以1分鐘遞增,10~30分鐘以5分鐘遞增,30~99分鐘以10分鐘遞增。倒計(jì)時(shí)的時(shí)候顯示分/秒數(shù)。倒計(jì)時(shí)結(jié)束顯示00:00響鈴提示,直到超過一定次數(shù)或者按任意鍵。
我踩過的坑:
如果串口打印無輸出,那么可能是因?yàn)闆]有選中Use MicroLib選項(xiàng)
ADC的IO口如果是AIN3,那么就要對(duì)應(yīng)使用Channel3
官方提供了一個(gè)excel表格,可以很方便地查找每個(gè)GPIO的復(fù)用功能:
第一版:RX-8025T,失敗了!!
第二版:DS3231M,成功!背面:
正面:
如需要了解更多航順MCU產(chǎn)品,請(qǐng)聯(lián)系航順核心代理商,穎特新科技,或者掃碼聯(lián)系我們!
在之前的介紹中,我們也為大家介紹了《航順芯片HK32F030MJ4M6最小開發(fā)板應(yīng)用于各種小項(xiàng)目》,也是目前我們主推的非常成熟的解決方案!
編輯:zzy 最后修改時(shí)間:2022-06-29