multi-level led dot matrix display panel -kim ling sheng -ts544.k55 2008.pdf
TRANSCRIPT
MULTI-LEVEL LED DOT MATRIX DISPLAY PANEL
KIM LING SHENG
This report is submitted in partial fulfillment of the requirements for the award
of Bachelor of Electronic Engineering (Industrial Electronics) With Honours
Faculty of Electronic and Computer Engineering
Universiti Teknikal Malaysia Melaka
May 2007
ABSTRACT
This project is about design and development multi-level LED dot matrix
display panel. Microcontroller programs are developed to generate characters and
graphics to for this module. The objectives of the project are to design a display
panel by using several dozens of LED dot matrix display and it accessible to the user
to change and modiQ the display pattern. This project consists of two major
components, which are the microcontroller and the LED dot matrix display. LED dot
matrix displays are well known as an effective and economical means of data
distribution to the masses. The encoded characters and graphics data are stored into
the memory of microcontroller. During the process, the data are sent to the LED dot
matrix for display. User can be change the character and pattern from the source code
and reprogram into the microcontroller.
ABSTRAK
Projek ini adalah berkenaan merekacipta dan membangun sebuah panel
berbilang aras paparan dot matrik. Sebuah program pengawal-mikro akan
dibangunkan untuk menghasilkan huruf dan grafik untuk modul ini. Objektif projek
ini adalah untuk merekacipta sebuah panel paparan dengan menggunakan paparan
dot matrik dan data corak yang diprogramkan mudah di ubah suai oleh pengguna.
Projek ini mengandungi 2 komponen utama, iaitu pengawal-mikro dan paparan dot
matrik LED. Paparan dot matrik LED adalah alat yang berkesan dan ekonomi dalam
penghantaran data untuk paparan umum. Data huruf dan grafik yang dikodkan akan
disimpan ke dalam memori pengawal-mikro. Dalam proses ini, data akan dihantar ke
dot matrik LED untuk paparan. Pengguna boleh mengubah huruf dan corak daripada
kod program dan diprogramkan ke pengawal-mikro.
CHAPTER 1
INTRODUCTION
1.1 Introduction
LED display has become popular to convey all types of message to the
public. With its attractive and interesting displays, including wide-variant of pattern.
Text or even graphics can be easily conveyed to the public either during the daytime
or midnight. However, previous signboards basically are produced in banner or
poster type. This is an ineffective method to convey information that able to attract
attention from the public especially during nighttime. LED displays also provide
power efficiency compound with any other type of electronic display board. The
development of this project will prevent the limitation of current signboard display.
The LED will turn ON once to display information for the whole day and the lifespan
is much longer than bulb and others lighting source. Therefore it can save the cost of
frequently changing the bulb, poster and also the energy used.
So in this project, a display panel using 18 pieces of 8x8 LED dot matrix
display will be designed. 18 pieces of 8x8 LED dot matrix display will be used to
give a large space to create more attractive numeric, alphanumeric and animation.
The display produces numeric, alphanumeric and also image characters for the
benefit of the mass. The design is user-friendly and easily- accessible to the user to
change and modify the display pattern.
1.2 Problem Statement
Small size of LED dot matrix display has a limited character to perform.
Limited character will cause hard to convey the message to the public clearly and
perform in attractive way. Therefore, this project had extend the size of the LED dot
matrix display by using 18 pieces of LED dot matrix which can be overcome the
problem of limited character.
1.3 Objectives
The main goal of this project is to allow us to implementation and design a
LED dot matrix display in the software and the hardware. Beside that there are others
objectives to be achieved in this project which are:
i) To design and develop a Multi-level LED Dot Matrix Display Panel using
PIC Microcontroller.
ii) To display the numeric, alphanumeric and image characters.
iii) User interactivity to modify / change pattern for display.
1.4 Scope of Project
The scope of work in this project is stated as given:
i) Using 18 pieces of 8x8 LED dot matrix to design the display panel.
ii) Using Assembly language as programming language to program the
microcontroller.
iii) The LED display is utilized Red colored LED dot matrix.
iv) Display alphanumeric and graphic character.
CHAPTER 2
LITERATURE REVIEW
2.1 Background Study
Hardware development is very important towards the success of integrating
both software and hardware. There many types or microcontroller and LED matrix
dot display can be found on the market. Therefore, a literature review was done to
develop the suitable component for the project. Besides, the application program is
debugged and modified to ensure that it runs accordingly to the program algorithm.
2.2 Review of Previous Studies
2.2.1 Moving Message Display
Figure 2.1 : LED Moving Font
The LED moving font is built up of separate modules consisting of 64
LEDs each (8x8 matrix). The modules can be cascaded 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
AT89C5 1 (LED moving font controller variant I ) or AT89C205 1 (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 matrixes) on the LED module PCB.
.he display text is stored in an 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 baud rate 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.
2.2.2 LED Displays Datalines
Figure 2.2: LED Displays Datalines
Data Display designs and manufactures a large selection of both indoor and
outdoor moving message displays, using LED (Light Emitting Diode) technology,
which is known for its reliability, legibility and ease of maintenance.
The LED displays are designed for outstanding visual impact, combining
light, multiple colors and motion to attract attention, improve communications and
promote the business and/or services.
Datalines are easy to set up, program and handle and are becoming
increasingly popular in airports, high street outlets, cinemasltheatres, staff rooms,
and auctions to transmit information to large groups of people both quickly and
efficiently.
The signs have various display features such as bold/script fonts, auto
centering of text as well as many page transitions, which can be creatively and
imaginatively used to display eye-catching text effects. The signs are easily operated,
with a range of control methods including via PC or an infra-red remote keypad.
The data lines are available in a variety of different formats and colors to
make the electronic display more effective and eye-catching.
2.3 Hardware Overview
2.3.1 LED Dot Matrix Display
A light-emitting diode (LED) is a semiconductor diode that emits
incoherent narrow-spectrum light when electrically biased in the forward direction of
the p-n junction. This effect is a form of electroluminescence. An LED is usually a
small area source, often with extra optics added to the chip that shapes its radiation
pattern. The color of the emitted light depends on the composition and condition of
the semi conducting material used, and can be infrared, visible, or near-ultraviolet.
2.3.1.1 LEDS Dot Matrix
The dot of most LED dot matrix display is round. But some LED dot matrix
displays have square dot. LED matrix display can show pictures and words, and
RGB LED matrix even can show video. LED matrix has the size from 0.7' to 4.6'.
According to its dot arrangements, LED dot matrix display also can be divided into
5*7 dot matrix, 5*8 dot matrix, 8*8 dot matrix and 16*16 dot matrix. Dot LED
matrix can be used to show information in bus stations, cinemas, squares and other
public places.
Figure 2.3: LED Dot Matrix
Besides that, LED dot matrix also has many color types. The colors
available are single color, dual color and full color. Single and dual color dot matrix
;c widely used in graphics and moving message. There are many different single
Aors such as red, 1 1 green, yellow and so on. The full color dot matrix is specially
esigned for application high brightness and resolution
Figure 2.4: Color LED Dot Matrix
2.3.2 Microcontroller
4 microcontroller is a computer-on-a-chip optimized to control electronic
devices. It is a type of microprocessor emphasizing self-sufficiency and
cqst-effectiveness, in contrast to a general-purpose microprocessor, the kind used in a
C. A typical microcontroller contains all the memory and 110 interfaces needed,
whereas a general purpose microprocessor requires additional chips to provide these
necessary functions.
A microcontroller differs from a microprocessor, which is a general-purpose
chip that is used to create a multi-function computer or device and requires multiple
..'lips to handle various tasks. A microcontroller is meant to be more self-contained
~d independent, and functions as a tiny, dedicated computer.
The great advantage of microcontrollers, as opposed to using larger
microprocessors, is that the parts-count and design costs of the item being controlled
can be kept to a minimum. They are typically designed using CMOS
:omplementary metal oxide semiconductor) technology, an efficient fabrication
:chnique that uses less power and is more immune to power spikes than other
ichniques.
Microcontroller is an inexpensive single-chip computer that contains all the
components comprising a controller. Typically this includes a central processing unit
(cpu) , random-access memory (RAM), read-only memory (ROM), electrically
erasable programmable read-only memory (EEPROM), inputloutput (110) lines,
timers, and other built-in peripherals such as analog-to-digital converters (ADC).
Unlike general-purpose computer, which also includes all of these components, a
microcontroller is designed for a very specific task, to control a particular system. As
a result, the part can be simplified and reduced, which cuts down on production cost.
Table 2.1 : Manufacturer of Microcontroller In The Market
Manufacturer
Q M l c ~ a m l ~ ~-ilWkbaau-
Microchip Technology
iny. Intel@ Corporation
lnfineon
Description
Product: 8-bit Microcontrollers, Interface Chips.
PICmicroO microcontrollers (MCUs), Analog1
interface products; Serial EEPROMs; microIDO
RFID tags; KEELOQB security devices; and the
dsPICB family of Digital Signal Controllers. Very
good Development Tools. Microchip had shipped
their One Billionth Flash Microcontroller by June
2005.
Product: Pentiums, High Performance Chipsets.
Popular manufacturer of Pentium PC
microprocessors (of course), in addition to
motherboards, PC chipsets, server RAID controller,
microcontrollers, PC1 bridges, ethernet products,
Flash memory, and a wide range of connectivity
chips.
Product: C 16x, C500,TriCore.BroadRange Supplier.
8-bit microcontrollers based on the 8051. 16-bit
ROM & OTP microcontrollers with outstanding
Inf ineon~echnol~gie~
4'- r,
* * freescale ~m~COltbUcfor
Freescale Semiconductor
~ i i - Atmel Corporation
3; DALLAS @? EEHIICOWDUCTOR
Dallas Semiconductor
development tool support. CAN an'd USB
microcontrollers. A broad-range supplier of a wide
variety of semiconductor products.
Product: Microcontrollers, Broad Range Supplier.
Popular manufacturer of a wide variety of analog
and digital semiconductors, including a number of
microcontroller families ranging from 8-bit to
32-bit.
Product: 8051, AT91, AVR, AVR32
Microcontrollers.
Atmel manufactures three families of
microcontrollers: the popular 805 1, the AT91 which
is an ARM Thumb and the Atmel AVR 8-bit RISC
device, Flash varieties are available.
Product: Fast Flash Microcontrollers
Manufactures a line of high-performance Flash 805 1
microcontrollers, 50 MIPS peak at 50 MHz, as well
as "secure" microcontrollers, an 8051 with a watch
battery to keep the SRAM alive. Extensive
development tools support. Now a division of
Maxim Integrated Products.
CHAPTER 3
RESEARCH METHODOLOGY
3.1 Introduction
Before implementing LED dot matrix display with microcontroller, the
concept of such LED dot matrix display and 4 to 16 line decoders (74HC 154) must
be fully understood. Research and literature review on the LED dot matrix display
must be done. Possible problems are identified and the suitable techniques for the
research are selected.
3.2 LED Dot Matrix Display
The idea and knowledge that gained from research is developed in
designing the dot matrix display. The design of the dot matrix display is shown in the
Figure 3.1. This dot matrix display is build by microcontroller (PIC16F877A),
74HC 154 and LED dot matrix.
Figure 3.1 : Design of the Dot Matrix Display
3.3 Hardware Development
3.3.1 System Block Diagram
Microcontroller
Personal Computer (PC) 3row x 6column LED dot matrix display
Figure 3.2: System block diagram
3.3.1.1 Power Supply
Provide voltage to the circuit. The voltage will give the voltage to drive all
the components and ICs in the circuit so that no battery will be used in this device.
This part is perform by a variable voltage adapter and set to 5V dc.
3.3.1.2 PIC16F877A and Decoders
To store the program and perform its function which is wrote by assembly
language. The decoders enable the four output from PORT A to give bit to 48 LEDs
in the dot matrixes column
3.3.1.3. LEDs Dot Matrix Display
To perform the blinking displays replacing the using of LEDs.
3.3.1.4 Personal Computer (PC)
It is used for GUI interactive using Visual Basic with the LEDs Dot Matrix
Display. User can be change the message or animation which store inside the
microcontroller.
15
3.3.' lMicr~c~n troller
Figure 3.3: Example of Microcontroller PIC 16F877A from Microchip
ivlicrocontroller are popular with developers and hobbyists alike due to their
~w cost, wide availability, large user base, extensive collection of application notes,
availability of low cost or free development tools, and serial programming (and
re-programming with flash memory) capability.
-'IC16F877A is in DIP (dual-in line package) package, which has 40 in that
are dedicated for various functions such as 110, RD, WR, address, data and interrupt.
"he features of PIC 16F877A are as following:
- RB7PGD
- R m M -
- RD7EPSP7 - RDWPSP6 - RDDYPSPS - RC7iRXIDT - RCrn1.CK - RC3SDO - RCrnDVSDA - RDYPSP3 RDlrPSPl -
Figure 3.4: PIC 16F877A (40 pin-DIP)
The figure showed the pin diagram of the PIC16F877A. From the diagram,
there 33 pins are set aside for the five port RAY RB, RC, RD, and RE. The rest of the
pins are designated as- OSCI, OSC2, VDD, and VSS.
33.3 4 to 16 line Decoder/Demultiplxer 74HC154
Figure 3.5: 74HC 154
i e 80 DECODER
19 E,
11 . . , , . . . . . . . 12 13 14 15 le 17 18 19 110 111 113 114 . . . . 115 116 117 7287434
Figure 3.6: Functional Diagram of 74HC 154
A multiplexer (MUX) is a device that allows digital information from
several sources to be routed onto a single line for transmission over that line to a
common destination. The basic multiplexer has several data-input lines and a single
output line. It also has data-select inputs, which permit digital data on any one of the
inputs to be switch to the output line. Multiplexers are also known as data selectors.
The 74HC154 are high-speed Si-gate CMOS devices and are pin
compatible with low power Schottky TTL (LSTTL). The 74HC154 decoders accept
four active HIGH binary address inputs and provide 16 mutually exclusive active
LOW outputs. The 2-input enable gate can be used to strobe the decoder to eliminate
the normal decoding "glitches" on the outputs, or it can be used for the expansion of
the decoder. l'he enable gate has two AND'ed inputs which must be LOW to enable
the outputs. When the other enable is LOW, the addressed output will follow the
state of the applied data.
Figure 3.7: Combination Multiplexer and Hex Inverter
Since it is required to control 48 columns of LEDs, 3 decoders will be used
to operate it. The PORT RA will constantly send 000000 - 11 11 11 to the decoder.
The 4 to 16 MUX will perfom a counter function and with the additional bit given
'om RA 4 and RA5. The additional bit given from RA 4 and RA 5 is to enable the 4
16 decoders. The output of the decoders will perform a scanning process in the dot
lllatrixes in the 48 columns. .
3.3.4 LED Dot Matrix Display
- .
Figure 3.8: 8x8 LED Dot Matrix
From the tigure as shown above, the LED dot Matrix that used in this
project IS common anode. A single LED dot matrix display is formed by 64 LEDs
which arranged in eight columns and eight rows. The anodes of the eight LEDs
forming one row are connected together. Then, the cathodes of the eight of LEDs of
a column are connected together. In this arrangement of LEDs, the cathodes are
switched to turn the LEDs of a row ON or OFF.
The advantages of LEDs dot matrix include low-cost, high-efficiency,
low-voltage and current requirements, and with easy interface to integrated circuits.
Besides, using the LEDs dot matrix display will make the project more tidy and neat.
Their solid-state characteristics account for a wide operating temperature range
(-40°C to 85OC), high-reliability and ruggedness (resistance to shock and vibration).
Figure 3.9: LED Dot Matrix Configuration with Common Anode
3.4.1 L,.~U,. Explaination for LEDs Dot Matrix Display
I.. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . .
. . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . .
. . .
. . .
. . . UI . . .
. . - .,- J L ---- ' 5 . . . . . . . . 5 . . . . . . . . 6 1 . . . . . . . .
8 . . . . . . . . . . . . . . . . . 8 9 . . . . .
9 + 0 $ 1 . . . . . . . . ,( 3 . . . . . . . . . . . u $6 . . . . . . . . . . . 1J 15 . . . . . . . . I( 9 . . . . . . . . 1s I . . . . . . . . . . . . . . . lCHC!S! , .! r. . . . . . . . . . . . . . yrp.?. . . . . . . . . .,
. . . . . . . ., . . . . . . . . . . . . . ~ . . . . . . ' U l " " " " , , . .
. . . a , . . . . . . I?.- OECIC1"U . . . . . . . . . . . . . " osca . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . , - M 1 R I . . . . . . . . . . . ( R-1 . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . I m 1 . . . . . .
. . . . . . . . . \ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - . . , . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . , . . . . . , . . . . . . . . . . . . . . . . . . . . RDWSPJ 2 . . . R D M S P * 4 . . . RDSIPSPS + . . . . . . . . . . RDSIPSP6 -i . . . . . . . . . . R D l l l S P l - . . . , . . : ." . . . . V? . . . . . . . . . . . . . . . . . . . .
-.Ti- ". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . > ' . . . . . . . . . . . . . . . . . . . . . . .
Figure 3.10: Example to light up LEDs.
RA5-RAO ports are used for the signal output of the column that LEDs are
controlled. RB7-RBO ports are used for the output of the LED control signal of each
.ow. 74HC154 (4 to 16 Demultiplexer) is the IC which decodes the binary signal of 4
its into 16 signals.
As for the Figure 3.10, all RA ports are in the L level condition. In this case,
only output-0 of 74HC154 is L level. Then, only TRI is in the ON condition, the
other transistors are in the OFF condition. This is because the base of the transistor is
'V, there is a differential voltage occur. So the current flow as the figure showed.
Therefore, only the column of LEDs which are connected with TRl is in the
lighting-up possible condition.
The lighting-up of the LED is decided in the condition of the RB~-RBo
ports. In case of the figure, because RBO and RB4 are L level, the 1st and 4th LED
light up. The other LEDs in same column received an H level signal, so they did not
turn on. The second column LEDs can't be lit up, because the transistors for the
power supply to those LEDs are in the OFF condition.
33.5 8-bits I'C and SMBUS UO port with Interrupt
IZC is a multi-master serial computer bus invented by Philips that is used to
attach low-speed peripherals to a motherboard, embedded system, or cellphone. The
name for Inter-Integrated Circuit and is pronounced I-squared-C or I-two-C.
AS of October 1, 2006, no licensing fees are required to implement the 12C protocol.
However, fees are still required in order to obtain 12C slave addresses. SMBus is a
subset of 12C that defines stricter electrical and protocol conventions. One purpose of
SMBus is to promote robustness and interoperability. Accordingly, modern IZC
systems incorporate policies and rules from SMBus, and the line between these two
standards is often blurred in practice.
Figure 3.1 1 : I ~ C Icon
12C uses only two bidirectional open-drain lines, Serial Data (SDA) and
Serial Clock (SCL), pulled up with resistors. Typical voltages used are +5 V or +3.3
V although systems with other, higher or lower, voltages are permitted.
The 12C reference design has a 7-bit address space with 16 reserved
addresses, so a maximum of 112 nodes can communicate on the same bus. The most
common 12C bus modes are the 100 kbitls standard mode and the 10 kbitls low-speed
mode, but clock frequencies down to DC are also allowed. Recent revisions of 12C
can host more nodes and run faster (400 kbit/s Fast mode, 1 Mbitls Fast mode plus or
Fm+, and 3.4 Mbit/s High Speed mode), and also support other extended features,
such as 10-bit addressing. The maximum number of nodes is obviously limited by
the address space, and also by the total bus capacitance of 400 pF.
3.4 ,ftware Development
3.4.1 Proteus VSM Source Code Editor
Figure 3.1 2: PROTEUS VSM Source Editor
PROTEUS VSM supports source level debugging through the use of debug
loaders for supported assemblers and compilers. Source Editor which from Proteus
VSM allow writing the assembly coding and can be generate the .HEX file. The
source editor only read assembly language. Therefore, assembly language was used
to program and communicate with the microcontroller.
.2 Programming Language
. -4rogramming language is an artificial language that can be used to control
the behavior of a machine, particularly a computer. Programming languages, like
human languages, are defined through the use of syntactic and semantic rules, to
determine structure and meaning respectively.
Programming languages are used to facilitate communication about the task
of organizing and manipulating information, and to express algorithms precisely.
Some authors restrict the term "programming language" to those languages tha
express all possible algorithms sometimes the term "computer language" is used for
more limited artificial languages.
3.4.2.1 Assembly Language (ASM)
An assembly language is a low-level language for programming computers.
~t implements a symbolic representation of the numeric machine codes and other
constants needed to program a particular CPU architecture. Although few
programmers today regularly work with assembly language as a tool, the underlying
concepts remain very important. Such fundamental topics as binary arithmetic,
memory allocation, stack processing, character set encoding, interrupt processing,
and compiler design would be hard to study in detail without a grasp of how a
computer operates at the hardware level. Since a computer's behavior is
fundamentally defined by its instruction set, the logical way to learn such concepts is
to study an assembly language. Therefore, studying a single assembly language is
sufficient to learn:
i) The basic concepts.
ii) To recognize situations where the use of assembly language might
be appropriate.
iii) To see how efficient executable code can be created from high-level
. languages.