新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MSP430F5529 (八)實時時鐘RTC

MSP430F5529 (八)實時時鐘RTC

作者: 時間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
0:選擇2進制或者十六進制
1:選擇BCD碼
RTCHOLD:實時時鐘保持位
0:實時時鐘(32位計數(shù)器或者是日歷模式)正在運作
1:計數(shù)器模式(RTCMODE=0)),該位置1只會使32位計數(shù)器停止;在日歷模式(RTCMODE=1)日歷以及預(yù)分頻計數(shù)器會被停止。RT0PS和RT1PS、RT0PSHOLD和RT1PSHOLD位可以忽略。
RTCMODE:RTC模式選擇。
0:32位計數(shù)器模式
1:日歷模式。在日歷模式和計數(shù)器模式之間的切換會重置實時時鐘;計數(shù)器模式切換到日歷模式會將秒、分、小時、星期和年清零,將日期和月份置1。實時時鐘寄存器需要后來被軟件設(shè)置。RT0PS和RT1PS也會被清零。
RTCRDY:實時時鐘準備位
0:實時時鐘值在轉(zhuǎn)換過渡(日歷模式)
1:實時時鐘值可被安全讀?。ㄈ諝v模式)。在計數(shù)器模式,RTCRDY保持清除。
RTCSSEL:實時時鐘源選擇位。選擇時鐘源輸入到RTC/32計數(shù)器。在RTC日歷模式這兩位是不考慮的,其輸入默認是RT1PS的輸出。
00ACLK
01SMLK
10從RT1PS輸出
11從RT1PS輸出
RTCTEV:RTC時間事件指示

本文引用地址:http://m.butianyuan.cn/article/201611/322796.htm
RTC模式
RTCTEV的值
內(nèi)部中斷
計數(shù)器模式
00
8位溢出
01
16位溢出
10
24位溢出
11
32位溢出
日歷模式
00
分鐘改變
01
小時改變
10
午夜(00:00)
11
白天(12:00)

