The LCD:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * ground to LCD VO pin (pin 3)

 Remote Reciever:
 *Middle pin to pin 6
 *Sides to 5V and ground


  1. /*
  2.  
  3.  The LCD:
  4.  * LCD RS pin to digital pin 12
  5.  * LCD Enable pin to digital pin 11
  6.  * LCD D4 pin to digital pin 5
  7.  * LCD D5 pin to digital pin 4
  8.  * LCD D6 pin to digital pin 3
  9.  * LCD D7 pin to digital pin 2
  10.  * LCD R/W pin to ground
  11.  * ground to LCD VO pin (pin 3)
  12.  
  13.  Remote Reciever:
  14.  *Middle pin to pin 6
  15.  *Sides to 5V and ground
  16.  
  17. */
  18.  
  19.  
  20. #include <LiquidCrystal.h>
  21. #include <IRremote.h>
  22.  
  23.  
  24. #define bPOW  0xFFA25D
  25. #define bMODE 0xFF629D
  26. #define bMUTE 0xFFE21D
  27. #define bPREV 0xFF22DD
  28. #define bNEXT 0xFF02FD
  29. #define bPLAY 0xFFC23D
  30. #define bMINUS 0xFFE01F
  31. #define bPLUS 0xFFA857
  32. #define bEQ 0xFF906F
  33. #define b0 0xFF6897
  34. #define b100+ 0xFF9867
  35. #define bRET 0xFFB04F
  36. #define b1 0xFF30CF
  37. #define b2 0xFF18E7
  38. #define b3 0xFFFFFF
  39. #define b4 0xFF10EF
  40. #define b5 0xFF38C7
  41. #define b6 0xFF5AA5
  42. #define b7 0xFF42BD
  43. #define b8 0xFF4AB5
  44. #define b9 0xFF52AD
  45.  
  46.  
  47. int RECV_PIN = 6;
  48. IRrecv irrecv(RECV_PIN);
  49. decode_results results;
  50.  
  51. int set = 0;
  52. int pass = 1;
  53.  
  54. // initialize the library with the numbers of the interface pins
  55. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
  56. volatile byte seconds =50;
  57. volatile byte minutes =59;
  58. volatile byte hours   =9;
  59.  
  60. void setup() {
  61.   // set up the LCD's number of columns and rows:
  62.   lcd.begin(16, 2);
  63.   irrecv.enableIRIn(); // Start the receiver
  64.   // Print a message to the LCD.
  65.   TCCR1A = 0;
  66.   TCCR1B = 0;
  67.   OCR1A = 15625;
  68.   TCCR1B |= (1 << WGM12);
  69.   TCCR1B |= (1 << CS10);
  70.   TCCR1B |= (1 << CS12);
  71.   TIMSK1 |= (1<< OCIE1A);
  72.   sei();
  73. }
  74.  
  75. void loop() {
  76.      //Clock Code
  77.      lcd.setCursor(0, 0);
  78.      if(hours<10){
  79.      lcd.print(" ");
  80.      }
  81.      lcd.print(hours,DEC);
  82.      lcd.setCursor(2, 0);
  83.      lcd.print(":");
  84.      lcd.setCursor(3, 0);
  85.      if(minutes<10){
  86.      lcd.print("0");
  87.      }
  88.      lcd.print(minutes,DEC);
  89.      lcd.setCursor(5, 0);
  90.      lcd.print(":");
  91.      lcd.setCursor(6, 0);
  92.      if(seconds<10){
  93.      lcd.print("0");
  94.      }
  95.      lcd.print(seconds,DEC);
  96.      lcd.setCursor(8, 0);
  97.      
  98.      //Remote Code
  99.      if (irrecv.decode(&results))
  100.      {                                    //Gets input
  101.        if (results.value == bMODE)
  102.        {                                  //if its the mode button
  103.            if(set == 0)
  104.            {
  105.              set = 1;                    //we are in set mode
  106.              irrecv.resume();            // Receive the next value
  107.            }
  108.            else if(set == 1)
  109.            {                            //if we are already set, un-set
  110.              set = 0;                    //not set anymore
  111.              irrecv.resume();            //recieve next value
  112.             }
  113.          }
  114.          
  115.          while(set == 1)
  116.          {                               //while we are setting
  117.             if(pass == 1)               //If we are in hour column
  118.             {
  119.              
  120.              
  121.              
  122.              
  123.            
  124.            
  125.            
  126.             }
  127.             if(pass == 2)              //if we are in minutes column
  128.             {
  129.            
  130.            
  131.            
  132.            
  133.            
  134.            
  135.            
  136.             }
  137.          }
  138.      }
  139. ISR (TIMER1_COMPA_vect){
  140.   if(seconds==59){
  141.     seconds=0;
  142.     minutes++;
  143.     if (minutes==60){
  144.       minutes=0;
  145.       hours++;
  146.     }
  147.     if (hours == 24)
  148.        hours = 0;
  149.   }
  150.   else
  151.   seconds++;
  152.  
  153. }


Learn More :