GFX_RES = 0; wait_ms(10); GFX_RES = 1; wait_ms(10); //System Set GFX_CMD = GFX_CMD_SYSTEM_SET; GFX_DAT = 0x32; //0 0 IV 1 W/S M2 M1 M0 //M0: 0 = Internes Character-Generator-ROM // 1 = Externes Character-Generator-ROM //M1: 0 = Keine D6-Correction CGRAM1 und CGRAM2 Adresse werden getrennt für CGRAM1 und CGRAM2 generiert // 1 = D6-Correction. CGRAM1 und CGRAM2 Adresse sind linear //M2: 0 = 8-Pixel Zeichenhöhe // 1 = 16-Pixel Zeichenhöhe //W/S: 0 = Single-Pannel Drive // 1 = Dual-Pannel Drive //IV: 0 = Darstellungskorrektur für invertiertes Display // 1 = keine Darstellungskorrektur für invertiertes Display GFX_DAT = 0x87; //WF 0 0 0 0 <- FX -> //FX: Breite eines Zeichens im Textmode (Wertebereich 0-15) FX = Wert + 1 //WF 0 = 16-line AC drive // 1 = two-frame AC drive GFX_DAT = 0x07; //0 0 0 0 <- FY -> //FY: Höhe eines Zeichens im Textmode (Wertebereich 0-15) FY = Wert + 1 GFX_DAT = 0x27; //<- C/R -> //C/R (Zeichenzahl einer Zeile - 1) * Breite eines Zeichens GFX_DAT = 0x39; //<- TC/R -> //TC/R GFX_DAT = 0xEF; //<- L/F -> //Zeilenzahl des LCD GFX_DAT = 0x28; //<- APL -> //Hat was mit dem virtuellen Screen zu tun GFX_DAT = 0x00; //<- APH -> //Hat was mit dem virtuellen Screen zu tun //Scroll GFX_CMD = GFX_CMD_SCROLL; GFX_DAT = GFX_ADR_LAY0&0xFF; //Startadresse des ersten Screenblock im Display-RAM (Low) GFX_DAT = GFX_ADR_LAY0>>8; //Startadresse des ersten Screenblock im Display-RAM (High) GFX_DAT = 0xEF; GFX_DAT = GFX_ADR_LAY1&0xFF; //Startadresse des zweiten Screenblock im Display-RAM (Low) GFX_DAT = GFX_ADR_LAY1>>8; //Startadresse des zweiten Screenblock im Display-RAM (High) GFX_DAT = 0xEF; GFX_DAT = 0x00; //Startadresse des dritten Screenblock im Display-RAM (Low) GFX_DAT = 0x20; //Startadresse des dritten Screenblock im Display-RAM (High) GFX_DAT = 0x00; //Startadresse des vierten Screenblock im Display-RAM (Low) GFX_DAT = 0x30; //Startadresse des vierten Screenblock im Display-RAM (High) //CSRFORM GFX_CMD = GFX_CMD_CSRFORM; GFX_DAT = 0x04; //Breite des Cursors + 1 GFX_DAT = 0x86; //Untere 4-Bit: Höhe des Cursors + 1 Bit7: 0 = Unterstrich-Cursor; 1 = Block-Cursor //CSRDIR GFX_CMD = GFX_CMD_CSRDIR_R; //Cursor-Richtung 0x4C:rechts 0x4D:links 0x4E:oben 0x4F:unten //HDOT SCR GFX_CMD = GFX_CMD_HDOT_SCR; //Ermöglicht ein Scrollen um einzelne Pixel GFX_DAT = 0x00; //max. sind 7 Pixel möglich. Damit läßt sich ein weiches scrolling erreichen. //Overlay GFX_CMD = GFX_CMD_OVLAY; //Bit0+1: 0 = OR; 1 = Exclusive-OR; 2 = AND; 3 = Priority-OR GFX_DAT = 0x01; //Bit2: 0 = Layer1 Text-Mode; 1 = Layer1 Grafik-Mode Bit3: 0 = Layer3 Text-Mode; 1 = Layer3 Grafik-Mode Bit4: 0 = 2-Layer; 1 = 3-Layer //Display On/Off GFX_CMD = GFX_CMD_DISP_ON; //Display On GFX_DAT = 0x14; //Screenblock 1 und 2 an, kein Flashing, kein Cursor //Grafikspeicher löschen GFX_CMD = GFX_CMD_CSRW; GFX_DAT = 0; GFX_DAT = 0; //CG RAM GFX_CMD = GFX_CMD_CGRAM_ADR; GFX_DAT = GFX_ADR_CGRAM&0xFF; GFX_DAT = GFX_ADR_CGRAM>>8; GFX_CMD = GFX_CMD_CSRW; GFX_DAT = GFX_ADR_CGRAM&0xFF; GFX_DAT = (GFX_ADR_CGRAM+0x400)>>8;