Line 111: Line 111:
  
 
==User Guide==
 
==User Guide==
 +
<syntaxhighlight  lang = "c">
 +
/*** Program to demonstrate the  RTC library */
 +
#include "uart.h" //User defined UART library which contains the UART routines
 +
#include "rtc.h"    //User defined library which contains the RTC(ds1307) routines
 +
 +
 +
void main()
 +
{
 +
  unsigned char sec,min,hour,day,month,year;
 +
 +
 
 +
    UART_Init(9600); /* Initialize the Uart */ 
 +
    RTC_Init();      /* Initialize the RTC(ds1307)*/
 +
 +
 +
  /******Set the time and Date only once*****/
 +
  RTC_SetTime(0x10,0x40,0x20);  //  10:40:20 am
 +
  RTC_SetDate(0x01,0x12,0x12);  //  1st Dec 2012
 +
 +
   
 +
  while(1)
 +
    {
 +
        RTC_GetDate(&day,&month,&year);  /* Read the Date from RTC(ds1307) */   
 +
        RTC_GetTime(&hour,&min,&sec);    /* Read the Time from RTC(ds1307) */
 +
 +
        UART_Printf("\n\rDate:%x/%x/%x  Time:%x:%x:%x",day,month,year,hour,min,sec);
 +
}
 +
}
 +
</syntaxhighlight>

Revision as of 11:33, 10 January 2015

RTC

RTC_Init

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



RTC_SetTime

{{#Widget:LibTable}}
Defination
 void RTC_SetTime(uint8_t var_hour_u8, uint8_t var_min_u8, uint8_t var_sec_u8)
Input Arguments
uint8_t: Hour (0x00-0x23) BCD format
uint8_t: Minute (0x00-0x59) BCD format
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
RTC_SetTime(0x10,0x40,0x20); //All the arguments should be in BCD format



RTC_SetDate

{{#Widget:LibTable}}
Defination
 void RTC_SetDate(uint8_t var_day_u8, uint8_t var_month_u8, uint8_t var_year_u8)
Input Arguments
uint8_t: Day(0x01-0x31) BCD format
uint8_t: Month(0x01-12) BCD format
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
RTC_SetDate(0x15,0x08,0x47); //All arguments should be in BCD format.



RTC_GetTime

{{#Widget:LibTable}}
Defination
void RTC_GetTime(uint8_t *ptr_hour_u8,uint8_t *ptr_min_u8,uint8_t *ptr_sec_u8)
Input Arguments
uint8_t *: Address to copy Hour.
uint8_t *: Address to copy Minute.
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
 uint8_t hour,min,sec;
RTC_GetTime(&hour,&min&sec); //Now the hour,min,sec will have the time in BCD format.



RTC_GetDate

{{#Widget:LibTable}}
Defination
void RTC_GetDate(uint8_t *ptr_day_u8,uint8_t *ptr_month_u8,uint8_t *ptr_year_u8)
Input Arguments
uint8_t * : Address to copy Day.
uint8_t * : Address to copy Month.
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
 uint8_t hour,min,year;
RTC_GetDate(&hour,&min&year); //Now the hour,min,year will have the Date in BCD format.

User Guide

/*** Program to demonstrate the  RTC library */
#include "uart.h"	//User defined UART library which contains the UART routines
#include "rtc.h"    //User defined library which contains the RTC(ds1307) routines
 
 
void main() 
{
   unsigned char sec,min,hour,day,month,year;
 
 
    UART_Init(9600); /* Initialize the Uart */  
    RTC_Init();      /* Initialize the RTC(ds1307)*/
 
 
   /******Set the time and Date only once*****/
   RTC_SetTime(0x10,0x40,0x20);  //  10:40:20 am
   RTC_SetDate(0x01,0x12,0x12);  //  1st Dec 2012
 
 
   while(1)
    {
        RTC_GetDate(&day,&month,&year);  /* Read the Date from RTC(ds1307) */     
        RTC_GetTime(&hour,&min,&sec);    /* Read the Time from RTC(ds1307) */
 
        UART_Printf("\n\rDate:%x/%x/%x  Time:%x:%x:%x",day,month,year,hour,min,sec);
	}		
}