Multi-Level LED Dot Matrix Display Panel -Kim Ling Sheng -TS544.K55 2008.pdf
Short Description
Download Multi-Level LED Dot Matrix Display Panel -Kim Ling Sheng -TS544.K55 2008.pdf...
Description
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 ( c p u ) , 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
Description Product: 8-bit Microcontrollers, Interface Chips.
Q M l c ~ a m l ~PICmicroO ~-ilWkbaau-
Microchip Technology
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.
iny. Intel@ Corporation
Product: Pentiums, High Performance Chipsets. Popular
manufacturer
microprocessors
(of
of
course),
Pentium in
addition
PC to
motherboards, PC chipsets, server RAID controller, microcontrollers, PC1 bridges, ethernet products, Flash memory, and a wide range of connectivity chips.
lnfineon
Product: C 16x, C500,TriCore.BroadRange Supplier. 8-bit microcontrollers based on the 8051. 16-bit ROM & OTP microcontrollers with outstanding
I n f i n e o n ~ e c h n o l ~ g i e ~ development
tool
support.
CAN
an'd
USB
microcontrollers. A broad-range supplier of a wide variety of semiconductor products. Product: Microcontrollers, Broad Range Supplier.
4'-
r,
* * freescale
~m~COltbUcfor
Popular manufacturer of a wide variety of analog and digital semiconductors, including a number of
Freescale Semiconductor
-i
~
Atmel Corporation
microcontroller families ranging from 8-bit to 32-bit. Product:
i
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.
3;
@?
DALLAS EEHIICOWDUCTOR
Dallas Semiconductor
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.'
l M i c r ~ c troller ~n
Figure 3.3: Example of Microcontroller PIC 16F877A from Microchip
ivlicrocontroller are popular with developers and hobbyists alike due to their ~wcost, 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
-
RmM-
RD7EPSP7 RDWPSP6 RDDYPSPS
RDlrPSPl
-
-
RC7iRXIDT RCrn1.CK RC3SDO RCrnDVSDA RDYPSP3
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 RAYRB, 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 19
DECODER
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 - 111111 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. .
LED Dot Matrix Display
3.3.4
-
.
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
... ...
.. .. .. ..
...
. . .
... ... ................ ... ... ... . . .
UI
...
.,-L
..-
----
J
' 5 6
5 1
8
.....
8
9 0 ,(
u
1J I(
........ ........ ........ .........
........ 9 + $1 3 $6 15
........ ........
... ...
........
........
9........ 1s I.. . I . . . . . . . lCHC!S! ...... . . . . . . . yrp.?. ,. .. .. .. .. .. .. .. ...... ....... ...... ............ ....... . . . . .. .
.. .! ., . ., .. r.
~
, ,
.' . U . l""""
.
" I?.-
OECIC1"U
.
.
a
,
.......
osca
.......
-
M1RI
(
.... .... .... .... ....
I
.
...... ... ... ... ... ... ... ...... ... ... .. .. ..
.
. . . . . . . . . . .. .
........... . . . . . . . . . ,. ...........
........... ........... ........... .. ... ... .. .. \ . . . ... .. ... .. . . , .. ...........
R-1
m
.
.
1
-
. . . .
.
. . , . . ,
........... RDWSPJ 2 RDMSP*
RDSIPSPS RDSIPSP6 RDlllSPl
4 + -i
-
.......
....... , . . : ." . 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 AS
for Inter-Integrated Circuit and is pronounced I-squared-C or I-two-C.
of October 1, 2006, no licensing fees are required to implement the 12Cprotocol.
However, fees are still required in order to obtain 12C slave addresses. SMBus is a subset of 12Cthat 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 12Cbus 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.
,ftware Development
3.4
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.
View more...
Comments