LCD 4x16 qui s'allume mais n'affiche que des carraux
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

LCD 4x16 qui s'allume mais n'affiche que des carraux



  1. #1
    wess26

    LCD 4x16 qui s'allume mais n'affiche que des carraux


    ------

    salut ..dans le cadre de mon projet je doit afficher un message sur une ecran lcd mais elle n'affiche rien que des carreaux malgré que j'ai utulise le contrast et le projet marche sur isis mais pas dans le pratique ...j’utilise le pic 16f877 et mikropascal

    -----

  2. #2
    Yoruk

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    Salut,

    Donne schéma, liste du matériel, docs techniques, code... Histoire qu'on puisse t'aider.

    As-tu correctement réglé le contraste ?
    La robotique, c'est fantastique !

  3. #3
    wess26

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    slm ;mon projet est commande d’éclairage ....le problème que tous marche bien sur isis mais dans la pratique l'ecran lcd affiche des carreaux malgré que je mais le potentiomètre de contraste j'utulise lepic 16f877 ...merci de m'aider

    voici le programme:
    Code:
    program Lcd_Demo;
    
    // LCD module connections
    var LCD_RS : sbit at RB0_bit;
    var LCD_EN : sbit at RB1_bit;
    var LCD_D4 : sbit at RB3_bit;
    var LCD_D5 : sbit at RB4_bit;
    var LCD_D6 : sbit at RB5_bit;
    var LCD_D7 : sbit at RB6_bit;
    
    var LCD_RS_Direction : sbit at TRISB0_bit;
    var LCD_EN_Direction : sbit at TRISB1_bit;
    var LCD_D4_Direction : sbit at TRISB3_bit;
    var LCD_D5_Direction : sbit at TRISB4_bit;
    var LCD_D6_Direction : sbit at TRISB5_bit;
    var LCD_D7_Direction : sbit at TRISB6_bit;
    var keypadPort : byte at PORTD;
    var kp, cnt, oldstate : byte;
        txt : array[6] of char;
        x,j,u: LONGINT;
    label temp,seuil,lum ,lampe,start;
    
    
    Procedure lam();
    begin
    J:=adc_read(1);
    u:=adc_read(2);
    if j>u then
    begin
    DELAY_ms(25);
    portd.0:=1;
    end
    else
    begin
    portd.0:=0;
    Keypad_Init();
    kp := Keypad_Key_Press();
    end ;
    end;
    Procedure ADC(x:integer);
    var ch: byte;//declaration de variable
    tlong,t: longint;
    begin
    tlong := (x*5000);
    t := longint(tlong shr 10);
    ch:= t div 100000;
    lcd_chr(2,3,48+ch);
    ch:= integer(t div 10000)mod 10;
    lcd_chr(2,4,48+ch);
    ch:= integer(t div 1000)mod 10;
    lcd_chr(2,5,48+ch);
    lcd_chr(2,6,'.');
    ch:= integer(t div 100)mod 10;
    lcd_chr(2,7,48+ch);
    ch:= integer(t div 100) mod 10;
    lcd_chr(2,8,48+ch);
    ch:= integer(t div 10) mod 10;
    end;
    begin
    
    trisa:=$EF;//toute les broches de portA en sortie sauf RA4
    trisc:=$00;// toute les broches de portC en sortie sauf RA7
    ADCON1:=$80; //déclaration pour le CAN ,extrait de datasheet du Pic
    lcd_init();
    Lcd_Cmd(_LCD_CLEAR);//etiendre le curseur de l'afficheur LCD
     Lcd_Cmd(_LCD_CURSOR_OFF);
    lcd_out(1,1,'LFEEA3');//afficher sur la 1 er ligne et la 1 er colnne de LCD "projet fin d"etude"
    LCD_Cmd(_LCD_CURSOR_OFF);
    
    
    portc.0:=0; // initialiser le pin RD0
    repeat
    start:
    portd :=$00;//initialisation de portc
    begin
    kp := 0;//initialisation de kp
    while kp = 0 do
    kp := Keypad_Key_Click();//lecture de clavier
    
    // structure du clavier;
    if (kp = 1) then kp := '1';
    if (kp = 2) then kp := '4';
    if (kp = 3) then kp := '7';
    if (kp = 4) then kp := '*';
    if (kp = 5) then kp := '2';
    if (kp = 6) then kp := '5';
    if (kp = 7) then kp := '8';
    if (kp = 8)then kp := '0';
    if (kp = 9) then kp := '3';
    if (kp = 10) then kp := '6';
    if (kp = 11) then kp := '9';
    if (kp = 12) then kp := '=';
    LCD_chr(2,5,kp);
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);  //effacer le contenu de l'afficheur
    if kp ='1' then goto  temp
    else
    if kp ='4' then goto seuil
    else
    if kp ='7' then goto lampe ;
    lcd_out(1,1,'1-temp 2-seuil');//afficher sur la 1 er ligne et la 1 er colnne de LCD "1-temp 2-seuil"
    lcd_out(2,1,'3-lampe 4-lum');//afficher sur la 2 eme ligne et la 2 eme colnne de LCD "3-lampe 4-lum"
    lam();
    goto start ;
    temp:
    begin
    DELAY_ms(20);//
    kp := Keypad_Key_Click(); //lecture de clavier
    
    while kp=0 do
    begin
    
    x:=adc_read(0);
    lcd_out(1,1,'1-Temperature:');//afficher sur la 1 er ligne et la 1 er colnne de LCD "1-Temperature:"
    lcd_out(2,10,' (Degre)');//afficher sur la 2 eme ligne et la 10 eme colnne de LCD " (Degre)"
    lam();
    adc(x);//
    kp := Keypad_Key_Click(); //lecture de clavier
    
    end ;
    goto start ;//
    end ;
    seuil:
    begin
    
    DELAY_ms(50);//
    kp := Keypad_Key_Click(); //lecture de clavier
    
    while kp=0 do
    begin
    J:=adc_read(1);//
    lcd_out(1,1,'2-Reglage Seuil:');//afficher sur la 1 er ligne et la 1 er colnne de LCD "1-Reglage Seuil:"
    lam();//
    adc(J);//
    kp := Keypad_Key_Click(); //lecture de clavier
    
    end ;
    goto start ;//
    end ;
    lampe:
    begin
    DELAY_ms(20);//
    kp := Keypad_Key_Click(); //
    while kp=0 do//
    begin
    J:=adc_read(1);//
    u:=adc_read(2);//
    if j>u then //
    begin
    DELAY_ms(25);//
    portc.0:=1;//
    Lcd_Cmd(_LCD_CURSOR_OFF);
    lcd_out(1,3,'lampe allume');//afficher sur la 1 er ligne et la 3 eme colnne de LCD "lampe allume"
    end
    else
    begin
    portc.0:=0;//
    lcd_out(1,3,'lampe eteint');//afficher sur la 1 er ligne et la 3 eme colnne de LCD "lampe eteint"
    end ;
    kp := Keypad_Key_Click(); ////lecture de clavier
    
    end;
    goto start ;
    end ;
    end;
    until FALSE ;
    if j>u then //
    begin
    DELAY_ms(25);//
    portc.0:=1;//
    Lcd_Cmd(_LCD_CURSOR_OFF);
    lcd_out(1,3,'lampe allume');//afficher sur la 1 er ligne et la 3 eme colnne de LCD "lampe allume"
    end
    else
    begin
    portc.0:=0;//
    Lcd_Cmd(_LCD_CURSOR_OFF);
    lcd_out(1,3,'lampe eteint');//afficher sur la 1 er ligne et la 3 eme colnne de LCD "lampe eteint"
    end ;
    end.
    Images attachées Images attachées
    Dernière modification par Antoane ; 17/05/2015 à 09h59. Motif: Ajout balises [code]

  4. #4
    Yoruk

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    J'attends de voir tes pièces jointes (non validées encore par la modération). Si le code fonctionne en simulation, c'est que le problème est ailleurs.

    Ton potentiomètre est de combien d'ohms ?

    La prochaine fois, merci de mettre ton code entre balises [CODE] histoire de faciliter sa lecture...
    La robotique, c'est fantastique !

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

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    ...il est où le potentiomètre sur ton schéma ? Et l'alimentation du LCD ?

    Hé oui, c'est pratique les simulations, ça marche tout de suite...

    PS : la masse de ton écran est super mal dessinée, on ne voit pas quelles pins y sont reliées.

    Sinon, il y a des leds sans résistances, je vois pas de capas de découplage sur l'alimentation (je ne vois pas d'alimentation du tout, après j'arrive pas à lire le nom des pins du PIC). La bobine de RL1 est alimentée bizzarement, bref, plein de trucs étranges sur le schéma.
    La robotique, c'est fantastique !

  7. #6
    DAUDET78

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    Citation Envoyé par Yoruk Voir le message
    La bobine de RL1 est alimentée bizzarement,
    je pense que c'est le seul truc qui est presque correct (alimenté en 12V DC ?)

    Par contre RL1 est inutile. On peut commander les lampes (quelle modèle ?)avec un transistor

    PS : RP1 est inutile . Il faut seulement 4 résistances .
    J'aime pas le Grec

  8. #7
    Yoruk

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    Citation Envoyé par DAUDET78 Voir le message
    je pense que c'est le seul truc qui est presque correct (alimenté en 12V DC ?)
    Ahh oui maintenant que tu le dis, j'ai été perturbé par la disposition de la diode de roue libre et la connexion à la broche NO du relais...
    La robotique, c'est fantastique !

  9. #8
    DAUDET78

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    Citation Envoyé par Yoruk Voir le message
    j'ai été perturbé par la disposition de la diode de roue libre...
    Confidence pour confidence .... Moi aussi !
    C'est terrible de sortir, sans moufter, des schémas aussi pourris !
    J'aime pas le Grec

  10. #9
    wess26

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    tous marche comme il faut sur isis mais le probleme dans la pratique ...sur la maquette et sur la carte electronique imprimé

  11. #10
    freepicbasic

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    sur le schéma le R/W n'est pas câblé !

    Une pin en l'air ça fait quoi ?
    un 1 ?
    ou pire du n'importe quoi !
    Alors ça write jamais...
    A+, pat

  12. #11
    wess26

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    il est cablé au masse

  13. #12
    Antoane
    Responsable technique

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    Bonsoir,

    C1=C2=1nF ?
    As-tu regardé dans la datasheet du PIC comment doit êter câblé l'oscillateur ?

    Les conseils donnés en post 5 et suivant ont-ils été appliqués ?

    As-tu essayé ta carte avec des programmes plus simples, pour tester le hard ?
    Ex :
    - faire clignoter la led (et rien d'autre) ;
    - allumer la led si la tension sur le potentiomètre est supérieure à 2V et l'éteindre sinon ;
    - etc.
    Histoire de tester tous tes périphériques et que le PIC fonctionne correctement (oscillateur, MCLR, watchdog...)
    Dernière modification par Antoane ; 17/05/2015 à 20h41.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  14. #13
    freepicbasic

    Re : LCD 4x16 qui s'allume mais n'affiche que des carraux

    trisa:=$EF;//toute les broches de portA en sortie sauf RA4
    Bah non c est le contraire !!!
    Le 1 met en entrée


    trisc:=$00;// toute les broches de portC en sortie sauf RA7
    oui PORTC !
    Que fait RA7 la dedans ?
    Dernière modification par freepicbasic ; 18/05/2015 à 14h53.
    A+, pat

Discussions similaires

  1. mon ordinateur portable s'allume mais n'affiche rien, HELP
    Par chahreddine dans le forum Matériel - Hardware
    Réponses: 6
    Dernier message: 09/03/2015, 19h58
  2. mon ordinateur portable s'allume mais n'affiche rien
    Par taleb404 dans le forum Matériel - Hardware
    Réponses: 1
    Dernier message: 09/03/2015, 19h41
  3. Ecran HP s'allume mais n'affiche pas
    Par invite0252cfd8 dans le forum Matériel - Hardware
    Réponses: 12
    Dernier message: 15/02/2013, 11h56
  4. mon ecran CRT s'allume mais ne m'affiche rien
    Par invited0fa8d75 dans le forum Électronique
    Réponses: 2
    Dernier message: 08/07/2010, 16h52
  5. LCD 2x16 qui s'allume mais n'affiche rien
    Par LeaderShipper dans le forum Électronique
    Réponses: 13
    Dernier message: 15/06/2008, 22h38
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...