LCD-Controller
maschinell erzeugt
Im Forum und im Wiki
-
Thread
KS0108 GLCD Routinen
sind doch schon die funktionen int ks0108PutChar(char c) und void ks0108Puts(char* str) vorhanden.
font { uint8_t width; uint8_t height; PGM_P charData; }; // Function Prototypes void ks0108Enable(void); void ks0108Fill(uint8_t mode); void ks0108GotoXY(uint8_t, uint8_t); void ks0108Init(void); void ks0108SetDot(uint8_t, uint8_t); void ks0108ClearDot(uint8_t, uint8_t); void ks0108PutChar
-
Thread
LCD DM19264A (KS0108B Controller)
irgendwo. Ich benutze den PORTD als Datenausgang, den PORTB als Steuerausgang. Meine Verdrahtung in KS0108.h definiert: #define KS0108_DATA_PORT PORTD // Data-Port D #define KS0108_DATA_DIR DDRD #define KS0108_DATA_PIN PIND #define KS0108_CTRL_PORT PORTB // Controll-Port B #define KS0108_CTRL_DIR DDRB #define KS0108_RS (1 << 0) #define KS0108_RW (1 << 1) #define KS0108_EN (1 << 2) //#define KS0108_RST (1 << 3) // Reset = H wegen Widerstd gegen Vcc #define KS0108_CS1 (1 << 4) // 64x64 #define KS0108
-
Thread
Library KS0108
Hast du es versuch geschaft mit der funktion ks0108WriteData(by); nur ein Streifenmuster zu zeichenen. Ca. so:[c] ks0108WriteData(0x00); ks0108WriteData(0xFF); ks0108WriteData(0x00); ks0108WriteData(0xFF); ks0108WriteData(0x00); ks0108WriteData(0xFF); ks0108WriteData(0x00); ks0108WriteData(0xFF);[/c]
-
Thread
ks0108 lib aus Wiki: Problem mit Fontausgabe
ks0108WriteData(~data); } } // 1px gap between chars if(ks0108FontColor == BLACK) { ks0108WriteData(0x00); } else { ks0108WriteData(0xFF); } ks0108GotoXY
-8); }else ks0108GotoXY(ks0108Coord.x+1, ks0108Coord.y); } else { if(ks0108Inverted) data = ~data; LCD_DATA_OUT = data; // write data ks0108Enable(); // enable
-
Thread
GLCD Display und Atmega 32
font { uint8_t width; uint8_t height; PGM_P charData; }; // Function Prototypes void ks0108Enable(void); void ks0108Fill(uint8_t mode); void ks0108GotoXY(uint8_t, uint8_t); void ks0108Init(void); void ks0108SetDot(uint8_t, uint8_t); void ks0108ClearDot(uint8_t, uint8_t); void ks0108PutChar(char c, struct font font); void ks0108NewLine(uint8_t fontHeight, uint8_t offset); void ks0108PutString(char *string, struct font font); void ks0108PutStringP(PGM_P string, struct font font); char ks0108ReadData(uint8_t incXAdd); void
-
Thread
KS0108_Library
display starts up for(volatile uint16_t i=0; i<150000000; i++); // Initialize the LCD ks0108Init(0); // Select a font ks0108SelectFont(Arial_Bold_14, ks0108ReadFontData, BLACK); // Set a position ks0108GotoXY(15,10); // Print some text ks0108Puts_P(PSTR("KS0108-Treiber")); // a nice little round rect ks0108DrawRoundRect(5, 5, 117, 20, 8, BLACK); // Once again :) // Select a font ks0108SelectFont(Corsiva_12, ks0108ReadFontData, BLACK); // Set a position ks0108GotoXY(5,30); // Print
-
Thread
Grafik LCD am PortC geht am Port B nicht! atm8 & KS0108
, uint8_t color); int ks0108PutChar(char c); void ks0108Puts(char* str); void ks0108Puts_P(PGM_P str); uint8_t ks0108CharWidth(char c); uint16_t ks0108StringWidth(char* str); uint16_t ks0108StringWidth_P(PGM_P str); // Control Functions void ks0108GotoXY(uint8_t x, uint8_t y); void ks0108Init(uint8_t invert); inline uint8_t ks0108ReadData(void); void ks0108WriteCommand(uint8_t cmd, uint8_t chip); void ks0108WriteData(uint8_t data); #endif
-
Thread
Librarys einbinden - glcd (Ks0108) Test
the display starts up for(volatile uint16_t i=0; i<15000; i++); // Initialize the LCD ks0108Init(0); // Select a font ks0108SelectFont(Arial_Bold_14, ks0108ReadFontData, BLACK); // Set a position ks0108GotoXY(15,10); // Print some text ks0108Puts_P(PSTR("KS0108-Treiber")); // a nice little round rect ks0108DrawRoundRect(5, 5, 117, 20, 8, BLACK); // Once again :) // Select a font ks0108SelectFont(Corsiva_12, ks0108ReadFontData, BLACK); // Set a position ks0108GotoXY(5,30); // Print