新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 松翰單片機 RTC 應(yīng)用注意

松翰單片機 RTC 應(yīng)用注意

作者: 時間:2016-11-22 來源:網(wǎng)絡(luò) 收藏
有部分 SN 單片機型號的芯片,內(nèi)部帶有 RTC 功能(實時時鐘),它為雙時鐘芯片的一大特色!也為需要使用 RTC 的項目提供了方便.
我曾經(jīng)使用過 SN8P2501A/B,SN8P2308,SN8P2612/13(早期版本),sn8p2614等芯片的 RTC 功能,效果都不錯.
應(yīng)用 RTC 需要注意的問題:
(1).代碼選項必須選擇:IHRC_RTC.同時,硬件上在芯片接外部晶體的位置接上 32768HZ 的時鐘晶體,精度盡量使用好一些的.推薦 ±5ppm 的.不要使用便宜貨或者玩具里使用的晶體品種.
(2).實時時鐘大多占用定時器 T0 的資源,必須置位 T0M 的 T0TB 位(T0M.0=1).無需對 T0C 賦值.記得一定要啟動定時器:置位 T0M.7(T0ENB=1).
在 SN2501B 數(shù)據(jù)手冊里提示:
注:
1. 在RTC 模式下,進入中斷之后必須經(jīng)過1/2 RTC(32768HZ),即16us 的延時后才能對T0IRQ 清零;
2. 在RTC 模式下,T0 間隔時間固定為0.5s,T0C 計數(shù)范圍也固定為256 。
(3).可以使用中斷或者輪訓(xùn)來處理實時時鐘的信息.及時對 T0C 計數(shù)器的溢出標(biāo)志 T0IRQ(也是中斷標(biāo)志)清零.-----這個清零有點古怪,必須經(jīng)過 16us 后才可以清零 T0IRQ !否則實時時鐘會出錯!

例如內(nèi)部 16MHZ RC 振蕩器/4 ).
BTS1 FT0IRQ
JMP Z_CT0IRQ;退出
MOV_ R,#64;64*0.25=16us;延時16uS
DECMS R
JMP $-1
BCLR FT0IRQ
FT0IRQ: ;退出
;.....................................................
如果判斷 FT0IRQ 后有其它指令需要執(zhí)行,例如置位一些 0.5S 到達(dá)的標(biāo)志,則可以減少 16uS 的延時數(shù)值.
(4).RTC 具有喚醒功能,對掉電保護特別有用,可以進入綠色模式前,確保 RTC 是有效的(T0ENB=1).每隔 0.5S 系統(tǒng)自動喚醒一次.


評論


技術(shù)專區(qū)

關(guān)閉