久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

PIC32 RTCC實時時鐘和日歷

作者:未知   來源:手上青春飛翔的博客   點擊數:  更新時間:2014年08月08日   【字體:

 RTCC實時時間和日歷

 
結構體定義:
 
rtccDate dt;//日期結構體dt.year年,dt.mon月,dt.mday日,dt.wday星期幾,dt.l整體
 
rtccTime tm;//時間結構體tm.hour時,tm.min分,tm.sec秒,tm.l整體
 
rtccDate adt;//鬧鐘時間結構體定義
 
rtccTime atm;
 
一.RTCC模塊設置
 
初始化RTCC
 
RtccInit();           //禁止中斷,清除中斷標志,關閉鬧鐘Alarm,鎖寫,開啟RTCC ON
 
等待穩定開啟RTCC
 
While(RtccGetClkStat()!=RTCC_CLK_ON);
 
寫入RTCC初始值
 
RtccOpen(tm.l,da.l,Cal);              //寫入初始時間,設置校準偏移cal
 
校準值CAL
 
CAL=( 理想頻率(32,758)– 實際頻率) * 60 = 每分鐘誤差時鐘數
 
RtccSetCalibration(10);//每分鐘加10時鐘數
 
 
 
二.鬧鐘模塊設置
 
鬧鐘時間設置
 
RtccSetAlarmTimeDate(atm.l,adt.l);
 
鬧鈴匹配周期        注意1
 
RtccSetAlarmRpt(RTCC_RPT_TEN_SEC);   //10s一次匹配
 
鬧鈴重復次數
 
RtccSetAlarmRptCount(5);           //每發生一次鬧鐘時間遞減1即重復5+1次
 
是否需要無限重復鬧鈴
 
RtccChimeEnable();           //CHIME為1時rptcount能從0回到ff無限重復,反之
 
鬧鐘使能
 
RtccAlarmEnable();
 
 
 
三.中斷模塊設置
 
設置中斷優先級,使能事件中斷,系統中斷使能(詳見中斷)
 
注  1:重復周期RPT即計時器與鬧鐘寄存器相匹配的周期。
 
   若在匹配周期內有鬧鐘時間,則中斷信號在此發出。隨后以此鬧鐘時間為基準延后一個匹配周期后
 
發出中斷信號。
 
若在匹配周期內無鬧鐘時間,中斷都將在匹配周期結束時發出,重復上面的情況。
 
         例如  現在時間2014年7月19日星期六,0:05:30   
 
設置鬧鐘時間2014年7月19日,0:05:59
 
設置半秒:則每半秒都會產生中斷     設置10秒:前兩個中斷在40s,50s,然后59s,9s...
 
設置1分:中斷發生在05:59,06:59...       設置10分:中斷在05:59,15:59…
 
 
 
2:RTCC 器件可以產生一些中斷,反映在RTCC 定時器與鬧鐘寄存器匹配時發生的鬧鐘事件。模塊會根據AMASK位設置,與時間/ 日期寄存器的無掩碼部分進行匹配。每個鬧鐘事件發生時,都能產生中斷.
 
3:ARPT<7:0>:鬧鐘重復計數器值位每當發生鬧鐘事件時計數器就遞減1。要提供無限重復鬧鐘,可以使用CHIME(RTCALRM<14>)位使能響鈴功能。當CHIME = 1 時,在執行最后一次重復之后,ARPT將從0x00計滿返回至0xFF,并繼續無限計數,而不是禁止鬧鐘。
 
CHIME = 1,計數器能從00返回到FF,即可連續響鈴。
 
CHIME = 0,計數器不能從00返回到FF,響鈴ARPT+1次。
 
 
 
RtccSetAlarmRpt(rtccRepeat rpt);// 設定鬧鐘重復周期 
 
           
 
  RTCC_RPT_HALF_SEC,          // repeat alarm every half second
 
RTCC_RPT_SEC,                      // repeat alarm every second
 
RTCC_RPT_TEN_SEC,            // repeat alarm every ten seconds
 
RTCC_RPT_MIN,                    // repeat alarm every minute
 
RTCC_RPT_TEN_MIN,     // repeat alarm every ten minutes
 
RTCC_RPT_HOUR,                 // repeat alarm every hour
 
