RTC

RTC_Init

{{#Widget:LibTable}}
Defination
  1. void RTC_Init()
Input Arguments none
Return Value none
Description This function is used to Initialize the Ds1307 RTC.
Usage
  1. RTC_Init();



RTC_SetTime

{{#Widget:LibTable}}
Defination
  1. void RTC_SetTime(uint8_t var_hour_u8, uint8_t var_min_u8, uint8_t var_sec_u8)
Input Arguments
  1. uint8_t: Hour (0x00-0x23) BCD format
  2. uint8_t: Minute (0x00-0x59) BCD format
  3. uint8_t: Second (0x00-0x59) BCD format
Return Value none
Description This function is used to update the Time(hh,mm,ss) of Ds1307 RTC.
The new time is updated into the non volatile memory of Ds1307.

Note: The I/P arguments should of BCD,
like 0x12,0x39,0x26 for 12hr,39min and 26sec.

Usage
  1. RTC_SetTime(0x10,0x40,0x20); //All the arguments should be in BCD format



RTC_SetDate

{{#Widget:LibTable}}
Defination
  1. void RTC_SetDate(uint8_t var_day_u8, uint8_t var_month_u8, uint8_t var_year_u8)
Input Arguments
  1. uint8_t: Day(0x01-0x31) BCD format
  2. uint8_t: Month(0x01-12) BCD format
  3. uint8_t: Year(0x00-0x99) BCD format
Return Value none
Description This function is used to set Date(dd,mm,yy) into the Ds1307 RTC.
The new Date is updated into the non volatile memory of Ds1307.

Note: The I/P arguments should of BCD.
Like 0x15,0x08,0x47 for 15th day,8th month and 47th year.

Usage
  1. RTC_SetDate(0x15,0x08,0x47); //All arguments should be in BCD format.



RTC_GetTime

{{#Widget:LibTable}}
Defination
  1. void RTC_GetTime(uint8_t *ptr_hour_u8,uint8_t *ptr_min_u8,uint8_t *ptr_sec_u8)
Input Arguments
  1. uint8_t *: Address to copy Hour.
  2. uint8_t *: Address to copy Minute.
  3. uint8_t *: Address to copy Second.
Return Value none
Description This function is used to get the Time(hh,mm,ss) from Ds1307 RTC.

Note: The time read from Ds1307 will be of BCD format,
like 0x12,0x39,0x26 for 12hr,39min and 26sec.

Usage
  1. uint8_t hour,min,sec;
  2. RTC_GetTime(&hour,&min&sec); //Now the hour,min,sec will have the time in BCD format.



RTC_GetDate

{{#Widget:LibTable}}
Defination
  1. void RTC_GetDate(uint8_t *ptr_day_u8,uint8_t *ptr_month_u8,uint8_t *ptr_year_u8)
Input Arguments
  1. uint8_t * : Address to copy Day.
  2. uint8_t * : Address to copy Month.
  3. uint8_t * : Address to copy Year.
Return Value none
Description This function is used to get the Date(d,m,y) from Ds1307 RTC.

Note: The date read from Ds1307 will be of BCD format,
like 0x15,0x08,0x47 for 15th day,8th month and 47th year.

Usage
  1. uint8_t hour,min,year;
  2. RTC_GetDate(&hour,&min&year); //Now the hour,min,year will have the Date in BCD format.

User Guide

  1. /*** Program to demonstrate the RTC library */
  2. #include "uart.h" //User defined UART library which contains the UART routines
  3. #include "rtc.h" //User defined library which contains the RTC(ds1307) routines
  4.  
  5.  
  6. void main()
  7. {
  8. unsigned char sec,min,hour,day,month,year;
  9.  
  10.  
  11. UART_Init(9600); /* Initialize the Uart */
  12. RTC_Init(); /* Initialize the RTC(ds1307)*/
  13.  
  14.  
  15. /******Set the time and Date only once*****/
  16. RTC_SetTime(0x10,0x40,0x20); // 10:40:20 am
  17. RTC_SetDate(0x01,0x12,0x12); // 1st Dec 2012
  18.  
  19.  
  20. while(1)
  21. {
  22. RTC_GetDate(&day,&month,&year); /* Read the Date from RTC(ds1307) */
  23. RTC_GetTime(&hour,&min,&sec); /* Read the Time from RTC(ds1307) */
  24.  
  25. UART_Printf("\n\rDate:%x/%x/%x Time:%x:%x:%x",day,month,year,hour,min,sec);
  26. }
  27. }