Tes paramètres d'initialisation du LCD sont bons.

La raison est certainement qu'ils ne parviennent pas jusqu'à l'écran.

Je ne sais pas ce que c'est comme livre d'exemple, mais ils ont une facon affreuse d'écrire du C.
Va voir CE POST , j'ai mis en pièce jointe des fonctions pour LCD qui fonctionnent.

C'est pour du 8 bits donc il te faudra adapter un poil. Mais ca marche.