PIC 18F et LCD et librairie
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

PIC 18F et LCD et librairie



  1. #1
    invite60546543

    Question PIC 18F et LCD et librairie


    ------

    Bonjour à tous

    je suis en train de développer une petite carte avec un 18f4550.

    J'utilise mplab et mcc18 pour le soft.
    je simule le tout sous proteus sans soucis.

    Mon problème: impossible de faire marcher mon lcd 2*16 avec les librairie XLCD de mon compilateur (j'ai perdu 1 jour dessus , meme en copie/coller des samples du mcc18))

    ma question est simple: est ce qu'une âme charitable aurait déja fait un programme pour un lcd (4bits de données) , et si oui serait il possible de le partager parce que la je ne sais plus comment faire..

    je vous remercie.

    -----

  2. #2
    sdec25

    Re : PIC 18F et LCD et librairie

    Bonjour,
    Voici le programme que j'utilise sur un PIC18F2685 avec un LCD 16x2, qui gère les caractères ASCII standard + quelques caractères accentués (éèÉàÀêç).
    Attention c'est un programme en version bêta (bien que je l'utilise sans problème depuis plus d'un an), tu devras sans doute l'adapter à ton PIC (notamment au niveau des timings que j'ai pour la plupart désactivés car mon PIC ne tourne qu'à 8 Mhz). Idem au niveau des ports.

    Voici un exemple d'utilisation:
    Code:
    openLCD(); // initialise le LCD
    delai_ms(5);
    
    registerCaracLcd(); // enregistre les caractères accentués dans le LCD
    
    goto_line1();
    puts_LCD_rom("test");
    goto_carac(2, 0); // ligne 1, premier caractère
    write_LCD('x');
    clear_LCD(); // efface l'écran
    En debug, le programme permet de simuler l'écran avec 2 variables (1 pour chaque ligne).
    Fichiers attachés Fichiers attachés
    Dernière modification par sdec25 ; 11/01/2011 à 20h36.

  3. #3
    sdec25

    Re : PIC 18F et LCD et librairie

    Sinon, les liens qui m'ont permis de faire le programme pour gérer le LCD :
    http://www.aurel32.net/elec/lcd.php
    http://www.everbouquet.com.tw/Gener.htm

  4. #4
    invite60546543

    Re : PIC 18F et LCD et librairie

    merci bien!!

    je vais tester ca au plus vite!!

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

    Re : PIC 18F et LCD et librairie

    bonjour

    après adoption à mon 18f4550 port c pour data et port d0/d1/d2 pour le contrôle je n'arrive pas à compiler

    le compilateur s'arrête sur UINT8 x dans pas mal de fonctions.


    peut être qu'il manque le fichier "commun.h"?

    sinon auriez vous le projet mplab avec ?

    quel compilateur utilisez vous ?

    merci ,

  7. #6
    sdec25

    Re : PIC 18F et LCD et librairie

    J'utilise le compilateur C18 (mcc18).
    Voici ce qu'il manque (dans commun.h) :
    Code:
    #include <p18cxxx.h>
    #include <delays.h>
    #include <timers.h>
    #include <limits.h>
    
    /*
     * Définitions des types
     */
    typedef enum {
    	false = 0,
    	true = 1
    }
    bool;
    
    typedef unsigned char	UINT8;
    typedef unsigned char	BYTE;
    typedef signed char		INT8;
    typedef unsigned short	UINT16;
    typedef signed short	INT16;
    typedef unsigned short long	UINT24;
    typedef signed short long	INT24;
    typedef unsigned long	UINT32;
    typedef signed long		INT32;
    Sinon j'ai remarqué une petite erreur dans le code que je t'ai passé. Dans la fonction char convertAscii2Lcd(char x) :
    Code:
    	if (x>0x9F) { // && x<0xEA) {
    		#ifndef __DEBUG
    		x = corresp[x-0xA0];
    		#endif
    	}
    ne fonctionne pas car un char est considéré comme signed par défaut.
    Il faut remplacer par :
    Code:
    	if ((UINT8)x > 0x9F) { // && x<0xEA) {
    		#ifndef __DEBUG
    		UINT8 index = (UINT8)x-0xA0;
    		x = corresp[index];
    		#endif
    	}
    Pour le reste, il faut définir les délais en fonction de la fréquence du processeur et bien-sûr ne pas oublier de définir les bits de configuration de ton PIC (dans le projet MPLAB ou dans le code avec #pragma config)
    Dernière modification par sdec25 ; 12/01/2011 à 12h48.

  8. #7
    invite60546543

    Re : PIC 18F et LCD et librairie

    Bonjour

    alors j'ai compiler le programme....et jai une petite erreure qui apparait

    "could not find définition of symbol 'delai_100us'" (ainsi que delai_ms()..

    La fonction delai_100us n'est pas définie.... dans les routines..

    j'ai respecter votre code du main pour être sur qu'il n y a pas d'erreurs.

    Merci

  9. #8
    invite60546543

    Re : PIC 18F et LCD et librairie

    bonjour

    sinon auriez vous le projet mplab qui compile correctement ?

    merci

  10. #9
    sdec25

    Re : PIC 18F et LCD et librairie

    Citation Envoyé par TRAXXXX Voir le message
    sinon auriez vous le projet mplab qui compile correctement ?
    Je l'ai mais je ne peux pas te le donner tel quel et de toute façon ça ne t'aiderait pas : Il contient beaucoup de choses qui n'ont rien à voir avec ton problème, ou alors il y a du code que j'ai adapté spécialement pour mon PIC et qui n'est pas très propre, si je dois te le donner je devrais donc passer du temps à le remettre au propre, alors que ça ne te prendrait pas plus de 5 minutes de le compléter.
    Il manque la fonction delai_100us ? Il suffit de créer une tempo de 100µs, rien de plus simple.
    Idem pour les millisecondes.

Discussions similaires

  1. HELP Please... PIC 18f
    Par invite3ea6ff8a dans le forum Électronique
    Réponses: 6
    Dernier message: 27/07/2010, 19h25
  2. Pic 18F et afficheur lcd graphique 240 x 128
    Par invite60546543 dans le forum Électronique
    Réponses: 12
    Dernier message: 07/05/2010, 07h50
  3. comment passer des pic 16F au pic 18F ?
    Par MorpheusPic dans le forum Électronique
    Réponses: 5
    Dernier message: 13/08/2008, 22h04
  4. [PIC] : Recherche Librairie de gestion LCD Graphique 128x64
    Par jorg1n dans le forum Électronique
    Réponses: 2
    Dernier message: 04/06/2008, 09h47
  5. Controleur LCD SAMSUNG+PIC 18F
    Par jorg1n dans le forum Électronique
    Réponses: 2
    Dernier message: 01/10/2007, 08h00
Découvrez nos comparatifs produits sur l'informatique et les technologies.