Looking at your schematic, there are several areas that do not match with PR12's circuit.
1. The crystal oscillator of PR12 is 20MHz, you are using 4 MHz. So the timing based applications, for example the clock speed of I2C, delay, UART's baudrate will be different if you are using the sample source code of PR12.
2. As pointed out by Brian, the I2C line should be pullup, PR12 is using 10K resistor, you can use 2.2K for standard I2C speed, 1K to 10K should be fine.
3. DS1307, there is no power connected to it, PR12 show pin 8 of DS1307 is connected to 5V (VCC), but your circuit does not show pin 8. Furthermore, you connect the 3V cell battery, but where is the negative of the battery connect to? The gnd should be common (connected together) for voltage reference and current to flow.
My advise is to modify the code just to blink LED. Make the circuit on your breadboard as simple as possible, by having the basic components, and a LED. make sure the code that you modify works with your basic circuit, which is to blink LED. Next step is to add the LCD, modify your code to display a simple character to ensure the connection is correct and finally add in the DS1307.
Again, a picture showing your real hardware is good. As you can see, circuit can be very tidy, but when it comes to real hardware many things can go wrong.