@all,
ich versuche nun schon den ganzen Tag mein Display zum laufen zu
bekommen.
Ich verwende die Routine von AVR-GCC Tutorial.
KIch habe das Display nur an 8 Datenpins angeschlossen und EN und RS von
einem weiteren Port verwendet.
Ich denke es ist eine Kleinigkeit jedoch finde ich sie nicht.
Ich habe da Display wie folgt angeschlossen.
PB0 --> DB0
PB1 --> DB1
PB2 --> DB2
PB3 --> DB3
PB4 --> DB4
PB5 --> DB5
PB6 --> DB6
PB7 --> DB7
PE6 --> RS
GND --> R/W
PE7 --> E
Hier die LCD-Routine.h
1 | void lcd_data(unsigned char temp1);
|
2 | void lcd_string(char *data);
|
3 | void lcd_command(unsigned char temp1);
|
4 | void lcd_enable(void);
|
5 | void lcd_init(void);
|
6 | void lcd_home(void);
|
7 | void lcd_clear(void);
|
8 | void set_cursor(uint8_t x, uint8_t y);
|
9 |
|
10 | // Hier die verwendete Taktfrequenz in Hz eintragen, wichtig!
|
11 |
|
12 | #define F_CPU 16000000
|
13 | #define __OPTIMIZE__
|
14 | // LCD Befehle
|
15 |
|
16 | #define CLEAR_DISPLAY 0x01
|
17 | #define CURSOR_HOME 0x02
|
18 |
|
19 | // Pinbelegung für das LCD, an verwendete Pins anpassen
|
20 |
|
21 | #define LCD_PORT PORTB //Datenport PORTB Ausgang
|
22 | #define LCD_DDR DDRB //Datenport PORTB Ausgang
|
23 | #define LCD_COM_PORT PORTE //Steuerport
|
24 | #define LCD_COM_DDR DDRE //Steuerport
|
25 | #define LCD_RS PE6
|
26 | #define LCD_EN PE7
|
27 | // DB0 bis DB7 des LCD sind mit DB0 bis DB7 des AVR verbunden
|
Die LCD-Routine.c hänge ich als Datei an.
Ich verwende AVR Studio,MEGA128 und ein Displaytech 162C BC BC Display
von Reichelt.
Was ich auch mache nach dem einschalten ist eine Reihe schwarz und daran
ändert sich auch nichts.
Ich bedanke mich schon mal für die Hilfe.
Thomas