My code works smoothly fine on Proteus. It displays the right time on the LCD and the time increments. However, on the actual experiment, the LCD does not display the right time because it doesn't increment. The RTC.adjust doesn't work too. Is my RTC busted? What are the possible causes and solutions? Thanks.
You posted nothing about your RTC.
You posted nothing about your code.
Is my RTC busted?
Why do people assume that if they can't wire hardware up and program it correctly that it's the hardware's fault. It most likely is NOT.
What are the possible causes
User error somewhere.
Well, duh. Quit making the errors.
To be able to help, we really need to see the code you've written and tested. Click on the '#' mark above and copy your program code between the two code tags. Make sure your do a Ctrl-T in the Arduino IDE before you copy it so it uses standard C formatting. After that, post the code and we'll take a look at it.
As PaulS and econjack said, we really can't say anything without seeing your code.
My code works smoothly fine on Proteus.
I have no idea what Proteus is, but I'm assuming it is a micro controller. So if your code works fine on it and the time increments on it, the problem with Arduino could be that your RTC's time is incrementing, but that increment is not being shown on the LCD. Try using a different LCD. If it still does not work, we need to have a look at your code.
+1 to the others' comments
Showing your wiring connections is helpful as well.
Isolate the problem first: Try hooking up your RTC alone and making sure it works. There are a couple good tutorials here:
I have no idea what Proteus is, but I'm assuming it is a micro controller.
It's a simulator.
Simulators are fine, but you have to keep in mind that are a best an incomplete model of reality. All they can show is that your code works if and when the hardware works like the simulator expects it to, and that assumes the people who designed the simulator had good knowledge of the hardware.