-
-
Neuer Benutzer
Öfters hier
Ich habe das Display im 4-Bit-Modus initialsiert.
Hier ist der LCD-Initialisierungs-Code aus der LCD-Routine :
(habe die restlichen Funktion dieses Codes zwecks Postens weggelassen,
weil der relativ lang ist , ich hoffe das reicht):
lcdanzeige.c :
/*Die Pins RC4-RC7 werden zum Schreiben als Ausgänge definiert (LCD_WRITE), und zum Lesen als Eingänge (LCD_READ).*/
struct port_b_layout const LCD_WRITE={0,0,0,0,0};
struct port_b_layout const LCD_READ={0,0,0,0,15};
/* Hier kann der Typ der Anzeige definiert werden
( 0=5x7, 1=5x10, 2=2 lines )*/
#define lcd_type 2
/*verschiedene Eigenschaften der LCD-Anzeige
0x0C = Display an
0x01 = Display löschen
0x06 = Adresspointer inkrementieren und Displayinhalt nicht verschieben */
byte CONST LCD_INIT_STRING[4] = {0x20 | (lcd_type << 2), 0x0C, 0x01, 6};
/* Initialisierung des LCD-Displays. Die verschiedenen Eigenschaften der Anzeige werden hier übertragen.*/
void lcd_init()
{
byte i;
set_tris_b(LCD_WRITE);
portb.rs = 0; // siehe 4-Bit Initialisierung (LCD-Datenblatt)
portb.rw = 0;
portb.enable = 0;
delay_ms(15); // 15 ms Pause
for (i=1;i<=3;++i)
{
lcd_send_nibble(3); // 3-mal 0011 mit mind. 5ms Pause
delay_ms(5);
}
lcd_send_nibble(2); // 0010 = 4-Bit Interface
for (i=0;i<=3;++i)
lcd_send_byte(0,LCD_INIT_STRING[i]);
}
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen