Electronic projects

Not rated 9,618

Circuit Image

The LED moving font consists of individual modules, each containing 64 LEDs arranged in an 8x8 matrix. These modules can be cascaded to achieve the desired font size. Each module is managed by the LED display driver MAX7219 (or MAX7221), capable of driving 64 LEDs. Data for the display is serially transmitted to the driver through the DIN, CLK, and LOAD pins. The DOUT pin can be linked to the DIN input of the subsequent display driver, with all CLK and LOAD pins interconnected. The datasheet is accessible on Maxim's website. Control of the modules is handled by an 8051-compatible microcontroller, either the AT89C51 (LED moving font controller variant 1) or the AT89C2051 (LED moving font controller variant 2) from Atmel, which provide 4 kB and 2 kB of flash memory, respectively. The LED display driver MAX7219 CNG can be sourced from Reichelt or Segor, and free samples can be requested from Maxim's website. The LED display driver is mounted alongside an LED module (8x8 matrix) on the LED module PCB. The text to be displayed is stored in an EEPROM, which can be programmed via a serial RS232 connection from a PC. A text file containing the desired text can be sent from the PC. The baud rate can be adjusted to 600 Baud (using an additional jumper) to accommodate PCs that may encounter issues with hardware handshaking at higher speeds of 1200 or 9600 Baud. Depending on the EEPROM's storage capacity, up to 2045 characters can be stored. It is also feasible to store the text in the flash ROM of the microcontroller; however, this requires reassembling the program code and reprogramming the flash ROM if the text is modified. Using an EEPROM allows for easy text updates via serial downloading. A maximum of 11 LED modules (each consisting of 8x8 LEDs) can be utilized, with the moving font operational with just one module. In EEPROM mode, up to 255 speed values can be set for adjusting the moving speed. The selected speed value can be transmitted via the serial interface and will be stored as a byte in the EEPROM.

The LED moving font system is a modular display solution designed for flexibility and scalability in visual output. Each 8x8 LED matrix module can be independently controlled, allowing for seamless expansion to meet the specific requirements of various applications. The MAX7219 or MAX7221 display driver serves as the core of the system, facilitating efficient control of the LED arrays while minimizing the complexity of wiring and connections. By using a serial communication protocol, the system ensures that data transfer is streamlined, reducing the number of required control lines and simplifying overall circuit design.

The choice of microcontrollers, AT89C51 and AT89C2051, provides sufficient processing power along with adequate memory for text storage and manipulation. Their compatibility with the 8051 architecture allows for the integration of existing firmware and libraries, enhancing development efficiency. The use of EEPROM for text storage is particularly advantageous, as it allows for easy updates without the need for extensive reprogramming, thereby facilitating rapid prototyping and iterative design processes.

Incorporating a serial RS232 interface for text downloading from a PC further enhances the system's usability, enabling users to input and modify text content with ease. The adjustable baud rate feature is critical for ensuring compatibility with a wide range of PC hardware, preventing communication issues that could arise from mismatched settings.

The ability to set moving speed values and store them in EEPROM adds an extra layer of customization, allowing users to tailor the display's behavior to their specific needs. This feature, combined with the capacity to cascade multiple modules, makes the LED moving font system highly versatile, suitable for applications ranging from advertising displays to decorative installations.

Overall, this LED moving font system exemplifies a well-thought-out design that balances performance, flexibility, and user-friendliness, making it an excellent choice for various electronic display applications.The LED moving font is built up of separate modules consisting of 64 LEDs each (8x8 matrix). The modules can be cascaced according to the desired size of the font. Each module is controlled by the LED display driver MAX7219 (or MAX7221) which can drive 64 LEDs. The display data is transferred serially to this display driver via the pins DIN, CLK and LOAD. The pin DOUT can be connected to the input DIN of the following display driver, all CLK and all LOAD pins are connected together. The datasheet is available on Maxim`s homepage. The modules are controlled by an 8051-compatible microcontroller AT89C51 (LED moving font controller variant 1) or AT89C2051 (LED moving font controller variant 2) from Atmel which provide 4 kB or 2kB flash memory on-chip.

The LED display driver MAX 7219 CNG is available from Reichelt or Segor, a free sample can be ordered on the homepage of Maxim. The LED display driver is mounted together with a LED module (8x8 matrix) on the LED module PCB. The display text is stored in a EEPROM. The text can be downloaded via a serial RS232 connection from a PC. From the PC a text file containing the text is sent. The baudrate can also be set to 600 Baud (via additional jumper), because some PCs have problems with hardware handshaking, which would be necessary at 1200 or 9600 Baud download speed.

Dependent on the storage size of the EEPROM up to 2045 characters can be stored. It is also possible to store the text in the flash ROM of the microcontroller. But then it is necessary to reassemble the program code if the text is changed and to reprogram the flash ROM. If an EEPROM is used, changes of the text can be done easily via serial downloading. A maximum of 11 LED modules (each module consisting of 8x8 LEDs) can be used. The moving font is already working with 1 module. Adjusting moving speed: in EEPROM-Mode, 255 speed values can be set. The selected value can be transmitted via serial interface and will be stored in a byte in EEPROM. 🔗 External reference