Ich versuche nun schon seit geraumer Zeit ein EA DOGL128B graphic
Display an einem Atmega328p zum laufen zu bringen.
Das Display habe ich nach der im Datenblatt gezeichneten "Dual-Supply"
Schaltung angeschlossen, wobei die Spannung für den Kontrast aus einem
12V Netzteil geliefert wird.
Die 12V werden dann per 7805 auf 5V heruntergeregelt und dann durch den
Spannungsabfall an drei Dioden auf 3V gebracht, welche den Controller
sowie V0 bis V4 am Display versorgen.
Das das nicht ganz ideal ist, ist mir zwar durchaus bewusst, aber einen
Linearregler für 3V habe ich im Moment leider nicht zur Hand.
Die Anschlüsse des Displays habe ich wie folgt an den Controller
gehängt:
SI -> MOSI
RESET -> PD2
CS -> PB1
SCL -> SCK
A0 -> PB0
kommuniziert wird per SPI über einen st7565r Displaycontroller.
Leider tut sich bei meinem Versuch das Display zu initialisieren
überhaupt nichts, auch wenn der Display-Modus auf reverse geändert wird,
was meiner Meinung nach ja ein invertieren des Hintergrund auch ohne
senden eines Frames zu Folge haben sollte.
Code verwende ich folgenden:
1 | void dogm_send_command(unsigned char data)
|
2 | {
|
3 | PORTB = 0b00000000;
|
4 | SPDR = data;
|
5 | }
|
6 |
|
7 | int main (void)
|
8 | {
|
9 |
|
10 | DDRD = 0xff;
|
11 |
|
12 | //reset auf high
|
13 | PORTD = 0b00000100;
|
14 |
|
15 | //A0 auf low -> commands senden, CS auf low
|
16 | DDRB |= 0b00000011;
|
17 | PORTB = 0b00000000;
|
18 |
|
19 | //Spi initialisieren
|
20 | SPCR = 0b010111001;
|
21 |
|
22 | //display reset
|
23 | PORTD = 0b00000000;
|
24 | _delay_ms(50);
|
25 | PORTD = 0b00000100;
|
26 |
|
27 | //display initialisieren
|
28 | dogm_send_command(0x40);
|
29 | dogm_send_command(0xA1);
|
30 | dogm_send_command(0xC0);
|
31 | dogm_send_command(0b10100111);
|
32 | dogm_send_command(0xA2);
|
33 | dogm_send_command(0x2B);
|
34 | dogm_send_command(0x27);
|
35 | dogm_send_command(0x81);
|
36 | dogm_send_command(0x10);
|
37 | dogm_send_command(0xAC);
|
38 | dogm_send_command(0x00);
|
39 | dogm_send_command(0xAF);
|
40 | }
|
Datenblätter:
dogl128-6e: http://www.lcd-module.de/eng/pdf/grafik/dogl128-6e.pdf
st7565r: http://www.lcd-module.de/eng/pdf/zubehoer/st7565r.pdf