Engineers Garage

  • Electronic Projects & Tutorials
    • Electronic Projects
      • Arduino Projects
      • AVR
      • Raspberry pi
      • ESP8266
      • BeagleBone
      • 8051 Microcontroller
      • ARM
      • PIC Microcontroller
      • STM32
    • Tutorials
      • Audio Electronics
      • Battery Management
      • Brainwave
      • Electric Vehicles
      • EMI/EMC/RFI
      • Hardware Filters
      • IoT tutorials
      • Power Tutorials
      • Python
      • Sensors
      • USB
      • VHDL
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Product News
    • Business News
    • Company/Start-up News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • DigiKey Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Learn
    • eBooks/Tech Tips
    • Design Guides
    • Learning Center
    • Tech Toolboxes
    • Webinars & Digital Events
  • Resources
    • Digital Issues
    • EE Training Days
    • LEAP Awards
    • Podcasts
    • Webinars / Digital Events
    • White Papers
    • Engineering Diversity & Inclusion
    • DesignFast
  • Guest Post Guidelines
  • Advertise
  • Subscribe

Moving LED Display Using MAX-6952 IC

By Ashutosh Bhatt April 21, 2008

This moving LED Display uses four 5×7 Dot-matrix bar along with Max-6952 driver IC and AT89C51 Microcontroller. Max-6952 is LED dot-matrix driver IC from MAXIM. Max-6952 can drive up-to 4 Digits (140 LEDs) included static RAM that stores each digit, as well as font data for 24user-definable characters and built-In ASCII 104-Character. This max6952 IC is SPI Compatible. This Max-6952 IC can drive four single Colour matrix display or two bicolour matrix Display.

In this project, I have interfaced four single colour LED Dot-matrix Display with AT89C51 microcontroller using Max-6952. This Driver IC is very useful because we cannot interface four Digits directly to port pins without consuming almost all the pins, which is quite impractical.

This IC have built-In ASCII 104 characters so to display any characters we have to just provide ASCII code in Hex to this IC through DIN (Data-Input) pin.
 
The MAX6952 interfaced with AT89C51 through an SPI-compatible serial interface. The interface has three inputs, clock (CLK), chip-select (CS), and data in (DIN) and one output, data out (DOUT).Here in this project, I have used only three input pins.
 
We can use this Moving LED Display as a Name plate or in BUS to indicate Route or at any office, building to indicate floor as well as in LIFT system.

Description

 

BLOCK DIAGRAM OF MOVING LED DISPLAY

DESCRIPTION OF BLOCKS

1. 8051 Microcontroller (AT89C51)

In this project I have used AT89C51 Microcontroller which is 40 pin µC. This µc has 4KB of ROM and 128 bytes of RAM and built in Timer/counter, UART modules etc. It has Total 32 I/O pins. It can run on any frequency between 4 to 44 MHz and I have used 12 MHz in this particular project.8051 micro-controller doesn’t have SPI module in it so I have used its i/o pin to interface with SPI compatible Max-6952 Display driver.

2. Max-6952 IC

This Max-6952 IC can drive four single Colour matrix display or two bicolour matrix Display. It has total 40 pins. It can operate on 2.7V to5.5V.It included static RAM that stores each digit, as well as font data for 24user-definable characters and built-In ASCII 104-Character.This Max-6952 IC is SPI Compatible. It contains 16-bit shift register into which Input data are clocked on the rising edge of CLK, when CS is low. This IC have built-in ASCII 104 characters so to display any characters we have to just provide ASCII code in Hex to this IC through DIN (Data-Input) pin.

 

O0 to O13: These pins are connected to LED display’s anode.

O14 to O23: This pins source current to the display’s anode columns.
 
V+: Positive Supply Voltage.
 
GND: Ground
 
DIN: Serial Data Input. Data is loaded into the internal 16-bit shift register on the rising edge of the CLK.
 
CLK: Serial-Clock Input. On the rising edge of CLK, data is shifted into the internal shift register. CLK input is active only while CS is low.
 
CS: Chip-Select Input. Serial data is loaded into the shift register while CS is low. The last 16 bits of serial data are latched on CS’s rising edge.
 
OSC: To use the internal oscillator, connect the capacitor from OSC pin to GND pin. To use the external clock, drive OSC with a 1MHz to 8MHz CMOS clock.
 
Registers of Max-6952
 
This IC has many registers but we need to configure at least four registers which are 1) Configuration Register,2) Scan Limit Register, 3) Intensity Register, 4) Data Register.
 
1. Configuration Register
 
