Thursday 5 September 2013

LED dot matrix scrolling text display

LED dot matrix scrolling text display is a led matrix display that shows text either from a computer or from the built-in memory. The display is controlled by an Atmel AVR-family microcontroller, AT 90S2313.

Hardware

Features (firmware v.1.0):
  • 50 x 7 LED:s
  • Computer link (serial port)
  • Scrolls either static text (without computer) or dynamic text (from a computer)
  • Automatic text source selection
  • Maximum static text length 768 characters
  • Programmable font, 256 different characters
  • Character width 0-5 pixels (+optional blank column between the characters)

Note: Once you have constructed the device, you must write a font in its memory for the display to show anything meaningful. Both static and dynamic text modes use the internal font to transform the character codes to visible characters.


Hardware operation

Electronics

The display has seven rows containing 50 LEDs each. The display controller consists of seven transistors and seven 8-bit shift registers which all are controlled by the MCU (AT90S2313). Each transistor drives one row selecting whether it’s enabled or not. The shift registers are chained together, so their serial input is converted to parallel output of 56 bits, 50 of which is used to drive the columns. The last six bits remain unused.

The MCU updates the screen a single row at a time. While displaying one row, it feeds the contents of the next row to the shift registers. After that it disables the current row, enables the next one and commands the shift registers to show their data on the outputs. This cycle is performed hundreds of times in a second forming the whole image on the display.

The device has an EEPROM memory of 2 kilobytes (24c16) that is used to store the static text and the font. The contents of the memory is read and written by the MCU that either follows the commands received via the computer interface or works independently reading the static text and showing it on the display over and over again.

Computer interface

The computer serial interface uses the normal UART (with 9600bps, 8 bit, 1 stop bit, no parity) to communicate with the computer software. The device keeps sending the state of its receive buffer to the computer: each byte sent tells how many bytes of free space there is in the buffer. If the device receives a byte from the computer, it checks whether it is a command byte. If not, the byte is considered to be a text character and the corresponding character image in the EEPROM will be shown on the display. If a command is recognized, the MCU will act as asked. In a case of serial buffer overflow, the extra bytes are ignored.

No comments:

Post a Comment