Bonsoir,

utiliser un "delay" dans un code d'afficheur n'est pas très élégant et peu fiable, il vaut mieux surveiller le flag "busy" géré par le controleur de l'afficheur lui même.
Pour cela il faut se mettre en lecture (RW à 1) et faire un:

while(busy);

le "busy flag" consiste à surveiller le bit 7 (MSB du bus de données) et lorsqu'il passe à 0 c'est que la prochaine instruction peut être générée, le controleur (HD44780) ayant alors rendu la main.
Plus besoin de mettre des tempos incertaines qui ne seront peut-être plus valables d'un afficheur à l'autre.
@+