This register has total of bit from D0 to D7.Its address is 0x04.To configure this register we need to first shift address 0x04 into IC through DIN pin followed by data which need to configure as we need. We need to set or reset only two bits first is E bit and other one is S bit.E bit is Blink enable nit which is set to blink particular Digit. And S bit is use to select mode of operation 0 for shutdown mode and 1 for normal mode. Here we used normal mode and also blink disabled.
 
2. Scan-limit Register
 
This register is used to select number of Digit we want to display either two or three. Its address is 0x03 and we need to set or reset only D0 bit to select between 2 or 4 Digit.0 for only two digits and 1 for all four.
 
3. Intensity Register
 
This register is use to set intensity for individual digit. Here we set maximum intensity for better displaying. Its address is 0x01 for digit0 and digit 2 and 0x02 for digit1 and digit3.we need to load data 0x0f and 0xf0 means we need to set all four lower bits for digit0&2 and upper bits for digit1&3 to achieve maximum intensity.
 
4. Data Register
 
This IC contains eight data registers to store the character data. These registers are arranged in two planes of 4 bytes, called P0 and P1 means each digit have two plan namely P0 & P1. Each digit is represented by 2 bytes of memory, 1 byte in plane P0and the other in plane P1.If we want to blink Display we just need to write data in one plan say P0 and leave plan P1 blank without data. If we don’t want to blink display we just need to write same data in both plans. But remember that to blink display we also need to enable blink mode using ‘E’ blink bit in configuration register.

METHOD TO INTERFACE IC-6952 WITH 8051

Above is given Serial-Data format to write data in to IC-Max- 6952.To read or write data in this IC we first need to send read or write Bit means we need to inform IC whether we are going to read or write the data. After that we need to provide address where we want to write data. After address we need to send 8-Bit of data serially. All this bits must need to send serially.
 
Now to write data into this IC we must need to follow some steps which are shown in flow diagram below.
 
First we need to make CS pin low which is chip select pin. Means we first need to select or activate chip. After this we need to provide rising edge of clock to send data or address in to shift register. First make CLK low and then send 1Bit of data/address then make CLK high. On each rising edge of clock 1 bit of data will be loaded into shift register. As we need to send total 16Bit of data which contain 1 read/write bit + 7Address bits + 8 data bits we need to repeat this step for 16 times. After sending 16 bit in to shift register we need to make CS pin High to latch 16bits of data from shift register to internal register of Max-6952.
 
Following are steps to write into MAX-6952

 

HOW IT WORKS

The MAX6952 interfaced with AT89C51 through an SPI-compatible serial interface. The interface has three inputs, clock (CLK), chip-select (CS), and data in (DIN) and one output, data out (DOUT).Here in this project, I have used only three input pins.

We need to configure four registers which are explained earlier. First we need to configure the configuration registers to select normal mode and blink disabled by loading address and data accordingly .We need to send write bit followed by address of configuration register and then data to sets the function. Then we need to set scan limit to select number of digit we want to us. Here we have used four digits so we need to load 0x01 data into scan limit register which has address 0x03.after that we have to set intensity of digit segments so here we set it to maximum using intensity register by loading data 0x0f and 0xf0 for digit 0&2 and digit 1&3 respectively. All this data must be loaded in to registers by using steps as I mentioned earlier.

After setting all these registers as per our requirement we need to provide data to data or digit register that we want to display. The data in the digit registers does not control the digits directly. Instead, the data means ASCII code is used to address a character generator, which stores the data of a 128-character font.

This IC have built-In ASCII 104 characters so to display any characters we have to just provide ASCII code in Hex to this IC through DIN (Data-Input) pin. We need to load ASCII code for individual digits into plan P0 and plan P1.If we need blinking mode then ASCII code need to be loaded in only one plan and other remains blank. If we don’t want blink mode we just need to write same ASCII in both plan. Here we are going to display ENGINEERS GARAGE without blinking so we need to write ASCII of all this characters in both plans. For example ASCII in hex of character E is 0x45 so we need to store 0x45 in data register of particular digit in both plans.
 
Here we are going to display message ENGINEERS GARAGE in scrolling manner which is achieved by shifting ASCII of particular character like we have only four digit segment so to display such long message we need to load ASCII of First four character in respective data register then need to shift ASCII of message one by one to achieve this pattern for example we need to write ASCII of “ENGI” into data register then after some delay we need to load ASCII of “NGIE” in to data register and so on. All this data must be loaded in steps as I mentioned. To load ASCII in particular digit we need to send address of that digit followed by ASCII code. Here we disabled the blinking mode so address of digit 0 to digit 3 is 0x60 to 0x63 respectively.

 

