Commander un LCD par PIC16F84a
Répondre à la discussion
Affichage des résultats 1 à 16 sur 16

Commander un LCD par PIC16F84a



  1. #1
    Gus2108

    Commander un LCD par PIC16F84a


    ------

    Bonjour à tous,

    Dans le cadre d'un projet scolaire, j'aimerais commander un afficheur LCD avec mon PIC16f84a
    L'afficheur est de type HD44780
    Dans un premier temps j'aimerais simplement afficher un message du style "Salut !" avec un BP
    Est ce que quelqu'un pourrait m'expliquer comment faire afficher un caractère sur le LCD ??

    A noter, je programme en assembleur, en utilisant le programme MPLAB

    D'avance merci !

    -----

  2. #2
    vincent66

    Re : Commander un LCD par PIC16F84a

    Bonjour et bienvenue sur futura !
    Dans la doc de l'afficheur tu trouveras une description de ses registres internes et comment les utiliser...

    Vincent
    Leonardo était ingénieur "sans papier", et moi diplômé juste...technicien...

  3. #3
    Gus2108

    Re : Commander un LCD par PIC16F84a

    Bonsoir Vincent,

    Merci pour votre réponse, j'ai déjà lu la datasheet de mon afficheur mais pourtant je n'en sors pas
    Ce que je voudrais savoir c'est ce qu'il faut ajouter dans mon code pour savoir afficher une lettre sur le LCD
    Fichiers attachés Fichiers attachés

  4. #4
    Biname

    Re : Commander un LCD par PIC16F84a

    Les compilateurs simplifient beaucoup cela !
    Une fois quelques configurations faites

    Print "Salut"

    GCBASIC est gratuit

    http://gcbasic.sourceforge.net/help/ voir sous LCD ...

  5. A voir en vidéo sur Futura
  6. #5
    grosmatou75001

    Re : Commander un LCD par PIC16F84a

    Un LCD sur un PIC16 en ASM c'est quand même du ultra-classique, je suis sûr qu'on trouve pleins de choses sur le net!

    C'est mon impression ou les gens ne savent plus se servir d'un moteur de recherche?

  7. #6
    Gus2108

    Re : Commander un LCD par PIC16F84a

    A croire que les jeunes d aujourd hui sont devenu complèment ignorant
    Je te ferais le plaisir de chercher une heure de plus encore demain ...

  8. #7
    gedonet

    Re : Commander un LCD par PIC16F84a

    Citation Envoyé par Gus2108 Voir le message
    A croire que les jeunes d aujourd hui sont devenu complèment ignorant
    Je te ferais le plaisir de chercher une heure de plus encore demain ...
    Bonjour

    Il n'y a pas d'interret à chercher une heure , quelques secondes avec la bonne question suffisent.
    Personellement, je te conseille une visite à la bible francophone des pics en assembleur, Bigonoff, tu y trouveras plusieurs routines LCD.

    Gilles

  9. #8
    abracadabra75

    Re : Commander un LCD par PIC16F84a

    Citation Envoyé par Gus2108 Voir le message
    Dans le cadre d'un projet scolaire....
    Bonjour.
    Ici, nous ne faisons pas les devoirs à la place des élèves: nous les AIDONS.

    Commence par nous montrer ce que tu as fait. Et nous te dirons s'il y a quelque chose qui ne va pas.
    Regarde ce document:
    http://www.aurel32.net/elec/lcd.php
    tout y est parfaitement expliqué (personnellement, c'est celui que je trouve le plus clair).
    Bon courage.
    A+
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  10. #9
    Gus2108

    Re : Commander un LCD par PIC16F84a

    Bonsoir à tous,

    J'ai finalement réussi à programmer cet afficheur
    J'ai cherché une méthode pour faire défiler mon texte, elle existe dans la config mais ce que j'aurais aimé c'est savoir décaler mon texte d'un caractère tous les x msec
    Est ce que quelqu'un saurait comment faire cela ??

    En pièce jointe : le template de ma progra
    Fichiers attachés Fichiers attachés

  11. #10
    abracadabra75

    Re : Commander un LCD par PIC16F84a

    Bravo!
    Pour faire défiler le texte, il suffit de faire une boucle en changeant l'adresse de début d'affichage à chaque passage (avec une temporisation de ralentissement).
    Il y a une commande spécifique pour cela.
    Dernière modification par abracadabra75 ; 05/11/2013 à 17h57.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  12. #11
    Gus2108

    Re : Commander un LCD par PIC16F84a

    Merci Abracadabra !!

    J'ai pensé faire une boucle avec en entrée de la boucle un compteur qui s'incrémente à chaque passage
    Ainsi j'aurais pu récupérer la valeur de ce compteur et la mettre à la place du '0' dans ma ligne : LCD_l0 D'0'
    Mais apparemment on doit mettre une valeur décimale ou binaire
    Savez vous comment je pourrais palier à cela ??

  13. #12
    grosmatou75001

    Re : Commander un LCD par PIC16F84a

    Pas sûr d'avoir compris le problème (autant que je ne parle pas le PIC), mais le décimal, le binaire, le hexadécimal etc ne sont que différentes représentations pour un même nombre! Que tu écrives 0b1000001 ou 0x41 ou 65 c'est exactement la même chose. Ca existe juste pour le confort utilisateur, parfois l'un est plus clair ou pratique que l'autre, mais pour l'assembleur (le programme) c'est tout pareil!

    Attention cependant à ne pas confondre le 0 (zéro) avec le '0' (le code ASCII de la lettre zéro = 48)...

  14. #13
    Gus2108

    Re : Commander un LCD par PIC16F84a

    J ai compris ce que tu veux dire grosmatou, mais finalement j ai resolu ce probleme
    Par contre maintenant je fais defiler mais le soucis c est que le premier caractere ne s efface pas ...
    En gros apres 3 passages de boucle il s affiche : bbbonjour
    Je vais y arriver un jour a faire ce que je veux au top !

  15. #14
    abracadabra75

    Re : Commander un LCD par PIC16F84a

    Avant le changement d'adresse d'affichage, tu fais un effacement total de ton afficheur.
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  16. #15
    Gus2108

    Re : Commander un LCD par PIC16F84a

    J'ai testé cela abracadabra via l'utilisation de la méthode prédéfinie par le lcd
    Sauf qu'une fois que j'utilise cette fonction, plus rien ne s'affiche même si je mets une tempo de 5sec entre l'écriture et le 'clear' du display
    Je sais pas comment ca se fait

  17. #16
    abracadabra75

    Re : Commander un LCD par PIC16F84a

    Citation Envoyé par Gus2108 Voir le message
    plus rien ne s'affiche même si je mets une tempo de 5sec entre l'écriture et le 'clear' du display
    Je sais pas comment ca se fait
    Sûr que si tu fais dans cet ordre, rien ne s'affiche

    Comment ça se fait? Ta procédure est erronée, tout simplement.
    Il faut exécuter les instructions de gestion de l'afficheur comme indiqué dans la documentation.
    Et pas besoin de 5 secondes d'attente: le document t'indique 450ns, alors 1ms est amplement suffisante
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

Discussions similaires

  1. Lcd + pic16f84a
    Par lukis54 dans le forum Électronique
    Réponses: 13
    Dernier message: 13/06/2013, 21h54
  2. influence CEM sur le PIC16f84a
    Par invitea3e85c3f dans le forum Électronique
    Réponses: 13
    Dernier message: 09/05/2010, 13h38
  3. PIC16f84a
    Par clinon dans le forum Électronique
    Réponses: 33
    Dernier message: 06/08/2007, 02h31
  4. pic16f84A
    Par invitea711403b dans le forum Électronique
    Réponses: 5
    Dernier message: 06/02/2007, 19h22
  5. programme pic16F84A
    Par invite2d9e7c03 dans le forum Électronique
    Réponses: 0
    Dernier message: 26/03/2006, 11h14
Découvrez nos comparatifs produits sur l'informatique et les technologies.