.:Matrix:. Inserita: 7 settembre 2007 Segnala Share Inserita: 7 settembre 2007 Scusatemi, ma non dipende da me.Altervista fa i capricci con i link.Copiate ed incollate il link in una nuova finestra del browser per visualizzarlo.Grazie. Link al commento Condividi su altri siti More sharing options...
.:Matrix:. Inserita: 7 settembre 2007 Segnala Share Inserita: 7 settembre 2007 Grazie Livio,infatti avevo pensato di usarne una per i dati ed una per i comandi dell'LCD.Vorrei utilizzare la libreria per LCD allegata al mio precedente messaggio, come posso modificarla per usarla con lo schema dello Z80 da me proposto?Grazie. Link al commento Condividi su altri siti More sharing options...
.:Matrix:. Inserita: 7 settembre 2007 Segnala Share Inserita: 7 settembre 2007 Vi linko lo schema con la modifica delle due porte per l'utilizzo dell'LCD e con la mappa completa degli indirizzi delle porte I/O.La porta si chiama LCD-PORT1Z80-board2 Link al commento Condividi su altri siti More sharing options...
.:Matrix:. Inserita: 8 settembre 2007 Segnala Share Inserita: 8 settembre 2007 Secondo voi può adare bene scritta in questo modo per poi essere richiamata nel file di gestione dell'LCD?/* * Header file for the Z80 * Microprocessor * build with Z80-board * made by Luigi Erroi *//* LCD PORT addresses */sfr at 0x00 LCDDATA;sfr at 0x01 LCDCTRL;/* LCD CTRL-PORT bits */sfr at (LCDCTRL & 0b10000000) RS;sfr at (LCDCTRL & 0b01000000) RW;/* LCD DATA-PORT bits */sfr at (LCDDATA & 0b10000000) LP0;sfr at (LCDDATA & 0b01000000) LP1;sfr at (LCDDATA & 0b00100000) LP2;sfr at (LCDDATA & 0b00010000) LP3;sfr at (LCDDATA & 0b00001000) LP4;sfr at (LCDDATA & 0b00000100) LP5;sfr at (LCDDATA & 0b00000010) LP6;sfr at (LCDDATA & 0b00000001) LP7; Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 8 settembre 2007 Segnala Share Inserita: 8 settembre 2007 Non penso sia corretto.Per darti un'idea io farei così: /* LCD PORT addresses */ sfr at 0x00 LCDDATA; sfr at 0x01 LCDCTRL; //Variabile globale che memorizza //lo stato dei bit di controllo unsigned char LCD_Ctrl = 0x03; // RS(bit 0) e EE(bit 1) alti void LCD_Res_RS() // Azzera RS { LCD_Ctrl &= 0xfe; // RS = 0 LCDCTRL = LCD_Ctrl; // Scrive sull'uscita } void LCD_Set_RS() // Setta RS { LCD_Ctrl |= 0x01; // RS = 1 LCDCTRL = LCD_Ctrl; // Scrive sull'uscita } void LCD_Res_EN() // Azzera EN { LCD_Ctrl &= 0xfd; // EN = 0 LCDCTRL = LCD_Ctrl; // Scrive sull'uscita } void LCD_Set_EN() // Setta EN { LCD_Ctrl |= 0x02; // EN = 1 LCDCTRL = LCD_Ctrl; // Scrive sull'uscita } // Per scrivere sempre in modalità a 4 bit // si potrebbe fare così /****************************************/ /* Write a byte to the LCD (4 bit mode) */ /****************************************/ void LCD_WRITE (unsigned char c) { LCDDATA = c; LCD_STROBE(); LCDDATA = c << 4; LCD_STROBE(); DelayUs(50); }Forse esiste un altro modo ma intanto puoi provare così.Ciao Link al commento Condividi su altri siti More sharing options...
.:Matrix:. Inserita: 9 settembre 2007 Segnala Share Inserita: 9 settembre 2007 Grazie Giacomo,in settimana ultimerò la realizzazione delle schede del progetto e poi ti farò sapere.Volevo solo chiederti, in modo da capire, perchè non andava bene.Grazie. Link al commento Condividi su altri siti More sharing options...
giacomo56 Inserita: 9 settembre 2007 Segnala Share Inserita: 9 settembre 2007 Hai ragione scusa mi sono dimenticato di scriverlo.sfr at (LCDDATA & 0b10000000) LP0; non va perchè tra parentesi ci deve essere l'indirizzo della porta che è lo stesso per tutti i bit d'uscita. Puoi indirizzare la porta d'uscita non i singoli bit.Ciao. Link al commento Condividi su altri siti More sharing options...
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