Path: Home =>
AVR overview =>
Applications => LED grave
8*8 matrix LED grave with ATmega16
Properties
This describes a 8-by-8 LED matrix with the following properties:
- complete control with a ATmega16,
- conservative and robust design with transistor driver stages,
- multiplexing of two by four (upper and lower rows) lines instead of eight lines,
- multiplexing speed adjustable by a constant in the source code,
- high LED brightness by high currents (40..50 mA for a quarter of the time),
- software complete in assembler,
- four different text sequences in the EEPROM space can be selected by two DIL switches,
- integrated ASCII table for text display and simple graphics,
- text output as overwrite (character exchange) or shifted (ticker style) per DIL switch selectable,
- output speed can be dynamically controlled through control characters within the text stream,
- brightness selection by a DIL switch (100 or 50%), other selections possible by changes in the source code.
The whole circuitry (LED matrix, processor part, current drivers, supply) is displayed in the schematic.
In the upper portion the wiring of the LEDs is shown. The eight cathodes of the upper and lower four
lines are connected. The four anodes of a column are also connected, leading to eight upper and eight lower
anode lines.
The cathode lines are each driven by a transistor BD439, because a maximum of up to 400 mA current
can occur. For the anode lines transistor types BC547 are sufficient, because always only one LED is on.
The driver transistors are necessary to stay within the current limits that a complete port can deliver.
The bases of the 24 driver transistors are connected to three processor ports via resistors. The processor
has a 10-pole ISP interface for programming and a four pole DIL switch also connected.
The supply for the operating voltage of 5 V is unspecific. The regulator 7805 devellops some
heat during operation, so it should be mounted to a small heat sink (approx. 20 K/W).
The parts are placed on two grid boards 10-by-10 cm (4-by-4 inches), that are placed back-by-back.
On one board all LED are mounted.
All other parts are mounted
on the second board.
The ISP interface and the
DIL switches are accessable from the side.
The two boards are interconnected
with 12-pole connectors. These two connectors bring eight columns and four lines each to the other side.
The software is written in assembler and availabe here in HTML-Format
and here in assembler text format. At the end of the
source code individual text sequences can be configured.
Integrated in the source code is a ASCII code table. This table was designed with a spreadsheet. The sheet
is availabe here in Open Office format resp.
here in Excel format (as exported from OO format, no warranty for functionality
and correctness).
When programming the processor the fuses have to be set according to the settings described in the source
code file. Especially the JTAGEN fuse has to be cleared, otherwise three driver port pins in port C doesn't
work correct.
The assembled flash code and the EEPROM content have to be programmed.
©2011 by http://www.avr-asm-tutorial.net