61-LCD_Nokia5110-Library (STM32F4)

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 :

n5110

Nokia 5110 Display

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 :

ub_stm32f4_lcd_nokia5110_v100

Hier der komplette CooCox-Projektordner zum Download :

Demo_61_LCD_Nokia5110


4 Antworten auf 61-LCD_Nokia5110-Library (STM32F4)

  1. Joerg sagt:

    getestet… Funktioniert.

  2. kai sagt:

    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

    • admin_ub sagt:

      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 !!)

  3. kai sagt:

    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.


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.