If it's running in proteus. I think programming side it is good.
1. Check your hardware connections are quite good?
2. Another possibility could be, in proteus you don't have to connect external crystal. It works good in proteus, without using crystal.
If you are using external crystal, make sure your crystal works good and connected properly. This is the common problem when all hardware connections are good.
3. Adjust the contrast of the LCD. This is also common possibility.
Best wishes