版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機(jī)電工程學(xué)院自控系侯葉第七章S3C2440A的實時時鐘
主要內(nèi)容7.1實時時鐘在嵌入式系統(tǒng)中的作用7.2實時時鐘操作7.3實時時鐘相關(guān)寄存器7.1實時時鐘在嵌入式系統(tǒng)中的作用在一個嵌入式系統(tǒng)中,實時時鐘單元可以提供可靠的時鐘,包括時、分、秒和年、月、日。即使系統(tǒng)處于關(guān)機(jī)狀態(tài)下,它也能夠正常工作(通常采用后備電池供電)。在嵌入式系統(tǒng)中,實時時鐘主要用來顯示時間。實時時鐘(RTC)可以通過使用STRB/LDRBARM操作發(fā)送8位二--十進(jìn)制BCD值數(shù)據(jù)給CPU。這些數(shù)據(jù)包括年、月、日、星期、時、分和秒的時間信息。RTC單元工作在外部32.768kHz晶振并且可以執(zhí)行鬧鐘功能。特性:–BCD數(shù):年、月、日、星期、時、分和秒–閏年發(fā)生器–鬧鐘功能:鬧鐘中斷或從掉電模式喚醒–已解決的2000年問題–獨(dú)立電源引腳(RTCVDD)支持RTOS內(nèi)核時鐘節(jié)拍(tick)的毫秒節(jié)拍時間中斷7.2實時時鐘操作閏年發(fā)生器:閏年發(fā)生器能夠基于BCDDATE、BCDMON和BCDYEAR的數(shù)據(jù),從28、29、30或31中決定哪個是每月的最后日。此模塊決定最后日時會考慮閏年因素。8位計數(shù)器只能夠表示為2個BCD數(shù)字,因此其不能判決“00”年(最后兩位數(shù)為0的年份)是否為閏年。例如,其不能判別1900和2000年。請注意:1900年不是閏年,而2000年是閏年。7.2實時時鐘操作讀/寫寄存器:為了寫RTC模塊中的BCD寄存器,RTCCON寄存器的位[0]必須設(shè)置為高。為了顯示年、月、日、時、分和秒,CPU應(yīng)該分別讀取RTC模塊中的各寄存器中的數(shù)據(jù)。然而因為讀取了多個寄存器,可能存在1秒的偏差。例如,當(dāng)用戶從BCDYEAR到BCDMIN寄存器讀取,其結(jié)果假定為2059(年)、12(月)、31(日)、23(時)和59(分)。當(dāng)用戶讀取BCDSEC寄存器并且值的范圍是從1到59(秒),這沒有問題,但是如果該值為0秒,則年、月、日、時和分可能要變?yōu)?060(年)、1(月)、1(日)、0(時)和0(分),因為存在著1秒的偏差。在這種情況中,如果BCDSEC為0則應(yīng)該重新從BCDYEAR到BCDSEC讀取。7.2實時時鐘操作備用電池操作:RTC邏輯可以由備用電池驅(qū)動,如果系統(tǒng)電源關(guān)閉,由RTCVDD引腳供電給RTC模塊。當(dāng)關(guān)閉了電源,則應(yīng)該阻塞掉CPU和RTC邏輯的接口,而備用電池只驅(qū)動振蕩電路和BCD計數(shù)器以最小化功耗。鬧鐘功能:RTC在掉電模式中或正常工作模式中通過指定時間產(chǎn)生一個鬧鐘信號。在正常工作模式中,只激活鬧鐘中斷(INT_RTC)信號。在掉電模式中,除了INT_RTC被激活之外還激活電源管理喚醒(PMWKUP)信號。實時時鐘控制(RTCCON)寄存器節(jié)拍時間計數(shù)(TICNT)寄存器RTC鬧鐘控制(RTCALM)寄存器鬧鐘秒數(shù)據(jù)(ALMSEC)寄存器鬧鐘分?jǐn)?shù)據(jù)(ALMMIN)寄存器鬧鐘時數(shù)據(jù)(ALMHOUR)寄存器鬧鐘日數(shù)據(jù)(ALMDATE)寄存器鬧鐘月數(shù)據(jù)(ALMMON)寄存器鬧鐘年數(shù)據(jù)(ALMYEAR)寄存器BCD秒(BCDSEC)寄存器BCD分(BCDMIN)寄存器BCD時(BCDHOUR)寄存器BCD日(BCDDATE)寄存器BCD星期(BCDDAY)寄存器BCD月(BCDMON)寄存器BCD年(BCDYEAR)寄存器7.3實時時鐘相關(guān)寄存器7.3實時時鐘相關(guān)寄存器實時時鐘控制(RTCCON)寄存器
7.3實時時鐘相關(guān)寄存器節(jié)拍時間計數(shù)(TICNT)寄存器7.3實時時鐘相關(guān)寄存器RTC鬧鐘控制(RTCALM)寄存器
7.3實時時鐘相關(guān)寄存器鬧鐘秒數(shù)據(jù)(ALMSEC)寄存器7.3實時時鐘相關(guān)寄存器鬧鐘分?jǐn)?shù)據(jù)(ALMMIN)寄存器7.3實時時鐘相關(guān)寄存器鬧鐘時數(shù)據(jù)(ALMHOUR)寄存器7.3實時時鐘相關(guān)寄存器鬧鐘日數(shù)據(jù)(ALMDATE)寄存器7.3實時時鐘相關(guān)寄存器鬧鐘月數(shù)據(jù)(ALMMON)寄存器7.3實時時鐘相關(guān)寄存器鬧鐘年數(shù)據(jù)(ALMYEAR)寄存器7.3實時時鐘相關(guān)寄存器BCD秒(BCDSEC)寄存器7.3實時時鐘相關(guān)寄存器BCD分(BCDMIN)寄存器7.3實時時鐘相關(guān)寄存器BCD時(BCDHOUR)寄存器7.3實時時鐘相關(guān)寄存器BCD日(BCDDATE)寄存器7.3實時時鐘相關(guān)寄存器BCD星期(BCDDAY)寄存器7.3實時時鐘相關(guān)寄存器BCD月(BCDMON)寄存器7.3實時時鐘相關(guān)寄存器BCD年(BCDYEAR)寄存器實驗五、系統(tǒng)時鐘實驗一、實驗?zāi)康牧私鈱崟r時鐘在嵌入式系統(tǒng)中的作用;掌握實時時鐘的使用。二、實驗儀器
JXARM9-2440教學(xué)實驗箱、ADT1000仿真器和ADTIDE集成開發(fā)環(huán)境、串口連接線、PC機(jī)。三、實驗原理在一個嵌入式系統(tǒng)中,實時時鐘單元可以提供可靠的時鐘,包括時分秒和年月日;即使在系統(tǒng)處于關(guān)機(jī)狀態(tài)下它也能夠正常工作(通常采用后備電池供電)。/*包含文件*/#include"def.h"#include"2410lib.h"#include"option.h"#include"2410addr.h"#include"interrupt.h"/*表示日期、時間的數(shù)據(jù)結(jié)構(gòu)*/typedefstructST_DATE{ short year;//年
char mon;//月
char day;//日
char week_day;//星期
char hour;//時
char min;//分
char sec;//秒}st_date;/*全局變量*/intled_index=0;intext0_count=0;/*functions*/voidrtc_tick_isr(void)__attribute__((interrupt("IRQ")));;voidrtc_int_isr(void)__attribute__((interrupt("IRQ")));;/*****************************************************************************//Functionname:rtc_set_date//Description:修改實時時鐘當(dāng)前時間、日期//Returntype:void//Argument:p_date,待設(shè)置的日期*****************************************************************************/voidrtc_set_date(st_date*p_date){rRTCCON=0x01; rBCDYEAR=p_date->year;rBCDMON=p_date->mon;rBCDDAY=p_date->day;rBCDDATE=p_date->week_day;rBCDHOUR=p_date->hour;rBCDMIN=p_date->min;
四、參考程序rBCDSEC=p_date->sec;rRTCCON=0x00; }/*****************************************************//Functionname:rtc_get_date//Description:獲取實時時鐘當(dāng)前時間、日期//Returntype:void//Argument:p_date,返回日期的指針******************************************************/voidrtc_get_date(st_date*p_date){rRTCCON=0x01;
p_date->year =rBCDYEAR;p_date->mon =rBCDMON;p_date->day =rBCDDAY;p_date->week_day=rBCDDATE;p_date->hour =rBCDHOUR;p_date->min =rBCDMIN;p_date->sec =rBCDSEC;
rRTCCON=0x00; }/*****************************************************************************//Functionname:rtc_tick_init//Description:初始化S3C2440的TICK定時器//Returntype:void//Argument:tick,設(shè)置的TICK頻率(時鐘滴答的周期為(1+tick)/128秒)*****************************************************************************/voidrtc_tick_init(chartick){
Irq_Request(IRQ_TICK,rtc_tick_isr);
rRTCCON=0x0;//Noreset[3],MergeBCDcounters[2],BCDclockselectXTAL[1],RTCControldisable[0]rTICNT=(tick&0x7f)|0x80; /*TICK中斷使能,周期為(1+tick)/128秒*/Irq_Enable(IRQ_TICK);}/*****************************************************************************//Functionname:rtc_alarm_set//Description:設(shè)置S3C2440的告警時間以及方式//Returntype:void//Argument:p_date,告警的時間//mode,告警模式*****************************************************************************/voidrtc_alarm_set(st_date*p_date,unsignedcharmode){
Irq_Request(IRQ_RTC,rtc_int_isr);rRTCCON=0x01; rALMYEAR=p_date->year;rALMMON=p_date->mon;rALMDATE=p_date->day;rALMHOUR=p_date->hour;rALMMIN=p_date->min;rALMSEC=p_date->sec;
rRTCALM=mode;
rRTCCON=0x00; Irq_Enable(IRQ_RTC);}/*****************************************************************************//Functionname:Main//Description:JXARM9-2440實時時鐘實驗主程序//完成功能:時鐘滴答:每秒鐘刷新數(shù)碼管顯示//設(shè)置當(dāng)前日期、時間//動態(tài)刷新當(dāng)前日期、時間,通過串口打印出來//時間告警功能:每分鐘的第5秒告警,并進(jìn)行跑馬燈顯示//Returntype:void//Argument:void*****************************************************************************/voidMain(void){ intold_index;
st_datem_date;
/*配置系統(tǒng)時鐘*/ChangeClockDivider(2,1);U32mpll_val=0;mpll_val=(92<<12)|(1<<4)|(1);ChangeMPllValue((mpll_val>>12)&0xff,(mpll_val>>4)&0x3f,mpll_val&3);
/*中斷初始化*/Isr_Init();/*初始化端口*/Port_Init();
/*初始化串口*/Uart_Init(0,115200);Uart_Select(0);/*打印提示信息*/PRINTF("\n---實時時鐘測試程序---\n");PRINTF("\n請將UART0與PC串口進(jìn)行連接,然后啟動超級終端程序(115200,8,N,1)\n");PRINTF("\n實時時鐘測試開始\n"); /*采用BCD編碼,如2004年需要設(shè)置的值為0x2004*/ //TODO
/*修改當(dāng)前日期和時間*/rtc_set_date(&m_date);
m_date.sec= 0x05;
//TODO/*設(shè)置告警的時間及方式,0x41表示使能RTC告警,以及使能秒時鐘告警*/
rtc_tick_init(127); old_index=led_index; PRINTF("\r\n\r\n");
while(1){ if(old_index!=led_index) /*每隔一秒更新一次數(shù)據(jù) */ { rtc_get_date(&m_date); old_index=led_index;
PRINTF( /*時鐘數(shù)據(jù)為BCD碼格式,以16進(jìn)制顯示*/ "\b\b\b\b\b\b\b\b%02x:%02x:%02x",m_date.hour,m_date.min,m_date.sec); }};}/*****************************************************************************//Functionname:rtc_tick_isr//Description:TICK中斷處理程序,程序中設(shè)置每秒鐘引發(fā)一次中斷//Returntype:int//Argument:void*****************************************************************************/voidrtc_tick_isr(void){ Irq_Clear(IRQ_TICK);/*清除TICK中斷*/// *((unsignedchar*)0x02000006)=0x00; // *(unsignedchar*)0x02000004=seg7table[led_index%10];
led_index++;}/*****************************************************************************//Function
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東司法警官職業(yè)學(xué)院《英語視聽說IV》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東省外語藝術(shù)職業(yè)學(xué)院《現(xiàn)代漢語(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東輕工職業(yè)技術(shù)學(xué)院《物聯(lián)網(wǎng)移動應(yīng)用開發(fā)實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東石油化工學(xué)院《土木工程專業(yè)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東南方職業(yè)學(xué)院《兒童文學(xué)理論教學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東茂名幼兒師范??茖W(xué)校《產(chǎn)品形態(tài)設(shè)計基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東茂名健康職業(yè)學(xué)院《小學(xué)隊原理與實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東理工職業(yè)學(xué)院《口腔內(nèi)科學(xué)1》2023-2024學(xué)年第一學(xué)期期末試卷
- 五年級數(shù)學(xué)(小數(shù)四則混合運(yùn)算)計算題專項練習(xí)及答案匯編
- 2022年施工實習(xí)報告
- 新入職員工年終工作總結(jié)課件
- 中華傳統(tǒng)文化之文學(xué)瑰寶學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 07FK02防空地下室通風(fēng)設(shè)備安裝PDF高清圖集
- ANSI-ASQ-Z1.4-抽樣標(biāo)準(zhǔn)培訓(xùn)教材
- 思想品德鑒定表(學(xué)生模板)
- 滿堂支架計算
- MA5680T開局配置
- (完整word版)澳大利亞簽證54表(家庭構(gòu)成)
- 螺桿式風(fēng)冷冷水(熱泵)機(jī)組電路圖
- CFG樁施工記錄表范本
- 《錄音技術(shù)與藝術(shù)》課程教學(xué)大綱(新版)(共11頁)
評論
0/150
提交評論