Je m'exerce à faire fonctionner un afficheur dans le cadre de mes études.
J'utilise un pic 16f84a avec un afficheur GDM1602 (2x16char)dont le controleur est un S6A0069.
J'ai réussi à afficher en 8 bits (avec lecture du busy) sans problèmes.
Maintenant j'essaie en 4 bits:
Le texte à afficher est " Gestion d'un" (1ère ligne) et" afficheur"(2ème ligne).
Normalement, avant de lancer le texte, le curseur devrait clignoter à la 3ème case de la 1èrer ligne (voir pièce jointe)
et la ... problème!!:
le texte ne commence pas au bon endroit (à la mise sous tension): il affiche "tion d'un " (1ère ligne) et " afficheur" (2ème ligne)
de plus, lors d'un reset manuel (par interrupteur), la ligne supérieure devient plus sombre mais affiche encore le texte (avec position aléatoire du texte).
Je pense qu'il s'agit d'une mauvaise initialisation (mais ... laquelle)
Je ne trouve pas la datasheet du S6A0069 très explicite pour faire l'instruction "Function set" sur 4bits. (peut être vous trouverez une erreur à ce niveau dans mon code).
Je joint ci-dessous une partie de mon code pour vous éclairer.
PS: j'utilise un quartz de 4MHz et les tempos ont été calculées par logiciel (PicDelayCalculator)
Merci pour votre aide.
A+
-----