S3C2440 實時時鐘RTC

2021-06-06 08:12:16 字數 1777 閱讀 9008

實時時鐘(rtc)單元可以在當系統電源關閉後通過備用電池工作。rtc可以通過使用strb/ldrb arm操

作傳送8位二-十進位制交換碼(bcd)值資料給cpu。這些資料報括年、月、日、星期、時、分和秒的時間資訊。

rtc 單元工作在外部32.768khz晶振並且可以執行鬧鐘功能。

rtc操作比較簡單,暫存器的設定在資料手冊上寫的很詳細,就不寫了,貼乙個rtc**,該程式參考了天翔的rtc程式**,主要是他寫的比較好,都模組化了,我修改了他的**,有鬧鐘(利用蜂鳴器),在tq2440 板子上能執行,程式功能:串列埠每秒顯示一次時間並且led1閃一次,在鬧鐘設定中,秒為20時,顯示鬧鐘時間並蜂鳴器發聲幾秒鐘。

#include "2440addr.h"

#include "option.h"

#include "2440lib.h"

#include "def.h"

#define led1_on (rgpbdat &=~(1<<5))

#define led1_off (rgpbdat |=(1<<5) )

void __irq rtc_tickhandler(void);

void __irq rtc_alarmhandler(void);

u8 alarmflag=0;

typedef struct date //定義乙個表示日期時間的結構體

date;

date c_date;

char *week_num[7]=;//定義乙個指標陣列

void beep_freq_set( u32 freq )

void beep_stop( void )

void delay(int x)

/********************************

** 讀取實時時鐘日期、 時間

**********************************/

void rtc_getdate(date *p_date)

/********************************

** tick中斷初始化

**********************************/

void rtc_tickirq_init(u8 tick)

/********************************

** 設定鬧鐘日期、 時間及其鬧鐘喚醒模式

**********************************/

void rtc_alarm_setdate(date *p_date,u8 mode)

void main(void) }}

/********************************

** tick中斷

**********************************/

void __irq rtc_tickhandler(void)

/********************************

** tick中斷

RTC實時時鐘

rtc的英文全稱是real time clock,翻譯過來是實時時鐘晶元.rtc是pc主機板上的晶振及相關電路組成的時鐘電路的生成脈衝,rtc經過8254電路的變頻產生乙個頻率較低一點的os 系統 時鐘tsc,系統時鐘每乙個cpu週期加一,每次系統時鐘在系統初起時通過rtc初始化。8254本身工作也...

RTC實時時鐘

系統在斷電後 需要rtc電池計時間並在系統啟動後 將這個時間給到系統時間。以此維護系統斷電後與現實時間同步 一般rtc電池需要3v的電壓 若經過擴充套件板連線 需要測量此電壓是否給到主控晶元 然後date命令可以檢視系統時間 date s 2008 08 08 12 00 00 可以通過這個命令修改...

實時時鐘RTC

1.簡述 外圍裝置控制器晶元 ich 內部,整合了實時時鐘電路 rtc 以及兩個cmos組成的靜態儲存器 cmos ram 通常為128b rtc負責計時,由1個32.768khz的石英晶體振盪器驅動,經分頻後用於cmos ram進行每秒一次的時間重新整理 cmos ram中時間資訊如下表所示,前1...