RTCCTL2 實時時鐘控制寄存器2(rw-(0)表示讀寫為0)
RTCCALS:RTC校準標志
0:頻率調(diào)整下降
1:頻率調(diào)整上升
RTCCAL:RTC頻率校準位
每個LSB位代表大約+4PPM(RTCCALS=1)或-2PPM(RTCCALS=0)調(diào)整頻率。
RTCCTL3 實時時鐘控制寄存器3
RTCCALF:RTC校準頻率校準測量時選擇頻率輸出到RTCCLK引腳(P2.6)上。相對應(yīng)的端口必須配置為外圍模塊功能(即P2SEL=BIT6)。RTCCLK在計數(shù)模式不可用,此時保持為低且RTCCALF位的值不確定。
00:沒有頻率輸出到RTCCLK引腳
01:512HZ
10:256HZ
11:1HZ
RTCPS0CTL 預(yù)分頻定時器0控制寄存器(16位寄存器)
RT0SSEL:預(yù)分頻定時器0時鐘源選擇位。選擇時鐘源輸入到RT0PS計數(shù)器。在RTC日歷模式該位不用關(guān)心,因為RT0PS時鐘輸入自動設(shè)置到ACLK(32.768KHZ)。
0:ACLK
1:SMCLK
RT0PSDIV:預(yù)分頻定時器0分頻,這些位控制RT0PS計數(shù)器的分頻。在RTC日歷模式對于RT0PS和RT1PS這些位是不用關(guān)心的,因為RT0PS時鐘輸出自動設(shè)置到256分頻。RT1PS時鐘輸出自動設(shè)置到128分頻。
000-111,分別表示2、4、8、16、32、64、128、256分頻
RT0PSHOLD:預(yù)分頻定時器0保持位。在RTC日歷模式這些位是不關(guān)心的。RTCHOLD置位時,RT0PS停止工作。
RT0IP:預(yù)分頻器0中斷間隔。
000-111,分別表示2、4、8、16、32、64、128、256分頻
RT0PSIE:預(yù)分頻定時器0中斷允許
0:中斷不允許
1:中斷允許
RT0PSIFG:預(yù)分頻定時器0中斷標志
0:沒有定時事件發(fā)生
1:有定時事件發(fā)生
RTCPS1CTL預(yù)分頻定時器1控制寄存器(16位寄存器)
RT1SSEL:預(yù)分頻定時器1時鐘源選擇位。選擇時鐘源輸入到RT1PS計數(shù)器。在RTC日歷模式該位不用關(guān)心,因為RT1PS時鐘輸入自動設(shè)置為RT0PS的輸出。
00:ACLK
01:SMCLK
10:從RT0PS輸出
11:從RT0PS輸出
(其余項同RTCPS0CTL)
上面的都為控制寄存器,操作比較復(fù)雜,下面講到的都是數(shù)值寄存器。
RTCNT1:RTC計數(shù)寄存器1,計時器模式
RTCNT2:RTC計數(shù)寄存器2,計數(shù)器模式
RTCNT3:RTC計數(shù)寄存器3,計數(shù)器模式
RTCNT4:RTC計數(shù)寄存器4,計數(shù)器模式
RTCSEC:秒寄存器。BCD/BIN
先說明一下BCD/BIN的意思(下面同理)
前面提到可以控制日歷模式的數(shù)值寄存器中的數(shù)值用BCD碼或者二進制碼表示。以RTCSEC為例:
當選作二進制模式時:(低6位就可以表示秒1-60)
當選作BCD模式時:(低4位表示秒的各位0-9;4-6位表示秒的十位0-6,高位不用時默認為0)
RTCMIN:分寄存器,BCD/BIN
RTCHOUR:時寄存器,BCD/BIN
RTCDOW:星期日數(shù)寄存器,因為只有1-7,所以無所謂BCD/BIN了
RTCDAY:日寄存器,BCD/BIN
RTCMON:月寄存器,BCD/BIN
RTCYEARL:年低字節(jié)寄存器,個年位以及十年位,BCD/BIN
RTCYEARH:年高字節(jié)寄存器,百年位以及千年位,BCD/BIN
RTCAMIN:分鬧鈴寄存器,BCD/BIN
RTCAHOUR:時鬧鈴寄存器,BCD/BIN
RTCADOW:星期鬧鈴寄存器
RTCADAY:日鬧鈴寄存器,BCD/BIN
//上述4個鬧鐘寄存器的最高位都為使能位AE,置位時相應(yīng)寄存器才有效
RT0PS:預(yù)分頻定時器0計數(shù)值
RT1PS:預(yù)分頻定時器1計數(shù)值
RTCIV:中斷向量值寄存器(16位寄存器)
8.3RTC的各種操作流程
8.3.1計時器模式
(1). RTCMODE位置0,進入32位計時器模式;
從日歷模式切換到計數(shù)器模式會將計數(shù)值寄存器(RCTNT1,RCTNT2,RCTNT3,RCTNT4)和預(yù)換算計數(shù)器(RT0PS,RT1PS)全部清零
(2). 選擇時鐘源,并設(shè)計二級分頻;
計數(shù)器的時鐘可源于ACLK、SMCLK或者是RT1PS的輸出。當使用RT1PS的輸出作為計數(shù)源的時候,一定要先將RT0PS,RT1PS的HOLD位清零,使其可以正常工作,然后再分別配置二者的分頻數(shù)。
再者,兩個預(yù)分頻器RT0PS和RT1PS也可以作為獨立的計數(shù)器來用(級聯(lián)成16位也是可以的)。通過RT0IP和RT1IP可以設(shè)置間隔。比如,選擇ACLK 32768HZ作為時鐘,間隔設(shè)置為256,也就是說每當計數(shù)器計到32768/256=128的整數(shù)倍時,該標志位就會置位。
(3). 32位計數(shù)器是由4個8位計數(shù)器級聯(lián)而成,這能提供8位、16位、24位、32位溢出間隔。RTCTEV位選擇觸發(fā)哪一個溢出間隔,通過設(shè)置RTCTEVIE位,一個RTCTEV發(fā)生能夠觸發(fā)一個中斷。計數(shù)器RTCNT1到RTCNT4,每一個都可以單獨的訪問,并可能被寫入。

關(guān)鍵詞: MSP430F5529實時時鐘RT

評論


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

關(guān)閉