Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Librairie en C18 pour LCD



  1. #1
    Nappa

    Talking Librairie en C18 pour LCD


    ------

    salut,


    je cherche une librarie pour afficheur LCD (2x16), j'utilise le compilateur C18 de Microchip.


    je veux afficher des menus et plusieurs sous menus sur l'LCD, afficher aussi une barre de progression lorseque le PIC exécute une tâche dont que je veux visualiser la progression.


    Est ce qu'il y a une librairie déjà écrite pour ca ?




    d'avance, merci.

    -----

  2. Publicité
  3. #2
    Nappa

    Re : Librairie en C18 pour LCD

    resalut,


    j'ai trouvé une librairie (jointe), mais j'ai eu qcq erreurs lors de la compilation:

    Code:
    ----------------------------------------------------------------------
    Debug build of project `C:\Documents and Settings\***********\Bureau\project LCD simple_Canada\lcd.mcp' started.
    Preprocessor symbol `__DEBUG' is defined.
    Thu May 22 23:03:46 2008
    ----------------------------------------------------------------------
    Clean: Deleting intermediary and output files.
    Clean: Deleted file "C:\Documents and Settings\Bureau\project LCD simple_Canada\lcd.mcs".
    Clean: Done.
    Executing: "C:\Program Files\Microchip\MCC18\bin\mcc18.exe" -p=18F452 /i"C:\Program Files\Microchip\MCC18\h" "liblcd.c" -fo="liblcd.o" -D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
    Thread would not exit normally.
    Process would not exit normally.
    Could not read language tool output from pipe.  (0)
    A language-plugin exception occurred and was logged.
    ----------------------------------------------------------------------
    Debug build of project `C:\Documents and Settings\Bureau\project LCD simple_Canada\lcd.mcp' failed.
    Preprocessor symbol `__DEBUG' is defined.
    Thu May 22 23:04:06 2008
    ----------------------------------------------------------------------
    BUILD FAILED

    Est ce que qcq'un peut m'aider à les corriger ?

    j'ai aussi joint le projet.



    merci d'avance pour vos aides.
    Fichiers attachés Fichiers attachés
    Dernière modification par HULK28 ; 22/05/2008 à 22h30.

  4. #3
    Nappa

    Re : Librairie en C18 pour LCD

    bonjour,


    Est ce que vous pouvez m'aider ?



    merci.

  5. #4
    Nappa

    Re : Librairie en C18 pour LCD

    j'ai une question, est ce que la configuration du PIC

    Code:
    #pragma config OSC = HS
    #pragma config PWRT = ON
    #pragma config WDT = OFF
    #pragma config BOR = ON
    #pragma config BORV = 42
    #pragma config LVP = OFF
    peut être placé n'importe où dans le main() ?

  6. #5
    RISC

    Re : Librairie en C18 pour LCD

    Citation Envoyé par Nappa Voir le message
    j'ai une question, est ce que la configuration du PIC

    Code:
    #pragma config OSC = HS
    #pragma config PWRT = ON
    #pragma config WDT = OFF
    #pragma config BOR = ON
    #pragma config BORV = 42
    #pragma config LVP = OFF
    peut être placé n'importe où dans le main() ?
    Bonsoir,

    Ces déclarations doivent impérativement être en dehors du main. Généralement on les mets en tête du programme avec les définitions.

    a+

  7. A voir en vidéo sur Futura
  8. #6
    Nappa

    Thumbs up Re : Librairie en C18 pour LCD

    Citation Envoyé par RISC Voir le message
    Bonsoir,

    Ces déclarations doivent impérativement être en dehors du main. Généralement on les mets en tête du programme avec les définitions.

    a+
    Salut RISC ( ou plutôt notre grand spécialiste du soft de Microchip )

    Pardon je n'ai vu votre réponse que maintenant,


    Merci pour toutes vos précieuses aides sur ce forum et ailleurs !!



    On ne RISC rien avec RISC.

  9. Publicité
  10. #7
    Roswell1947

    Re : Librairie en C18 pour LCD

    Bonjour,

    j'ai retrouve ce post car je cherche a faire fonctionner un LCD 2x16 avec un 18f46k20. J'utilise C18 avec piklab.

    J'ai pris la librairie fournie dans ce post ainsi que le code du programme principal dont j'ai modifier l'entete, mais j'ai des erreurs lorsque je construit le projet.
    J'ai uniquement modifie le header .h pour correspondre a mon pic, ainsi que les bit de programmation (les 2 pragma config)

    main_lcd.c
    Code:
    //includes
    #include <p18f46k20.h> // for ports declarations
    #include <delays.h> // for delay routines
    #include <timers.h> //for interrupts
    #include "liblcd.c"
    
    //config du PIC
    #pragma config FOSC = INTIO67
    #pragma config WDTEN = OFF, LVP = OFF
    
    
    
    //variables
    char bonjour[] = " Bonjour ! ";
    //fonction principale du programme
    void main ()
    {
    //On d�sactive l'acquisition analogique
    ADCON1=6;
    //d�finitions des I/O
    TRIS_LCDdata = 0;
    TRIS_LCDenable = 0;
    TRIS_LCDrw = 0;
    TRIS_LCDrs = 0;
    initlcd();
    printstringlcd(bonjour);
    while(1)
    {
    }
    }
    Voici les erreurs lors de la construction
    Code:
    Todo: 3 
    Compilateur: /home/stephane/DemoBoard/Project/LCD_2-16/liblcd.c operation=0 
    Compilateur: /home/stephane/DemoBoard/Project/LCD_2-16/main_lcd.c operation=0 
    Éditeur de liens: /home/stephane/DemoBoard/Project/LCD_2-16/Ecran LCD.piklab operation=0 
    /opt/microchip/mplabc18/v3.40/bin/mcc18 -I/home/stephane/DemoBoard/Project/LCD_2-16/ -I/opt/microchip/mplabc18/v3.40/h/ -p 18f46k20 -fo=liblcd.o liblcd.c 
    liblcd.c:57: erreur : [1105] symbol 'PORTD' has not been defined 
    liblcd.c:57: erreur : [1101] lvalue required 
    liblcd.c:58: erreur : [1105] symbol 'PORTCbits' has not been defined 
    liblcd.c:58: erreur : [1151] struct or union object designator expected 
    liblcd.c:58: erreur : [1101] lvalue required 
    liblcd.c:59: erreur : [1105] symbol 'PORTCbits' has not been defined 
    liblcd.c:59: erreur : [1151] struct or union object designator expected 
    liblcd.c:59: erreur : [1101] lvalue required 
    liblcd.c:60: erreur : [1105] symbol 'PORTCbits' has not been defined 
    liblcd.c:60: erreur : [1151] struct or union object designator expected 
    liblcd.c:60: erreur : [1101] lvalue required 
    liblcd.c:61: avertissement : [2058] call of function without prototype 
    liblcd.c:63: erreur : [1105] symbol 'PORTD' has not been defined 
    liblcd.c:63: erreur : [1101] lvalue required 
    liblcd.c:64: avertissement : [2058] call of function without prototype 
    liblcd.c:65: erreur : [1105] symbol 'PORTCbits' has not been defined 
    liblcd.c:65: erreur : [1151] struct or union object designator expected 
    liblcd.c:65: erreur : [1101] lvalue required 
     
    liblcd.c:66: avertissement : [2058] call of function without prototype 
    liblcd.c:67: erreur : [1105] symbol 'PORTCbits' has not been defined 
    liblcd.c:67: erreur : [1151] struct or union object designator expected 
    liblcd.c:67: erreur : [1101] lvalue required 
    liblcd.c:68: avertissement : [2058] call of function without prototype 
    liblcd.c:70: erreur : [1105] symbol 'PORTD' has not been defined 
    liblcd.c:70: erreur : [1101] lvalue required 
    liblcd.c:71: avertissement : [2058] call of function without prototype 
    liblcd.c:72: erreur : [1105] symbol 'PORTCbits' has not been defined 
    liblcd.c:72: erreur : [1151] struct or union object designator expected 
    liblcd.c:72: erreur : [1101] lvalue required 
    liblcd.c:73: avertissement : [2058] call of function without prototype 
    liblcd.c:74: erreur : [1105] symbol 'PORTCbits' has not been defined 
     
    *** Sortie avec le code : 3 ***
    Il m'indique que PORTD n'est pas définie, quelqu'un a une idée d'ou et comment le définir?

    Merci par avance.

  11. #8
    RISC

    Re : Librairie en C18 pour LCD

    Salut,

    Le programme que tu montres n'es aboslument pas destiné au compilateur C18...mais plutôt au compiateur CCS.
    De plus on inclus pas un fichier xxxx.c (même si c'est fesable c'est très déconseillé...une instruction #include doit être réservée aux fichiers header

    a+
    Ma marotte ? les microcontrôleurs ;=)

  12. #9
    MiKL.66

    Re : Librairie en C18 pour LCD

    Bonsoir,

    Le problème avec la librairie Microchip, c'est que la gestion des afficheurs est trop mal fichu !!
    Je me trompe peu être, mais pour l'instant, personne ne m'a prouvé le contraire !

    J'ai fait pas mal de formations chez Microchip, également sur les afficheurs graphiques couleurs, mais les prog sont un peu lourd.
    Alors pour des petits systèmes, rien de bien intéressant ...

    je suis en train de travailler sur un petit afficheur graphique monochrome ... je créé toutes les fonctions dont j'ai besoin.
    J'ai créer un petit post sur ce sujet, et je n'ai eu aucune aide ... j'ai plus aider les autres

  13. #10
    Roswell1947

    Re : Librairie en C18 pour LCD

    Merci MiKL.66 pour le retour d'experience.
    Je doit avouer que j'ai du mal à trouver de la doc pour les 2x16.
    A chaque fois je suis sur de fausses pistes. J'ai d'abord tenté d'utiliser xlcd, mais je me suis rendu compte que ca ne gère pas les 2x16. J'ai trouvé des tuto avec mplab ou microC, mais ils sont trop step by step et en utilisant piklab j'ai du mal à les adapter.

    Quelqu'un aurais des cours asser bien foutu pour comprendre comment ca fonctionne? Car a chaque fois je pense que j'y suis presque mais il y'a toujours quelque chose qui m'échappe.

    Avez-vous un header et un programme principal qui a été testé et approuvé pour être certain que je doit plutot chercher du coté de mon hardware et également des bits de configurations?

    Merci par avance.

  14. #11
    paulfjujo

    Re : Librairie en C18 pour LCD

    bonjour

    J'ai d'abord tenté d'utiliser xlcd, mais je me suis rendu compte que ca ne gère pas les 2x16.
    Si,si, il gere bien les LCD 2x16 ...mais c'est galere pour s'y retouver avec toutes les combinaisons possibles.
    Pour ma part je me suis refais un fichier include pour simplifier le tout.
    il contient aussi la config hardware, à adapter bien sur...

    je le joins ici , testé sur plein d'application... ex: generateur DDS ..etc..

    nota: C18 MPLAB

    LCD2x16_lite.h.txt
    Dernière modification par paulfjujo ; 17/02/2014 à 10h02.

  15. #12
    MiKL.66

    Re : Librairie en C18 pour LCD

    Bonsoir,

    Citation Envoyé par paulfjujo Voir le message
    je le joins ici , testé sur plein d'application... ex: generateur DDS ..etc..
    nota: C18 MPLAB
    Pièce jointe 241699
    Pour ton fichier include, pourrais tu nous indiquer comment tu appelles tes fonctions depuis ton programme principal ?
    Par exemple, pour écrire le texte "Hello"
    Un autre exemple pour afficher la variable "Ma_Variable"

  16. Publicité
  17. #13
    paulfjujo

    Re : Librairie en C18 pour LCD

    bonsoir,

    extrait du zip ci-joint

    Code:
    void main (void)
    {
    Init_Hardware();
    Tempo(100000L);
    OUT_LCD
    LCD_Init();
    Tempo(5000L);
    // example to display Rom strings
    LCD_L1home();
    LCD_PutRomString(LCD_Str[0]);
    Tempo(50000L);
    // example to display Ram strings
    LCD_L2home();
    strcpypgm2ram(txt,"1234567890123456");
    LCD_PutRamString(txt);
    Tempo(250000L);
    
    while(1);
    
    }

    LCD_test.zip

  18. #14
    MiKL.66

    Re : Librairie en C18 pour LCD

    Bonsoir,

    Merci Paulfjujo, ceux sont bien des fonctions type Microchip ...
    Pas très pratique à manipuler !

    Par exemple, chez CCS, il existe :
    printf (lcd_putc, "\f Hello \n"); // pour afficher un texte
    \f = efface écran
    Hello = texte écrit directement
    \n = retour à la ligne

    printf (lcd_putc, "%03.0f", (double) Potar); // pour afficher une variable
    %03.0f = afficher 3 chiffres (entier)
    Potar = variable à afficher

    Vous ne trouver pas que c'est super pratique ?
    Avec une simple ligne, vous afficher le texte que vous voulez le plus simplement du monde.
    Et le top, c'est pour afficher une variable ... nombre de chiffre souhaité, nombre de chiffre après la virgule ....
    Je n'ai jamais réussi à reproduire cela avec Microchip !

    Si quelqu'un a réussi à créer des fonctions de ce genre, je suis preneur ...

    Je ne peux pas vous aider plus sur des afficheurs 2 lignes.
    Par contre, si un jour vous basculer sur des afficheurs graphiques monochromes, je commence à faire des fonctions sympas !

    Bon courage
    Mickael

Discussions similaires

  1. Problème Librairie XLCD - compilateur C18
    Par jorg1n dans le forum Électronique
    Réponses: 27
    Dernier message: 08/06/2009, 07h00
  2. l'utilité du compilateur C18 v3_20 pour l'instalation du MPLAB.
    Par Chaouki22 dans le forum Électronique
    Réponses: 3
    Dernier message: 29/04/2008, 18h14
  3. librairie max232 pour isis
    Par satora dans le forum Électronique
    Réponses: 0
    Dernier message: 01/04/2008, 04h01
  4. librairie pour LCD nokia 3310
    Par vavoum dans le forum Électronique
    Réponses: 3
    Dernier message: 30/05/2006, 20h18
  5. librairie layout pour orcad
    Par newfree dans le forum Électronique
    Réponses: 0
    Dernier message: 24/04/2003, 09h11
Découvrez nos comparatifs produits sur l'informatique et les technologies.