Bonjour,
J’ai connecté un ecran lcd 16x2 (ZL1602L2) à un PIC 16F877 selon le schéma suivant. En mode simulation avec ISIS tout marche bien mais en riel rien ne s’affiche sur LCD.
Prière votre aide.
-----
Bonjour,
J’ai connecté un ecran lcd 16x2 (ZL1602L2) à un PIC 16F877 selon le schéma suivant. En mode simulation avec ISIS tout marche bien mais en riel rien ne s’affiche sur LCD.
Prière votre aide.
Sans ton code, difficile de t'aider.
Lorsque ton LCD est alimenté, vois-tu des rectangles noirs s'afficher ?
Bonjour,
Mettre un potentiomètre à la place de la résistance sur le réglage du contraste, à mon avis ça ne peut qu'aider.
J'ai remplacé la résistance avec un potentiomètre mais rien n'a changé
mon code est fait en Mikroc
// LCD module connections
sbit LCD_RS at RB7_bit;
sbit LCD_EN at RB6_bit;
sbit LCD_D4 at RB5_bit;
sbit LCD_D5 at RB4_bit;
sbit LCD_D6 at RB3_bit;
sbit LCD_D7 at RB0_bit;
sbit LCD_RS_Direction at TRISB7_bit;
sbit LCD_EN_Direction at TRISB6_bit;
sbit LCD_D4_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB0_bit;
int i;
void main(){
// Initialize LCD
Lcd_Init();
Lcd_Cmd(_Lcd_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1,2,"Bonjour");
while(1){
for(i=0; i<20; i++) { // Move text to the left 7 times
Lcd_Cmd(_LCD_SHIFT_RIGHT);
Delay_ms(100);
}
}
}
La pin 1 du LCD (la masse) c'est en haut à gauche..(habituellement du moins)
Tout est inversé sur le schéma...
En vrai ca donne quoi?
Là où va le vent...
Bonjour
Votre code est incomplet pour une analyse détaillée puisque vous ne donnez pas le contenu des procédures !!!!
Sinon vérifications élémentaires :
-avez vous vérifié le cablâge avec la documention dédiée de l'afficheur et non une générique qui n'est pas forcément 100 % compatible ?
-port up en sortie avec niveau 1 et o compatibles avec le lcd tolérances comprises vih, vil min, max ?
-les timing sont ils bons quand vous faites une écriture ou une lecture, testez vous l'état du lcd pour attendre suffisamment ?
-la tension de contraste est elle bonne ?
-validez fonction par fonction , mettez un point d'arrêt pour ne pas tout dérouler!
-vous utilisez le lcd cablé en 4 bits de données, utilisez vous bien les bonnes valeurs et masques du logiciel qui en découlent ?
Allez courage une petite relecture à tête reposée.
cdlt
Dernière modification par luc_1049 ; 24/05/2013 à 12h59.
Je suis d'accord avec Indri, le LCD serait branché à l'envers que ça ne m'étonnerait pas. Et le potentiomètre pour le contraste est mal branché.
bonjour,
sur celui que j'ai en main, la pin 1 0V est en bas à gauche ! en regardant la face avant du LCD
Attention certains afficheur ont la connectique en haut ... d'autres en bas
par contre la config ne correspond pas au schema !
4 bits data cablés en RB2..RB5
Il serait plus heureux de prendre un quartet ex: RB0..RB3
sauf si bien sur on a besoin de RB0 specifiquement.
Code:sbit LCD_RS at RB7_bit; sbit LCD_EN at RB6_bit; sbit LCD_D4 at RB5_bit; sbit LCD_D5 at RB4_bit; sbit LCD_D6 at RB3_bit; sbit LCD_D7 at RB0_bit
Est-ce qu'au moins une des 2 lignes affiche des rectangles ? Si oui, l'afficheur est bien alimenté, et le contraste correct. Si non, problème d'alim ou de contraste.
Oui l ecran affiche des careaux noires
bonjour,
As-tu rectifié la config sbit data LCD ou le cablage ?
Si l'écran afficheur des rectangles, ça veut dire qu'il est bien alimenté. Le problème est soit logiciel, soit au niveau du cablage des pins de données ou de controle
j'ai débranché et rebranché le LCD mais malheureusement toujours le même problème seuls des carreaux noirs même forme qui s'affichent sur la première ligne qui disparaissent lorsque je fait tourner la potentiomètre.
j'ai configuré les pines du pic (16F877) comme suivant en changeant la R1 potentiomètre.
sbit LCD_RS at RB7_bit;
sbit LCD_EN at RB6_bit;
sbit LCD_D4 at RB5_bit;
sbit LCD_D5 at RB4_bit;
sbit LCD_D6 at RB3_bit;
sbit LCD_D7 at RB2_bit;
sbit LCD_RS_Direction at TRISB7_bit;
sbit LCD_EN_Direction at TRISB6_bit;
sbit LCD_D4_Direction at TRISB5_bit;
sbit LCD_D5_Direction at TRISB4_bit;
sbit LCD_D6_Direction at TRISB3_bit;
sbit LCD_D7_Direction at TRISB2_bit;
prière votre aide, Merci.
bonjour,
pourquoi t'obstines tu a mettre les bits data en plein milieu
d'un byte au lieu de les mettre sur un quartet
ex Rb3..Rb0
et de plus en sens inverse au niveau du poids des bits !
essaie avec
Lcd d7 --- Rb3
Lcd d6 --- Rb2
Lcd d5 ---Rb1
Lcd d4 --- Rb0
d'autant qu'on ne connait pas le detail
de la procedure d'init LCD de la bibliotheque
LCD MikroC