Project Source Code

 

Project Source Code

###

//Program to 

###

 



Filed Under: Electronic Projects

 

Next Article

← Previous Article
Next Article →

Questions related to this article?
👉Ask and discuss on Electro-Tech-Online.com and EDAboard.com forums.



Tell Us What You Think!! Cancel reply

You must be logged in to post a comment.

EE TECH TOOLBOX

“ee
Tech Toolbox: 5G Technology
This Tech Toolbox covers the basics of 5G technology plus a story about how engineers designed and built a prototype DSL router mostly from old cellphone parts. Download this first 5G/wired/wireless communications Tech Toolbox to learn more!

EE Learning Center

EE Learning Center
“engineers
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.

HAVE A QUESTION?

Have a technical question about an article or other engineering questions? Check out our engineering forums EDABoard.com and Electro-Tech-Online.com where you can get those questions asked and answered by your peers!


RSS EDABOARD.com Discussions

  • Snooping Around is All
  • mosfet driver problem in regeneration mode
  • Industrial Relay Board Design for Motorcycle Use
  • connector model question
  • ADEM III ECM — No CAN Signal & Power Supply Issue

RSS Electro-Tech-Online.com Discussions

  • Sump pit water alarm - Kicad 9
  • Pic18f25q10 osccon1 settings swordfish basic
  • Anyone jumped from Easyeda std to Easyeda pro?
  • turbo jet fan - feedback appreciated.
  • More fun with ws2812 this time XC8 and CLC

Featured – LoRa/LoRaWan Series

  • What is the LoRaWAN network and how does it work?
  • Understanding LoRa architecture: nodes, gateways, and servers
  • Revolutionizing RF: LoRa applications and advantages
  • How to build a LoRa gateway using Raspberry Pi
  • How LoRa enables long-range communication
  • How communication works between two LoRa end-node devices

Recent Articles

  • How IoT network topologies work
  • The top five AI startups to watch in 2025
  • STMicroelectronics unveils SoC based on secure MCU
  • Nexperia’s 48 V ESD diodes support higher data rates with ultra-low capacitance design
  • Taoglas releases Patriot antenna with 18 integrated elements covering 600 to 6000 MHz

EE ENGINEERING TRAINING DAYS

engineering

Submit a Guest Post

submit a guest post
Engineers Garage
  • Analog IC TIps
  • Connector Tips
  • Battery Power Tips
  • DesignFast
  • EDABoard Forums
  • EE World Online
  • Electro-Tech-Online Forums
  • EV Engineering
  • Microcontroller Tips
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips
  • 5G Technology World
  • Subscribe to our newsletter
  • About Us
  • Contact Us
  • Advertise

Copyright © 2025 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy

Search Engineers Garage

  • Electronic Projects & Tutorials
    • Electronic Projects
      • Arduino Projects
      • AVR
      • Raspberry pi
      • ESP8266
      • BeagleBone
      • 8051 Microcontroller
      • ARM
      • PIC Microcontroller
      • STM32
    • Tutorials
      • Audio Electronics
      • Battery Management
      • Brainwave
      • Electric Vehicles
      • EMI/EMC/RFI
      • Hardware Filters
      • IoT tutorials
      • Power Tutorials
      • Python
      • Sensors
      • USB
      • VHDL
    • Circuit Design
    • Project Videos
    • Components
  • Articles
    • Tech Articles
    • Insight
    • Invention Stories
    • How to
    • What Is
  • News
    • Electronic Product News
    • Business News
    • Company/Start-up News
    • DIY Reviews
    • Guest Post
  • Forums
    • EDABoard.com
    • Electro-Tech-Online
    • EG Forum Archive
  • DigiKey Store
    • Cables, Wires
    • Connectors, Interconnect
    • Discrete
    • Electromechanical
    • Embedded Computers
    • Enclosures, Hardware, Office
    • Integrated Circuits (ICs)
    • Isolators
    • LED/Optoelectronics
    • Passive
    • Power, Circuit Protection
    • Programmers
    • RF, Wireless
    • Semiconductors
    • Sensors, Transducers
    • Test Products
    • Tools
  • Learn
    • eBooks/Tech Tips
    • Design Guides
    • Learning Center
    • Tech Toolboxes
    • Webinars & Digital Events
  • Resources
    • Digital Issues
    • EE Training Days
    • LEAP Awards
    • Podcasts
    • Webinars / Digital Events
    • White Papers
    • Engineering Diversity & Inclusion
    • DesignFast
  • Guest Post Guidelines
  • Advertise
  • Subscribe