Nokia5110 graphical display interfacing with AVR ATmega16/ATmega32



Nokia5110 is a graphical display that can display text, images and various patterns.
It has a resolution of 48×84 and comes with a backlight.
It uses SPI communication to communicate with a microcontroller.
Data and commands can be sent through microcontroller to the display to control the display output.
It has 8 pins.
For more information about Nokia5110 display and how to use it, refer the topic Nokia5110 Graphical Display in the sensors and modules section.
For information on SPI in ATmega 16, refer the topic on SPI in AVR ATmega16/ATmega32 in the ATmega inside section.


Circuit diagram

  • Following circuit diagram shows the complete interfacing of Atmega16 / 32 to nokia5110 display.
  • The pin connection is, reset pin of display is connected to the PB0 pin, CE is connected to SS(PB4) pin, DC is connected to PB1 pin, Din is connected to MOSI(PB5) pin, clk is connected to SCLK(PB7) pin of microcontroller.

Programming for Nokia5110 Display

  • In the coding, first step is to initialize the SPI_Master_H_file.h library and N5110.h header files.
  • SPI_Master_H_file.h file contains definition of SPI initialization.
  • N5110.h file contains all the characters and symbols array definition.

Initialization of Nokia5110

  • In initialization of Nokia5110, the first step is to reset the display by sending low to high pulse to reset pin.
  • Send command 0x21H for set the command in additional mode (H=1).
  • Then set VOP=5V by sending command 0xC0H.
  • Set the temp. coefficient to 3 by sending 0x07H.
  • Set the voltage bias system using 0x13 command, it is recommended for n=4 and 1:48 mux rate.
  • Send the command 0x20 for basic mode operation (H=0).
  • And then send 0x0C for normal mode operation.

Command write function

  • For command, operation makes DC pin low.
  • Enable the slave select pin.
  • Send the command on the SPI data register.
  • Then the DC pin is enabled for data operation.
  • Disable the slave select pin.

Leave a Comment

Your email address will not be published. Required fields are marked *