1) upload your code/pseudocode and schematics and we might be able to see the problem.(I wont promise anything)
2) break your problem into pieces. remember divide and conquer? knowing what you are trying to do is the key. you said the program is not working, but what is not working? usart communication? unresponsive gsm modem? lcd not displaying? inverted max232 output? crazy output?
3)after you have identified the problem look into them one by one. For example:
if you suspect its with eusart->check with hyperterminal, if you transmit a test string, was it displayed on the terminal? check your baud rate
if you suspect its with gsm-> test with some command e.g AT?, does it return OK, check your modem operational baud rate
if you suspect its with lcd-> check if you can display any test string.
Disable all the other functions, and test just one function at a time to see if its working. Don’t expect anyone to give codes to you straight away. this is a forum for engineers, future engineers and hobbyist. Think like an engineer. we gather here to work on problems. Don’t just say you have problems. Identify the problems and tell us what it is
Have a nice day