Forum: Mikrocontroller und Digitale Elektronik EA DOGXL240-7 mit UC1611S


von roblue (Gast)


Lesenswert?

Hallo,

ich habe mir ein DOGXL240-7 von EA zugelegt. Der verbaute Kontroller ist 
ein UC1611S.
Habe das Display schon mal soweit, dass ich einen Text mit einer 5x8 
Font an beliebigen Cursor Positionen anzeigen lassen kann. Bitmap's aus 
dem ROM sind ebenfalls kein Problem.
Ich benötige aber größere Fonts (22x36, 32x53) die ich im Forum gefunden 
habe, allerdings geht die Einbindung über mein Wissen hinaus (die Font's 
gehen dann über die 8 Pixel/Page und hier scheiterts).

Hat bereits jemand von Euch schon eine fertige Library für dieses 
Display bzw. kann mir ein paar Tipps geben?
Ich programmiere in C (MikroE Compiler).


Hier habe ich die Fonts her: Beitrag "LCD Schriftarten ( Fonts in veschiedenen Größen )"

Vielen Dank,
roblue

von roblue (Gast)


Angehängte Dateien:

Lesenswert?

Habe es heute geschafft mir selbst eine "Library" zu schreiben. 
Zumindest bekomme ich jetzt schon mal eigene Strings mit einer eigenen 
Font auf das Display.

LG

von CD (Gast)


Lesenswert?

Würdest du diese hier evtl. zur Verfügung stellen?

von Rudolph R. (rudolph)


Lesenswert?

So schwierig ist das mit dem Display nun auch nicht.
Im Gegensatz zu dem DOGXL160 hat das wenigstens nur ein Bit pro Pixel.

Init nach Datenblatt, Column Address und Page Address setzen, Pixel 
schreiben.

Und dann sowas wie das hier:
1
// schreibt ein einzelnes Zeichen an eine angegebene Zeilen/Spalten Position
2
// Zeile und Spalte gelten für 8x8 Chars, also Zeile in Pixel = Zeile * 2, Spalte in Pixel = Spalte * 8
3
// 12 SPI-Transfers pro Zeichen -> 19,2µs @ 5MHz SPI
4
void write_char(uint8_t character, uint8_t zeile, uint8_t spalte)
5
{
6
  uint8_t charx[8];
7
  uint8_t x;
8
9
  memcpy_P(&charx[0], &font[character-0x20][0], 8);
10
  
11
  spalte *= 8;
12
13
  PORTB &= ~LCD_CD; // Display auswählen
14
  PORTB &= ~LCD_RS; // RS auf Low -> Kommandos
15
  asm volatile ("nop");
16
  SPI_Transmit(spalte & 0x0f); // Set Column Address LSB
17
  SPI_Transmit(0x10 | (spalte >> 4)); // Set Column Address MSB
18
19
  SPI_Transmit(0x60 | (zeile & 0x0f)); // Set Page Adress LSB
20
  SPI_Transmit(0x70 | (zeile >> 4)) ; // Set Page Adress MSB
21
22
  PORTB |= LCD_RS; // RS auf High -> Daten
23
  for(x=0;x<8;x++)
24
  {
25
    SPI_Transmit(charx[x]);
26
  }
27
28
  PORTB |= LCD_CD; // Display abwählen
29
}

von Wolfgang (Gast)


Lesenswert?

Hallo roblue,

ich habe auch gerade dieses Display auf dem Tisch liegen. Ich moechte es 
mit einem RaspBerry PI am hardware I2C bus betreiben. Hast du irgend was 
in "plain C" was funktioniert ? Sonst mus sich mich durch die u8g2 lib 
wuehlen. Die ist fuer Arduino, ich muss da dann also alle 
arduino-spezifischen I2C calls umbauen.

Gruss,
   W.

von shruthi (Gast)


Lesenswert?

roblue schrieb:
> Today I managed to write myself a "library".
> At least I already get my own strings with my own
> Font on the display.
>
> LG


hi sir,
I'm working out with this controller , pls could u help me out with, how 
to write fonts on the display

von shruthi (Gast)


Lesenswert?

roblue


hi sir,

could u help me out how to write font on the display

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.