mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Optrex 5008 4-bit Ansteuerung (GCC)


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat vielleicht schon jemand das Optrex 5008 mit einer 4 bit Ansteuerung
zum Laufen gebracht ?
Ich würde mich über etwas Beispielcode freuen...

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, ist ein SED1335 Controller drauf.
Vielen Dank!

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die Lib von Knut Baardsen gefunden.

Da ich das Display im 4-bit Modus ansteuern will habe ich die folgenden
Änderungen gemacht:

void lcd_write_data(unsigned char data)
{
/* originaler Code */
  LCDDATAPORT = data;
  LCDCTLPORT &= ~(A0);
  LCDCTLPORT &= ~(WR);
  LCDCTLPORT |= WR;  */

  // ab hier neue 4-bit routinen

  /* output high nibble first */
  LCDDATAPORT = (LCDDATAPORT & (~(0x0F << LCD_DATA_OFFSET))) | ((data &
0xF0) >> (4-LCD_DATA_OFFSET));
  LCDCTLPORT &= ~(A0); // wie gehabt, siehe oben
  LCDCTLPORT &= ~(WR);
  LCDCTLPORT |= WR;

  delay_ms(2); // sicher ist sicher ?

  /* output low nibble */
  LCDDATAPORT = (LCDDATAPORT & (~(0x0F << LCD_DATA_OFFSET))) | ((data &
0x0F) << LCD_DATA_OFFSET);
  LCDCTLPORT &= ~(A0);
  LCDCTLPORT &= ~(WR);
  LCDCTLPORT |= WR;

}

Gleiches Schema für die lcd_write_command Funktion.

Hier noch die defines:

#define LCD_DATA_OFFSET  0  // PB0 = 0; PB3 = 3 etc.
// Data port
#define LCDDATAPIN      PINA
#define LCDDATADDR     DDRA
#define LCDDATAPORT    PORTA
// Control port
#define LCDCTLPIN      PINB
#define LCDCTLDDR     DDRB
#define LCDCTLPORT     PORTB
// Control pins
#define RST         0x01
#define RD             0x02
#define WR             0x03
#define A0             0x04
// LCD display data
#define LCD_X_SIZE     128
#define LCD_Y_SIZE     128
#define LCD_XTAL       10000000

Das Display wird scheinbar initialisiert (gelöscht), allerdings kann
ich weder Text noch Grafik schreiben.

Ist die Umsetzung auf 4 Bit oben korrekt ?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ist die Umsetzung auf 4 Bit oben korrekt ?

Nein, denn der Controller unterstützt keine 4bit. Aber das hast du ja
bestimmt beim Lesen des Datenblatts schon gemerkt...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.