¿Cómo sabes que no hace nada?, a ver si va a ser que no tienes bien conectado el LCD. Revisa el contraste.
Yo pondría un led en algún pin y probaría a encenderlo dentro del bucle While, en una de las dos partes del IF, y a apagarlo en la otra. Si el led funciona tendrás que buscar problemas con el LCD, si el led no va, entonces hay que seguir investigando porqué no corre el programa.
Y otra cosa más, si no vas a usar el RS232 podrías quitarlo.