falcon80 Inserito: 25 aprile 2004 Segnala Inserito: 25 aprile 2004 ciao inanzitutto saluto a tutti perche' sono nuovo del forumora vi espongo il mio problemaho 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 codiceciuao
Livio Orsini Inserita: 25 aprile 2004 Segnala Inserita: 25 aprile 2004 Dovresti anche specificare il tipo di Display e se lo piloti con 4 o 8 bits.
falcon80 Inserita: 25 aprile 2004 Autore Segnala Inserita: 25 aprile 2004 ah si scusa è un display con interfaccia hitachy e lo piloto a 4 bit
dlgcom Inserita: 26 aprile 2004 Segnala Inserita: 26 aprile 2004 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...
falcon80 Inserita: 26 aprile 2004 Autore Segnala Inserita: 26 aprile 2004 //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
dlgcom Inserita: 26 aprile 2004 Segnala Inserita: 26 aprile 2004 Quale compilatore C stai usando?Perche' il tuo istato non aiuta molto , mancando gli include...
falcon80 Inserita: 26 aprile 2004 Autore Segnala Inserita: 26 aprile 2004 uso l'HTLPIC che dovrebbe far parte del pacchetto di picclitepiu le ruotine di gestione lcd e delay prese dal sitohttp://www.jofi.it/fiser/LCD.C per quanto riguarda lcdhttp://www.jofi.it/fiser/delay.zip e qui ce le routine di delayspero si possa postare dei link a siti altrimenti chiedo scusaciao
falcon80 Inserita: 28 aprile 2004 Autore Segnala Inserita: 28 aprile 2004 ciao sei riuscito a capire dovè l'errore?comunque ho scaricato il sourceboost.....non è qualcuno saprebbe dirmi dove trovare un manuale d'usociao
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora