testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)



  1. #1
    Chaouki22

    testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)


    ------

    bonsoir à tous

    alors comme l'indique son nom c'est un testeur pour 7 LCD complètement différents (2*16, 4*20 , graphique 128*128 ..). Mon problème est apparut lors de le conception de la carte de commande pour ces afficheurs.
    Est-ce qu'il est possible d'adresser des séquences de teste pour mes afficheurs avec un seul PIC
    ....sachant que pour chaque type d'afficheur je doit adresser le même teste chaque fois
    (exp : allumer l'afficheur , l'éteindre, une grille de ligne horizontaux et verticaux .. juste pour vérifier le fonctionnement de tous les pixels )
    j'ai réussi le teste de chaque LCD tous seul avec un PIC 16F877 mais le tous ensemble non

    merci d'avance pour toute aide.

    -----

  2. #2
    badrbo

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    Bonjour,

    le 16F877 ne possede pas assez suffisament des pins pour controler sept afficheur, par contre tu peut utiliser un systeme de multiplexage pour resoudre ton probleme
    voir page ettaleb pour plus d'aide
    tu es tunisien ?

    cordialement

  3. #3
    Chaouki22

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    merci badrbo

    c'est ca que je recherche un système de multiplixage. mais le problème lors de la programmation je peu pas affecter le meme port pour plusieurs afficheurs.
    est-ce que tu peut me fournir le lien pour ce site puisque je trouve rien d'interessant avec le mot de recherche "ettaleb"
    Oui mon ami je suis Tunisien et je pense que nous somme de la meme pays non.

  4. #4
    badrbo

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    chaouki,

    oui je suis tunisien, pour le site ettaleb c'est à ignoré page supprimé mlheuresement !

    Pose tes questions et tes idées normallements tu aura des reponses sur FUTURA

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

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    pour le multiplexage tu peut groupper les address/controle en mode bus, tu supprime la liaison directe de "WR" (write) par exemple, tu le connecte à travers une porte logique AND
    _____
    PIC-RW--| \
    | |-----RW (afficheur)
    PIC-slct--|_____/

    pour chaque afficheur tu assigne une porte chaque PIC-slct doit etre connecté à un pin d'un port libre sur le PIC, PIC-RW est connecté en bus avec le signal sortant de PIC et sur tt les ports AND, RW est connecté de chaque port avec chaque afficheur.

    bon courage

  7. #6
    Chaouki22

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    ok badrabo

    alors voici si joint le programme que je suis entrain de traiter sur PICC et le schéma electriqe associée.
    le programme il est fonctionnel sur chaque LCD mes les tous ensemble il ne fonctionne plus
    malgré que j'utilse une conexion RS232 par la qu'elle j'envoi un caractere (1 ou 2 ou 3 jusqu'a 7) pour sélectionner l'afficheur que je veu tester. cette conexion fonctionne très bien mais le problème c'est au niveau de programme
    par exemple, lorsque j'envoi le caractère 2 par le PC (donc teste afficheur 20*4) il effectue ce teste seulement sur 2 lignes. j'arrive pas à resoudre cette problème et je suis sur que c'est un problème de cablage ou d'affectation des ports

    #include <16F877.h> //inclure le pilote de PIC16F877
    #fuses HS,NOWDT,NOPROTECT,NOLVP
    #use delay(clock=20000000) //horloge interne=20MHz
    #include <lcd.c> //inclure le pilote de l'afficheur LCD
    #include <glcd.c> //inclure le pilote de l'afficheur LCD graphique

    /*cofiguration de la communication à travers RS232 tel que TX=RC6 et RX=RC7 */

    #use rs232(baud=9600, xmit=PIN_C7,rcv=PIN_C6)

    void main() {

    char d; //déclaration d'une variable d de type chaîne de caractère
    int i; //déclaration d'une variable i de type entier
    lcd_init(); //initialisation de LCD
    set_TRIS_E(0b111); //configurer les pins de PORTE en entrées
    set_TRIS_C(0b000001); //configurerRC0-->RC5 en SORTIES
    set_TRIS_A(0b110000); //configurer RA4 et RA5 en entrées et les autres en sorties
    set_TRIS_B(0b00000000); //configurer les pins de PORTB en SORTIES
    set_TRIS_D(0b00000000); //configurer les pins de PORTD en SORTIES
    output_E(0b000); //les entrées sont au niveau bas

    puts("Entrer le numero d'afficheur a tester :"); //affichage sur virtual terminal

    while (TRUE) { //boucle infinie

    //test de port rs232

    if(kbhit()) //tester s'il existe un caractère sur le port RS232
    {
    d=getc(); //lecture de ce caractère
    putc(d); //afficher ce caractère dans le terminal
    d=d-0x30; //convertir ce caractère en hexadécimal
    switch(d) //le moteur1 sera positionner selon la valeur dans la variable d
    {
    case 1: //si ce caractère est égale à 1
    {
    lcd_putc("Test LCD 2*16"); //affichage sur LCD 2*16
    delay_ms(1000); //attente
    // il faut une fonction clear LCD
    lcd_gotoxy(1,1);
    lcd_putc("\________________\n" ); //affichage sur LCD
    lcd_gotoxy(1,2);
    lcd_putc("\________________\n" );
    delay_ms(1500);
    lcd_gotoxy(1,1);
    lcd_putc("\================\n" ); //affichage sur LCD
    lcd_gotoxy(1,2);
    lcd_putc("\================\n" );
    delay_ms(1500);
    lcd_gotoxy(1,1);
    lcd_putc("\||||||||||||||||\n" ); //affichage sur LCD
    lcd_gotoxy(1,2);
    lcd_putc("\||||||||||||||||\n" );
    delay_ms(1500);
    lcd_gotoxy(1,1);
    lcd_putc("\ AREVA \n"); //affichage sur LCD
    lcd_gotoxy(1,2);
    lcd_putc("\ TEST LCD 2*16 \n");
    delay_ms(2000); //attente
    }break;
    case 2: //si ce caractère est égale à 2
    {
    lcd_putc(" Test LCD 4*20 "); //affichage sur LCD 4*20
    delay_ms(1000); //attente
    // il faut une fonction clear LCD
    lcd_gotoxy(1,1);
    lcd_putc("\___________________ _\n"); //affichage sur LCD
    lcd_gotoxy(1,2);
    lcd_putc("\___________________ _\n");
    lcd_gotoxy(1,3);
    lcd_putc("\___________________ _\n"); //affichage sur LCD
    lcd_gotoxy(1,4);
    lcd_putc("\___________________ _\n");
    delay_ms(1500);
    lcd_gotoxy(1,1);
    lcd_putc("\=================== =\n"); //affichage sur LCD
    lcd_gotoxy(1,2);
    lcd_putc("\=================== =\n"); //affichage sur LCD
    lcd_gotoxy(1,3);
    lcd_putc("\=================== =\n"); //affichage sur LCD
    lcd_gotoxy(1,4);
    lcd_putc("\=================== =\n"); //affichage sur LCD
    delay_ms(1500);
    lcd_gotoxy(1,1);
    lcd_putc("\||||||||||||||||||| |\n"); //affichage sur LCD
    lcd_gotoxy(4,4);
    lcd_putc("\||||||||||||||||||| |\n");
    lcd_gotoxy(1,3);
    lcd_putc("\||||||||||||||||||| |\n"); //affichage sur LCD
    lcd_gotoxy(1,4);
    lcd_putc("\||||||||||||||||||| |\n");
    delay_ms(1500);
    lcd_gotoxy(1,1);
    lcd_putc("\ AREVA \n"); //affichage sur LCD
    lcd_gotoxy(1,2);
    lcd_putc("\ TEST LCD 4*20 \n");
    lcd_gotoxy(1,4);
    lcd_putc("\ TEST LCD 4*20 \n");
    delay_ms(2000);}break;
    case 3: //si ce caractère est égale à 3
    {
    glcd_fillScreen(OFF);
    delay_ms(1500);
    glcd_line(1,2,8,9,ON);
    delay_ms(1500);

    }break;
    ..........................

  8. #7
    Chaouki22

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    merci badrbo

    juste une remarque: ce testeur ne teste pas tous les afficheurs au meme temps
    chaque fois il teste un des 7.

  9. #8
    badrbo

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    salut,

    tu peut implementer sur le programme les differntes fonctions qui tu va utiliser pour les differents afficheurs. avant de tester chaque afficheur tu doit activer le write sur l'afficheur cible et ensuite appeler la fonction correspondante a cet afficheur et enfin desactiver le write sur ce dernier, tu doit diviser ton programme en sous fonctions, ça t'aide à reduire ton programme .
    Images attachées Images attachées  

  10. #9
    Chaouki22

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    Citation Envoyé par badrbo Voir le message

    tu peut implementer sur le programme les differntes fonctions qui tu va utiliser pour les differents afficheurs. tu doit diviser ton programme en sous fonctions, ça t'aide à reduire ton programme .
    j'ai déja essayer de diviser mon programme en des sous fonctions
    et les appeler dans le main mais j'ai eu beaucoup des problèmes de compilation.
    est-ce que vous pouvez me fournie un exemple de la structure de la fonction sur PICC et comment l'appel de cette dernier s'effectue dans le main

    merci pour votre aide

  11. #10
    badrbo

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    pourqoui tu n'utilise pas les bibliothèques qui arrivent avec le picc, juste tu modifier les pins pour que les aff soient multiplexés en mode bus, pour les alphanumerique juste tu modifie l'adresse de la ligne suivante pour les differentes configurations (nombres des lignes et char/ligne).

  12. #11
    badrbo

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    c'est dans le cadre d'un PFE ?

  13. #12
    Chaouki22

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    oui c'est dans le cadre d'un pfe (ingénieur en électronique industriel) est c'est juste la première partie du projet. Il me reste encore une partie de traitement d'image ( je doit installer une caméra au dessus de chaque afficheur pour prendre une photo pour chaque séquence affiché sur l'afficheur et la traiter pour garantir que tous les pixel fonctionnent) et la troisième partie consiste à réaliser une interface graphique PC / utilisateur sur VB.
    un travaille un peu lourd non.

    tu sait quoi badrbo belarbi flitha la bibliothèque et je trouve rien de ce que tu viens me de dire. aide moi vraiment je suis dans la merde maintenant.

  14. #13
    badrbo

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    je te conseil de suivre ce demarche pour que tu gagne de temps, car c'est la partie la plus facile de ton pfe :
    precise bien ton cablage (schematique) avant de passer au programmation ça t'aide a bien ecrire ton programme
    lire attentivement le code de la bibliothèque, tu trouve que tu peut modifier legerement les drivers !
    essay de faire fonctionner chaque afficheur sous isis en utilisant les memes pins
    pour tous les afficheurs
    enfin la supperposition de tous ça te donne la fonction souhaité.

    bon courage.

  15. #14
    Chaouki22

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    merci mon frere

    je veux essayer. déja je maitrise un petit peut la technique de bootloader. mais c'est un penible pour le technicien de charger le programme de chaque afficheur pour le tester et en plus je pense pas que cette application necessite un bootloader.
    merci infiniment badrbo
    cordialement.

  16. #15
    RISC

    Re : testeur fonctionnel des afficheurs LCD(alphanumerique + graphique)

    Salut,

    Si tu testes un seul afficheur à la fois, rien ne sert de compliquer...

    Au niveau HARD : Tu prévois un encodeur ou un clavier pour choisir le type d'afficheur.
    Au niveau SOFT : Tu fais une structure Switch Case et tu implémentes 7 programmes différents. Il te suffit de prendre un PIC avec un plus grosse mémoire ;=)
    Il existe des PIC18 compatibles directement broche à broche avec le PIC16F877 : la famille des PIC18F4520 / 4620 qui auront beaucoup plus de Flash. Pas besoin de bootloader ;=)
    Evidemment il faut réécrire une partie de ton programme prévu pour les PIC16.
    La dernière solution qui t'a été proposée c'est d'utiliser un bootloader qui chargera le programme de test en fonction de l'afficheur.
    Pour cela il est préférable d'utiliser le PIC16F887 ou 877A plutot que le 877.

    a+

Discussions similaires

  1. Outil pour Afficheurs LCD graphiques GLCD
    Par Bernaco dans le forum Logiciel - Software - Open Source
    Réponses: 18
    Dernier message: 18/02/2016, 07h18
  2. Question sur les afficheurs lcd et voltmetre???
    Par fraelec74 dans le forum Électronique
    Réponses: 3
    Dernier message: 04/01/2010, 17h40
  3. les afficheurs lcd
    Par invite3e4b663e dans le forum Électronique
    Réponses: 6
    Dernier message: 25/05/2005, 17h24
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...