Below is my sample code cut pasted for your reference
#include "stdio.h"
#include "LPC17xx.h"
#include "stdint.h"
#include "stddef.h"
//PIN Definition and register configuration
#define PORT2DIR LPC_GPIO2 -> FIODIR0
#define PIN2_10DIR LPC_GPIO2 -> FIODIR2
unsigned int gpr0=0,gpr1=0,
#define P2_10 LPC_GPIO2 -> FIOPIN1 // Pin2_10 for RTC init value config
unsigned int gpr0=0,gpr1=0,hr,yer,mn,sec,yr,mth,x=10 ;
unsigned char second,minut,hour,yearL,yearH,day,month
void RTC_IRQHandler(void)
{
LPC_RTC->GPREG0 = 0 ;
LPC_RTC->GPREG1 = 0 ;
second= LPC_RTC -> CTIME0 & 0x0000003F;
gpr0 = second ; //store Second value GPR0
mn = LPC_RTC -> CTIME0 & 0x00003F00;
gpr0 = gpr0 | mn ; //store Minut value GPR0
hr = LPC_RTC -> CTIME0 & 0x001F0000;
gpr0= gpr0 | hr ; //store hour value GPR0
LPC_RTC->GPREG0 = gpr0;
day = LPC_RTC -> CTIME1 & 0x0000001F;
gpr1 = day ; //store day value GPR1
mth = LPC_RTC -> CTIME1 & 0x00000F00;
gpr1 = gpr1 | mth ; //store month value GPR1
yr = LPC_RTC -> CTIME1 & 0x0FFF0000;
gpr1 = gpr1 | yr ; //store year value GPR1
LPC_RTC->GPREG1 = gpr1;
LPC_RTC-> ILR = (1<<1)|(1<<0);
}
void init_RTC()
{
//RTC Configuration
LPC_RTC->ILR = (1<<1)|(1<<0);
LPC_RTC ->CCR = (0<<3)|(0<<2)|(1<<1)|(0<<0); // for normal RTC operation
if((P2_10 &0x04) ==0x00) ///check PIN 2_10 low for wirting //initial RTC value
{
LPC_RTC ->SEC = 0x00;
LPC_RTC ->MIN = 0x00;
LPC_RTC ->HOUR =0x10;
LPC_RTC ->DOM = 0x01;
LPC_RTC ->DOY = 0x12C;
LPC_RTC ->MONTH = 0x0B;
LPC_RTC->YEAR = 0x7E2;
LPC_RTC ->CIIR =(0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(0<<1)|(0<<0);
}
else // Else restore old RTC values //stored in GPR of rtc
{
second= LPC_RTC ->SEC ;
minut = LPC_RTC ->MIN;
hour= LPC_RTC ->HOUR;
day= LPC_RTC ->DOM ;
gpr0 = LPC_RTC->GPREG0;
gpr1 = LPC_RTC->GPREG1;
second= gpr0 & 0x0000003F;
mn = gpr0 & 0x00003F00;
minut = (mn>>8);
hr = gpr0 & 0x001F0000;
hour = (hr >>16);
day = gpr1 & 0x0000001F;
mth = gpr1 & 0x00000F00;
month = (mth >> 8);
yr = gpr1 & 0x0FFF0000;
yer = yr>>16;
switch (second)
{ case 0x00: LPC_RTC ->SEC = 0x00;break; /// Write old value to ///RTC
case 0x01: LPC_RTC ->SEC = 0x01;break;
case 0x02: LPC_RTC ->SEC = 0x02; break;
case 0x03:LPC_RTC ->SEC = 0x03;break;
case 0x04: LPC_RTC ->SEC =0x04; break;
case 0x05:LPC_RTC ->SEC = 0x05;break;
case 0x06:LPC_RTC ->SEC = 0x06;break;
case 0x07: LPC_RTC ->SEC = 0x07;break;
case 0x08: LPC_RTC ->SEC = 0x08;break;
case 0x09: LPC_RTC ->SEC = 0x09;break;
case 0x0a: LPC_RTC ->SEC = 0x0a;break;
case 0x0b:LPC_RTC ->SEC = 0x0b;break;
case 0x0c:LPC_RTC ->SEC = 0x0c;break;
case 0x0d:LPC_RTC ->SEC = 0x0d;break;
case 0x0e: LPC_RTC ->SEC = 0x0e;break;
case 0x0f: LPC_RTC ->SEC = 0x0f;break;
case 0x10: LPC_RTC ->SEC = 0x10;break;
case 0x11: LPC_RTC ->SEC = 0x11;break;
case 0x12: LPC_RTC ->SEC = 0x12; break;
case 0x13:LPC_RTC ->SEC = 0x13;break;
case 0x14: LPC_RTC ->SEC =0x14; break;
case 0x15:LPC_RTC ->SEC = 0x15;break;
case 0x16:LPC_RTC ->SEC = 0x16;break;
case 0x17: LPC_RTC ->SEC = 0x17;break;
case 0x18: LPC_RTC ->SEC = 0x18;break;
case 0x19: LPC_RTC ->SEC = 0x19;break;
case 0x1a: LPC_RTC ->SEC = 0x1a;break;
case 0x1b:LPC_RTC ->SEC = 0x1b;break;
case 0x1c:LPC_RTC ->SEC = 0x1c;break;
case 0x1d:LPC_RTC ->SEC = 0x1d;break;
case 0x1e: LPC_RTC ->SEC = 0x1e;break;
case 0x1f: LPC_RTC ->SEC = 0x1f;break;
case 0x20: LPC_RTC ->SEC = 0x20;break;
case 0x21: LPC_RTC ->SEC = 0x21;break;
case 0x22: LPC_RTC ->SEC = 0x22; break;
case 0x23:LPC_RTC ->SEC = 0x23;break;
case 0x24: LPC_RTC ->SEC =0x24; break;
case 0x25:LPC_RTC ->SEC = 0x25;break;
case 0x26:LPC_RTC ->SEC = 0x26;break;
case 0x27: LPC_RTC ->SEC = 0x27;break;
case 0x28: LPC_RTC ->SEC = 0x28;break;
case 0x29: LPC_RTC ->SEC = 0x29;break;
case 0x2a: LPC_RTC ->SEC = 0x2a;break;
case 0x2b:LPC_RTC ->SEC = 0x2b;break;
case 0x2c:LPC_RTC ->SEC = 0x2c;break;
case 0x2d:LPC_RTC ->SEC = 0x2d;break;
case 0x2e: LPC_RTC ->SEC = 0x2e;break;
case 0x2f: LPC_RTC ->SEC = 0x2f;break;
case 0x30: LPC_RTC ->SEC = 0x30;break;
case 0x31: LPC_RTC ->SEC = 0x31;break;
case 0x32: LPC_RTC ->SEC = 0x32; break;
case 0x33:LPC_RTC ->SEC = 0x33;break;
case 0x34: LPC_RTC ->SEC =0x34; break;
case 0x35:LPC_RTC ->SEC = 0x35;break;
case 0x36:LPC_RTC ->SEC = 0x36;break;
case 0x37: LPC_RTC ->SEC = 0x37;break;
case 0x38: LPC_RTC ->SEC = 0x38;break;
case 0x39: LPC_RTC ->SEC = 0x39;break;
case 0x3a: LPC_RTC ->SEC = 0x3a;break;
case 0x3b:LPC_RTC ->SEC = 0x3b;break;
}
switch (minut)
{ case 0x00: LPC_RTC ->MIN = 0x00;break;
case 0x01: LPC_RTC ->MIN = 0x01;break;
case 0x02: LPC_RTC ->MIN = 0x02; break;
case 0x03:LPC_RTC ->MIN = 0x03;break;
case 0x04: LPC_RTC ->MIN =0x04; break;
case 0x05:LPC_RTC ->MIN = 0x05;break;
case 0x06:LPC_RTC ->MIN = 0x06;break;
case 0x07: LPC_RTC ->MIN = 0x07;break;
case 0x08: LPC_RTC ->MIN = 0x08;break;
case 0x09: LPC_RTC ->MIN = 0x09;break;
case 0x0a: LPC_RTC ->MIN = 0x0a;break;
case 0x0b:LPC_RTC ->MIN = 0x0b;break;
case 0x0c:LPC_RTC ->MIN = 0x0c;break;
case 0x0d:LPC_RTC ->MIN = 0x0d;break;
case 0x0e: LPC_RTC ->MIN = 0x0e;break;
case 0x0f: LPC_RTC ->MIN = 0x0f;break;
case 0x10: LPC_RTC ->MIN = 0x10;break;
case 0x11: LPC_RTC ->MIN = 0x11;break;
case 0x12: LPC_RTC ->MIN = 0x12; break;
case 0x13:LPC_RTC ->MIN = 0x13;break;
case 0x14: LPC_RTC ->MIN =0x14; break;
case 0x15:LPC_RTC ->MIN = 0x15;break;
case 0x16:LPC_RTC ->MIN = 0x16;break;
case 0x17: LPC_RTC ->MIN = 0x17;break;
case 0x18: LPC_RTC ->MIN = 0x18;break;
case 0x19: LPC_RTC ->MIN = 0x19;break;
case 0x1a: LPC_RTC ->MIN = 0x1a;break;
case 0x1b:LPC_RTC ->MIN = 0x1b;break;
case 0x1c:LPC_RTC ->MIN = 0x1c;break;
case 0x1d:LPC_RTC ->MIN = 0x1d;break;
case 0x1e: LPC_RTC ->MIN = 0x1e;break;
case 0x1f: LPC_RTC ->MIN = 0x1f;break;
case 0x20: LPC_RTC ->MIN = 0x20;break;
case 0x21: LPC_RTC ->MIN = 0x21;break;
case 0x22: LPC_RTC ->MIN = 0x22; break;
case 0x23:LPC_RTC ->MIN = 0x23;break;
case 0x24: LPC_RTC ->MIN =0x24; break;
case 0x25:LPC_RTC ->MIN = 0x25;break;
case 0x26:LPC_RTC ->MIN = 0x26;break;
case 0x27: LPC_RTC ->MIN = 0x27;break;
case 0x28: LPC_RTC ->MIN = 0x28;break;
case 0x29: LPC_RTC ->MIN = 0x29;break;
case 0x2a: LPC_RTC ->MIN = 0x2a;break;
case 0x2b:LPC_RTC ->MIN = 0x2b;break;
case 0x2c:LPC_RTC ->MIN = 0x2c;break;
case 0x2d:LPC_RTC ->MIN = 0x2d;break;
case 0x2e: LPC_RTC ->MIN = 0x2e;break;
case 0x2f: LPC_RTC ->MIN = 0x2f;break;
case 0x30: LPC_RTC ->MIN = 0x30;break;
case 0x31: LPC_RTC ->MIN = 0x31;break;
case 0x32: LPC_RTC ->MIN = 0x32; break;
case 0x33:LPC_RTC ->MIN = 0x33;break;
case 0x34: LPC_RTC ->MIN =0x34; break;
case 0x35:LPC_RTC ->MIN = 0x35;break;
case 0x36:LPC_RTC ->MIN = 0x36;break;
case 0x37: LPC_RTC ->MIN = 0x37;break;
case 0x38: LPC_RTC ->MIN = 0x38;break;
case 0x39: LPC_RTC ->MIN = 0x39;break;
case 0x3a: LPC_RTC ->MIN = 0x3a;break;
case 0x3b:LPC_RTC ->MIN = 0x3b;break;
}
switch (hour)
{ case 0x00: LPC_RTC ->HOUR = 0x00;break;
case 0x01: LPC_RTC ->HOUR = 0x01;break;
case 0x02: LPC_RTC ->HOUR = 0x02; break;
case 0x03:LPC_RTC ->HOUR = 0x03;break;
case 0x04: LPC_RTC ->HOUR =0x04; break;
case 0x05:LPC_RTC ->HOUR = 0x05;break;
case 0x06:LPC_RTC ->HOUR = 0x06;break;
case 0x07: LPC_RTC ->HOUR = 0x07;break;
case 0x08: LPC_RTC ->HOUR = 0x08;break;
case 0x09: LPC_RTC ->HOUR = 0x09;break;
case 0x0a: LPC_RTC ->HOUR = 0x0a;break;
case 0x0b:LPC_RTC ->HOUR = 0x0b;break;
case 0x0c:LPC_RTC ->HOUR = 0x0c;break;
case 0x0d:LPC_RTC ->HOUR = 0x0d;break;
case 0x0e: LPC_RTC ->HOUR = 0x0e;break;
case 0x0f: LPC_RTC ->HOUR = 0x0f;break;
case 0x10: LPC_RTC ->HOUR = 0x10;break;
case 0x11: LPC_RTC ->HOUR = 0x11;break;
case 0x12: LPC_RTC ->HOUR = 0x12; break;
case 0x13:LPC_RTC ->HOUR = 0x13;break;
case 0x14: LPC_RTC ->HOUR =0x14; break;
case 0x15:LPC_RTC ->HOUR = 0x15;break;
case 0x16:LPC_RTC ->HOUR = 0x16;break;
case 0x17: LPC_RTC ->HOUR = 0x17;break;
case 0x18: LPC_RTC ->HOUR = 0x18;break;
}
switch (day)
{ case 0x00: LPC_RTC ->DOM = 0x00;break;
case 0x01: LPC_RTC ->DOM = 0x01;break;
case 0x02: LPC_RTC ->DOM = 0x02; break;
case 0x03:LPC_RTC ->DOM = 0x03;break;
case 0x04: LPC_RTC ->DOM =0x04; break;
case 0x05:LPC_RTC ->DOM = 0x05;break;
case 0x06:LPC_RTC ->DOM = 0x06;break;
case 0x07: LPC_RTC ->DOM = 0x07;break;
case 0x08: LPC_RTC ->DOM = 0x08;break;
case 0x09: LPC_RTC ->DOM = 0x09;break;
case 0x0a: LPC_RTC ->DOM = 0x0a;break;
case 0x0b:LPC_RTC ->DOM = 0x0b;break;
case 0x0c:LPC_RTC ->DOM = 0x0c;break;
case 0x0d:LPC_RTC ->DOM = 0x0d;break;
case 0x0e: LPC_RTC ->DOM = 0x0e;break;
case 0x0f: LPC_RTC ->DOM = 0x0f;break;
case 0x10: LPC_RTC ->DOM = 0x10;break;
case 0x11: LPC_RTC ->DOM = 0x11;break;
case 0x12: LPC_RTC ->DOM = 0x12; break;
case 0x13:LPC_RTC ->DOM = 0x13;break;
case 0x14: LPC_RTC ->DOM =0x14; break;
case 0x15:LPC_RTC ->DOM = 0x15;break;
case 0x16:LPC_RTC ->DOM = 0x16;break;
case 0x17: LPC_RTC ->DOM = 0x17;break;
case 0x18: LPC_RTC ->DOM = 0x18;break;
case 0x19: LPC_RTC ->DOM = 0x19;break;
case 0x1a: LPC_RTC ->DOM = 0x1a;break;
case 0x1b:LPC_RTC ->DOM = 0x1b;break;
case 0x1c:LPC_RTC ->DOM = 0x1c;break;
case 0x1d:LPC_RTC ->DOM = 0x1d;break;
case 0x1e: LPC_RTC ->DOM = 0x1e;break;
case 0x1f: LPC_RTC ->DOM = 0x1f;break;
}
switch (month)
{ case 0x00: LPC_RTC ->MONTH = 0x00;break;
case 0x01: LPC_RTC ->MONTH = 0x01;break;
case 0x02: LPC_RTC ->MONTH = 0x02; break;
case 0x03:LPC_RTC ->MONTH = 0x03;break;
case 0x04: LPC_RTC ->MONTH =0x04; break;
case 0x05:LPC_RTC ->MONTH = 0x05;break;
case 0x06:LPC_RTC ->MONTH = 0x06;break;
case 0x07: LPC_RTC ->MONTH = 0x07;break;
case 0x08: LPC_RTC ->MONTH = 0x08;break;
case 0x09: LPC_RTC ->MONTH = 0x09;break;
case 0x0a: LPC_RTC ->MONTH = 0x0a;break;
case 0x0b:LPC_RTC ->MONTH = 0x0b;break;
case 0x0c:LPC_RTC ->MONTH = 0x0c;break;
}
switch (yer)
{ case 0x7E0: LPC_RTC ->YEAR = 0x7E0;break;
case 0x7E1: LPC_RTC ->YEAR = 0x7E1;break;
case 0x7E2: LPC_RTC ->YEAR = 0x7E2; break;
case 0x7E3:LPC_RTC ->YEAR = 0x7E3;break;
case 0x7E4: LPC_RTC ->YEAR =0x7E4; break;
case 0x7E5:LPC_RTC ->YEAR = 0x7E5;break;
case 0x7E6:LPC_RTC ->YEAR = 0x7E6;break;
case 0x7E7: LPC_RTC ->YEAR = 0x7E7;break;
case 0x7E8: LPC_RTC ->YEAR = 0x7E8;break;
case 0x7E9: LPC_RTC ->YEAR = 0x7E9;break;
case 0x7Ea: LPC_RTC ->YEAR = 0x7Ea;break;
case 0x7Eb:LPC_RTC ->YEAR = 0x7Eb;break;
case 0x7Ec:LPC_RTC ->YEAR = 0x7Ec;break;
}
LPC_RTC ->CIIR =(0<<7)|(0<<6)|(0<<5)|(0<<4)|(0<<3)|(0<<2)|(0<<1)|(0<<0);
}
LPC_RTC ->CCR = (0<<3)|(0<<2)|(0<<1)|(1<<0);
}
int main(void)
{
SystemCoreClockUpdate(); //Initialize core clocks og LPC1768
SystemInit();
P0_0_dir = 0xff; // set display port
P0_1_dir = 0xff;
LPC_PINCON->PINSEL4 = (0<<21)|(0<20); //Pin2.10 as RTC set
LPC_PINCON->PINMODE4 = (0<<21)|(0<20);
/// configuration
LPC_SC ->PCONP = (1<<15)|(1<<12)|(1<<9)|(1<<4); // Enable,RTC,GPIO // power control bits
LPC_PINCON ->PINSEL1 = (1<<20)|(1<<18)|(1<<16)|(1<<14) ;//0x00014000; Sel ADC0 chanel1 Pin AD0.1
LPC_PINCON ->PINMODE1 = (0<<20)|(0<<21)|(0<<19)|(0<<18)|(1<<17)|(1<<15)|(1<<14); //neither pullup nor pulldown
PORT2DIR =0x40;
PIN2_10DIR = 0x00;
init_RTC();
NVIC_EnableIRQ(RTC_IRQn);
LED =0x40;
delay();
delay();
LED=0x00;
delay();
delay();
)