Hier eine Library von “Joerg” mit der man das LCD Display Nokia – 5110 ansteuern kann. Das Grafik Display hat eine Auflösung von 84 x 48 Pixel und ist günstig z.B. bei Ebay zu bekommen (ca. 5 EUR).
Die Library hat einen 6×8 Pixel Zeichensatz dabei um Texte und Zahlen ausgeben zu können.
Im H-File kann zwischen Hardware und Software SPI gewählt werden.
Danke und Gruss an “Joerg” für die Arbeit und das Display.
Bild :
Benutzte Pins :
1 2 3 4 5 6 | PB9 = LED (LIGHT) PB10 = Reset (RST) PB11 = ChipSelect (CE) PB12 = Mode (DC) PB13 = Clock (CLK) PB15 = Data (DIN) |
Voraussetzungen :
1 2 | Benutzte Module der CooCox-IDE : GPIO, (SPI) Benutzte Librarys : keine |
Funktionen :
1 2 3 4 5 6 7 8 | void LCD5110_init(void); // zum Init vom Display void LCD5110_write_char(unsigned char c); // zum anzeigen eines Zeichens void LCD5110_write_char_inv(unsigned char c); // zum anzeigen eines invertierten Zeichens void LCD5110_write_string(char *s); // zum anzeigen von einem String void LCD5110_clear(void); // zum loeschen vom Display void LCD5110_set_XY(unsigned char X, unsigned char Y); // zum setzen vom Cursor void LCD5110_write_Dec(unsigned int buffer); // zum anzeigen einer Zahl void LCD5110_Led(unsigned char c); // zum schalten der Beleuchtung |
Beispiel :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | //-------------------------------------------------------------- // File : main.c // Datum : 22.09.2013 // Version : 1.0 // Autor : Joerg (angepasst von UB) // EMail : mc-4u(@)t-online.de // Web : www.mikrocontroller-4u.de // CPU : STM32F4 // IDE : CooCox CoIDE 1.7.4 // GCC : 4.7 2012q4 // Module : CMSIS_BOOT, M4_CMSIS_CORE // Funktion : Demo der LCD Nokia5110 Library // Hinweis : Diese zwei Files muessen auf 8MHz stehen // "cmsis_boot/stm32f4xx.h" // "cmsis_boot/system_stm32f4xx.c" //-------------------------------------------------------------- #include "main.h" #include "lcd_5110.h" int main(void) { SystemInit(); // Quarz Einstellungen aktivieren // Init vom Nokia5110 Display LCD5110_init(); LCD5110_set_XY(2, 0); LCD5110_write_string("Nokia 5110"); #ifdef USE_Hard_SPI LCD5110_set_XY(0, 1); LCD5110_write_string("Hard SPI"); #endif LCD5110_set_XY(5, 2); LCD5110_write_string("Test"); LCD5110_set_XY(0, 3); LCD5110_write_string("14 Zeichen"); LCD5110_set_XY(0, 4); LCD5110_write_string("12345678901234"); LCD5110_set_XY(4, 5); LCD5110_write_string("6 Zeilen"); while(1) { } } |
Hier die Library zum Download :
Hier der komplette CooCox-Projektordner zum Download :
getestet… Funktioniert.
Hallo,
habe mir auch so ein Display geholt und das Beispiel-Projekt heruntergeladen und ausprobiert. Lediglich die LED Beleuchtung lässt sich Ein- und Ausschalten. Ich habe im Internet nichts zur Pinbelegung meines Displays gefunden.
Ich habe es wie folgt angeschlossen:
PB9 = LED. Bei mir heißt der Pin BL
PB10 = Reset. Bei mir heißt der Pin RST
PB11 = ChipSelect. Bei mir gibt es einen Pin CE. Ich nehme an, dass es der CS Pin ist.
PB12 = Mode (DC). Bei mir heißt der Pin DC
PB13 = Clock. Bei mir heißt der Pin CLK
PB15 = Data. Bei gibt es einen Pin Din. Ich nehme an, dass es der Data Pin ist
Könnte das soweit korrekt sein?
Kann es sein, dass mein Display einen anderen Controller nutzt?
Ich habe auf Amazon und Ebay geschaut. Alle Displays, die man dort findet haben die Pinbezeichnungen, die auch auf meinem Display stehen.
Oder ist mein Display einfach nur defekt?
Danke und Gruß
Kai
sorry, diese Lib ist nicht von mir und ich habe auch so ein Display nicht. Ich gehe aber stark davon aus das sie funtkioniert. (siehe Post von Joerg). probier im H-File mal den Define auf “USE_Hard_SPI”. die Pinzuordnung sieht ok aus (nochmal alle Durchpiepsen !!)
Die Library funktioniert.
Es handelte sich um einen Wackelkontakt an der Stiftleiste des Displays.
Ich habe den einen Kontakt nachgelötet. Jetzt geht es einwandfrei.