新聞中心

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

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

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

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


評(píng)論


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

關(guān)閉