Vai al contenuto
PLC Forum


Pic E Display Lcd


falcon80

Messaggi consigliati

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

Link al commento
Condividi su altri siti


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...

Link al commento
Condividi su altri siti

//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

Link al commento
Condividi su altri siti

ciao sei riuscito a capire dovè l'errore?

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

ciao

Link al commento
Condividi su altri siti

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...