Das Besondere beim DOGM im 8-bit Modus bei 3.3V Betriebsspannung ist das Timing beim Schreiben.
Das sieht dann beispielswweise so aus:
Die kritischen Zeiten sind die delays "um das Enable Bit herum". Ein standard 44780-basiertes Display ist da scheinbar toleranter. Das DOGM jedenfalls braucht diese Delays jedoch. (Generell wäre auch empfehlenswert, eine Abfrage-Routine für sein "Busy-Flag" zu nutzen, anstatt delays zu verwenden.)Code:void LCD_Write(unsigned char data, int8 rs) { if(rs) RS_BIT = 0x0001; else RS_BIT = 0x0000; PMDATA = data; RW_BIT = 0; delay_us(4); // Tb E_BIT = 1; delay_us(10); // Tm E_BIT = 0; // delay_us(1); // Te delay_us(30); Nop(); Nop(); Nop(); Nop(); }
Ein Workaround wäre auch, entweder das Display mit 5V zu betreiben, oder mit 3.3V die SPI-Ansteuerung zu benutzen. Dort gibt es dieses Problem nicht.
Viel Erfolg,
Hartwig







Zitieren


Lesezeichen