Vai al contenuto
PLC Forum


Pic E Display Lcd


Messaggi consigliati

Inserito:

ciao inanzitutto saluto a tutti perche' sono nuovo del forum

ora vi espongo il mio problema

ho da poco preso la strada dei pic utilizzando il linguaggio c ho provato ad interfacciare un display lcd con un pic 16f877a, bene finche si tratta di far comparire sul display una scritta statica funziona tutto. il problema si ha nel momento che dichiaro delle variabili nel programma........o come provo a usare dei pulsanti per far cambiare schermata....in questi casi sul disply compaiono tutte frecce verso sx che lampeggiano....

chi mi puo aiutare?

se puo servire posto anche il codice

ciuao


Inserita:

Dovresti anche specificare il tipo di Display e se lo piloti con 4 o 8 bits.

Inserita:

ah si scusa

è un display con interfaccia hitachy e lo piloto a 4 bit

Inserita:

non so' come e' fatto il tuo codice e quale display hai , ma io uso nei miei prigrammi una bub che come prima cosa posiziona il cursore e poi scrive i caratteri.

Altra considerazione se per esempio hai una variabile numerica es. x=10, non puoi inviare questa variabile direttamente al dilplay ma la devi convertire in carattere ascii ...

Se vuoi posta il sorgente...

Inserita:

//programma di esempio di gestione lcd 20x4

//

//con trasmissione a 4 bit

//

//

#include <pic.h>

#include <stdio.h>

#include "delay.c"

#include "lcd1.c"

__CONFIG (3FF9h);

main ()

{

char I;

char pos;

TRISD = 0;

TRISB = 0;

TRISA = 0;

TRISC = 0;

TRISE = 0;

DelayMs(20);

LCD_INIT(); //inizializza l'lcd

DelayMs(50);

LCD_CLEAR(); //pulisce lo schermo lcd

DelayUs(20);

/*presentazione a scorrimento*/

pos=20;

for (I=1; I==20; I++)

{

LCD_CMD (LCD_line1);

LCD_GOTO (1,pos);

LCD_PUTS ("Benvenuti.....!!!!!");

LCD_CMD (LCD_line2);

LCD_GOTO (2,pos);

LCD_PUTS(" Micro computer");

LCD_CMD (LCD_line3);

LCD_GOTO (1,pos);

LCD_PUTS (" di Gestione");

LCD_CMD (LCD_line4);

LCD_GOTO (1,pos);

LCD_PUTS (" parametri auto");

pos= pos-1;

DelayMs (50);

}

while (1)

{

LCD_CMD (LCD_line1);

LCD_PUTS ("Gestione di prova");

LCD_CMD (LCD_line2);

LCD_PUTS ("dell'LCD 20x4");

LCD_CMD (LCD_line3);

LCD_PUTS ("versione 1.1");

LCD_CMD (LCD_line4);

LCD_PUTS ("By Simone");

}

}

questo è il codice era un esempio per vedere se funzionava il tutto

Inserita:

Quale compilatore C stai usando?

Perche' il tuo istato non aiuta molto , mancando gli include...

Inserita:

ciao sei riuscito a capire dovè l'errore?

comunque ho scaricato il sourceboost.....non è qualcuno saprebbe dirmi dove trovare un manuale d'uso

ciao

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...