RTCC_RPT_DAY,                // repeat alarm every day
 
RTCC_RPT_WEEK,                 // repeat alarm every week
 
RTCC_RPT_MON,                  // repeat alarm every month
 
RTCC_RPT_YEAR         // repeat alarm every year (except when configured for Feb 29th.)
 
 
 
例如
 
RTCC鬧鐘中斷點亮led
 
#include
 
#pragma config JTAGEN = OFF             // JTAG Enable (JTAG Disabled)
 
#pragma config FWDTEN = OFF             // Watchdog Timer Enable (WDT Disabled (SWDTEN Bit Controls))
 
rtccDate dt;//日期結構體dt.year年,dt.mon月,dt.mday日,dt.wday星期幾,dt.l整體
 
rtccTime tm;//時間結構體tm.hour時,tm.min分,tm.sec秒,tm.l整體
 
rtccDate adt;//鬧鐘時間結構體定義
 
rtccTime atm;
 
int Alarmflag=0;
 
int main()
 
{
 
PORTSetPinsDigitalOut(IOPORT_B,BIT_9);
 
PORTSetBits(IOPORT_B,BIT_9);
 
RtccInit();//實時時間日歷初始化,RTCC ON
 
while(RtccGetClkStat()!=RTCC_CLK_ON);//等待振蕩器穩定
 
tm.hour=0x22;
 
tm.min=0x40;
 
tm.sec=0x30;
 
dt.year=0x14;
 
dt.mon=0x07;
 
dt.mday=0x17;
 
dt.wday=0x04;
 
RtccOpen(tm.l,dt.l,0);//初時間22:40:30,14年7月17日星期4,校準偏移0
 
RtccGetTimeDate(&tm,&dt);//獲得實時時間和日期
 
atm.l=tm.l;
 
adt.l=dt.l;
 
atm.sec=tm.sec+0x20;//延后20秒
 
RtccChimeEnable();//無限重復鬧鈴允許
 
RtccSetAlarmRptCount(0);//鬧鈴重復次數0+1,最高256,CHIME=1時次數無限
 
RtccSetAlarmRpt(RTCC_RPT_MIN);//鬧鐘匹配周期1min  注意:1
 
RtccSetAlarmTimeDate(atm.l,adt.l);//設置鬧鐘時間
 
RtccAlarmEnable();//鬧鐘使能
 
mRTCCSetIntPriority(2);
 
mRTCCClearIntFlag();
 
mRTCCIntEnable(1);
 
INTEnableSystemMultiVectoredInt();
 
while(1)
 
{
 
if(Alarmflag==1)
 
{
 
RtccSetAlarmRpt(RTCC_RPT_HALF_SEC);//若觸發鬧鐘則每半秒產生一中斷
 
break;//跳出while
 
}
 
}
 
void __ISR(_RTCC_VECTOR,ipl2) hander(void)
 
{
 
 PORTBINV=(1<<9);
 
 Alarmflag=1;
 
 mRTCCClearIntFlag();
 
}
關閉窗口

相關文章

主站蜘蛛池模板: 亚洲精品一区二区三区四区高清 | 精品国产一区二区久久 | 97福利在线 | 亚洲精品一区二区三区 | 免费看91| 九色视频网站 | 久久精品视频免费看 | 日韩欧美国产精品 | 精品欧美乱码久久久久久 | 日本不卡一区二区三区 | 久久国产精品一区二区三区 | 激情黄色在线观看 | 黄色国产在线播放 | 精品久久一 | 午夜影院在线观看视频 | 极品电影院 | 天堂网av在线 | 久久久久国产一区二区三区四区 | 欧美精品二区 | 在线看一区二区三区 | 91久久北条麻妃一区二区三区 | 精品国产一区二区三区成人影院 | 99视频免费在线观看 | 五月婷六月丁香 | 成年人在线视频 | 国内精品成人 | 日日夜夜天天 | 手机在线不卡av | 九九九视频在线 | 青草视频在线 | 亚洲精品视频一区二区三区 | 国产精品精品久久久久久 | 久久精品美女 | 天天宗合网 | 97色免费视频 | 午夜资源 | 伊人中文网| 天天宗合网 | 伊久在线| 日本不卡免费新一二三区 | 午夜国产羞羞视频免费网站 |