IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MPLAB Discussion :

Programmation écran LCD avec PIC


Sujet :

MPLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 104
    Points : 30
    Points
    30
    Par défaut Programmation écran LCD avec PIC
    Bonjour à tous et bonne année,

    Pour l'un de mes projets, je souhaiterai piloter un écran LCD (LM016L) avec un PIC16F1619. Je ne suis pas expert en la matière donc je viens vers vous.
    Je souhaiterai afficher un message selon une mesure de tension récupérée par capteur (ce n'est pas mon projet mais par exemple afficher la température sur l'écran selon une mesure faite par capteur).

    Est-ce qu'il est possible de piloter cet écran LCD directement avec un PIC16F1619 ? Parce qu'après quelques recherches sur internet, beaucoup semblent dire qu'il faut ajouter un module intermédiaire ou utiliser un PIC de la famille 18F.

    Merci pour vos conseils et bonne journée.

  2. #2
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Salut,
    Je ne vois pas de problème pour piloter cet afficheur avec un PIC16F1619, il a assez de broche et d'autant plus qu'on peut passer en mode 4 bits pour commander l'afficheur (avec Enabled, R/S et R/W ça fait 7 ou 8 entrées sorties, avec le backlight, à solliciter sur le PIC)

    Je ne vois aucune raison de passer sur un PIC18F.

    Tu as commencer quelque chose ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 50
    Points
    50
    Par défaut Librairie LCD 2x16 configurable broche par broche pour PIC16F18875
    Salut,

    Ci-joint une librairie pour piloter un module LCD 2 lignes de 16 caractères pour le PIC16F18875 (broche à broche compatible avec les PIC16F877A et PIC16F887).
    Elle est compatible avec tous les modules qui utilisent des controleurs LCD de type HD44780, ST7066U,....
    Le TRES GROS avantage de cette librairie que j'ai adaptée au PIC16F18875 c'est que chaque broche peut être définie individuellement y compris les broches du bus de donnée 4bits !!!
    Les délais entre les commandes sont aussi paramétrables
    Ce projet étant développé en utilisant MCC (générateur graphique de code), il est nécessaire d'utiliser un PIC assez récent (moins de 7 ans).
    Il a été testé sur la carte PICDEM 2 Plus (version noire)
    Le module LCD sur la carte PICDEM2+ est un module Ocular OM16214 qui utilise le controleur LCD SPLC782A (compatible avec le HD44780).
    Le projet exécute également des PRINTF sur la liaison UART qui est connectée au PC (terminal Tera term)
    Il a été testé sur les versions suivantes : MPLAB X v5.30, XC8 v2.10, plugin MCC v3.95.0

    a+
    Fichiers attachés Fichiers attachés

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 35
    Points : 50
    Points
    50
    Par défaut Librairie LCD 2x16 à 4x20 configurable broche par broche pour PIC18 (et PIC16)
    Bonjour,

    J'ai fait évoluer la librairie qui gère maintenant tous les modules LCD basés sur le contrôleur HD44780 ou ses dérivés (KS0066,...).
    La librairie est maintenant paramétrable pour les modules LCD de 2x16 (1602) à 4x20 (2004).
    J'ai testé cette librairie sur la carte HPC curiosity avec un module LCD externe 16x2 et 20x4 à 64MHz.
    Le projet utilise le générateur de code MCC (sauf pour la librarie LCD) et montre comment lire des entrées analogiques et les envoyer simultanément sur l'UART en utilisant PRINTF et aussi sur le module LCD.

    Voici aussi un lien très utile pour comprende la manière très bizarre dont les lignes sont organisées dans la mémoire du HD44780 : http://web.alfredstate.edu/faculty/w...ing_index.html

    a+
    Fichiers attachés Fichiers attachés

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Salut,
    Je vois que tu utilises le "busy flag"

    C'est une excellente chose, ta bibliothèque est forcément plus rapide que toutes les autres qui se sont contenter de faire une tempo logicielle.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Citation Envoyé par ohayo Voir le message
    Le projet utilise le générateur de code MCC (sauf pour la librarie LCD)
    Pourquoi ne pas utiliser les #define générés par MCC dans pin_manager.h ?

    Dans LCD_lib_HW_config.h :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
        #define	LCD_E		LCD_E_LAT
        #define	LCD_E_DIR	LCD_E_TRIS
        #define	LCD_RW		LCD_RW_LAT
        #define	LCD_RW_DIR	LCD_RW_TRIS
        #define	LCD_RS		LCD_RS_LAT
        #define	LCD_RS_DIR	LCD_RS_TRIS
     
        #define	LCD_D4_IN	LCD_D4_PORT
        #define	LCD_D5_IN	LCD_D5_PORT
        #define	LCD_D6_IN	LCD_D6_PORT
        #define	LCD_D7_IN	LCD_D7_PORT
        #define	LCD_D4_OUT	LCD_D4_LAT
        #define	LCD_D5_OUT	LCD_D5_LAT
        #define	LCD_D6_OUT	LCD_D6_LAT
        #define	LCD_D7_OUT	LCD_D7_LAT
        #define	LCD_D4_DIR	LCD_D4_TRIS
        #define	LCD_D5_DIR	LCD_D5_TRIS
        #define	LCD_D6_DIR	LCD_D6_TRIS
        #define	LCD_D7_DIR	LCD_D7_TRIS
    C'est quand même plus pratique pour l'utilisateur qui peut choisir n'importe quelle broche en s'assurant juste de les nommer correctement dans MCC.
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. Problème affichage sur écran lcd avec module RFID
    Par Rayjiin dans le forum Arduino
    Réponses: 24
    Dernier message: 28/04/2018, 18h42
  2. [Écran] Utiliser un écran LCD avec une console Wii ?
    Par kenjiendo dans le forum Périphériques
    Réponses: 0
    Dernier message: 31/10/2013, 18h59
  3. Saut de programme incompris avec PIC
    Par arzew dans le forum MPLAB
    Réponses: 1
    Dernier message: 24/05/2011, 14h50
  4. Réponses: 7
    Dernier message: 12/04/2010, 13h26
  5. Réponses: 3
    Dernier message: 02/05/2008, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo