MM32F013通用MCU系列萬(wàn)年歷解決方案靈動(dòng)微電子MM32F013內(nèi)部的RTC是一個(gè)獨(dú)立的定時(shí)器單元,它擁有一組連續(xù)計(jì)數(shù)的計(jì)數(shù)器,配置相應(yīng)的寄存器參數(shù),可以實(shí)現(xiàn)鬧鐘、秒中斷、毫秒中斷、MCU定時(shí)喚醒、萬(wàn)年歷等功能。
主要特征 ?可編程的預(yù)分頻系數(shù):分頻系數(shù)最高為220 ?32位的可編程計(jì)數(shù)器,用于較長(zhǎng)時(shí)間段的測(cè)量 ?2個(gè)分離的時(shí)鐘:用于APB1接口的PCLK1和RTC時(shí)鐘(RTC時(shí)鐘的頻率必須小于PCLK1時(shí)鐘頻率的四分之一以上) ?可以選擇以下三種RTC的時(shí)鐘源 –HSE時(shí)鐘除以128 –LSE振蕩器時(shí)鐘 –LSI振蕩器時(shí)鐘 ?2個(gè)獨(dú)立的復(fù)位類型 –APB1接口由系統(tǒng)復(fù)位 –RTC核心(預(yù)分頻器、鬧鐘、計(jì)數(shù)器和分頻器)只能由后備域復(fù)位 ?3個(gè)專門的屏蔽中斷 –鬧鐘中斷,用來(lái)產(chǎn)生一個(gè)軟件可編程的鬧鐘中斷 –秒/毫秒中斷,用來(lái)產(chǎn)生一個(gè)可編程的周期性中斷信號(hào)(最長(zhǎng)可達(dá)1秒) –溢出中斷,指示內(nèi)部可編程計(jì)數(shù)器溢出并返回為0的狀態(tài)
本文將重點(diǎn)介紹如何在MM32F013上通過(guò)內(nèi)部RTC模塊實(shí)現(xiàn)萬(wàn)年歷的功能。
實(shí)現(xiàn)功能 通過(guò)修改RTC計(jì)數(shù)器的初始值來(lái)設(shè)置系統(tǒng)當(dāng)前的時(shí)間和日期,使能RTC秒中斷功能;在RTC產(chǎn)生秒中斷后,通過(guò)獲取當(dāng)前RTC的計(jì)數(shù)值,將其轉(zhuǎn)換為對(duì)應(yīng)的年月日信息,再通過(guò)蔡勒公式計(jì)算出星期,將最終的結(jié)果通過(guò)串口的形式輸出顯示。
RTC模塊的電源域處在VDD數(shù)字電源域,只要MCU供電就可以使用RTC,沒(méi)有獨(dú)立的VBAT供電引腳,所以無(wú)法使用紐扣電池類的應(yīng)用。 |