This project is based on 8051, I prefer AT89S52 as the main microcontroller and 24C16 as EEPROM. U can also use AT89C52 but can’t AT89C51 or AT89S51. Because the minimum RAM required is 256 bytes.
1.1 Introduction:
There are two
types of methods to build a scrolling message display.
·
By switching column and
·
By switching row.
1.1.1 by switching column method:
Column switching type has a limitation, if the number of columns is higher than the switching column the method is not useful because it requires fast response LEDs and an increase in the number of columns decreases the brightness of LEDs during execution, so all LEDs
glows dimly. U can simply imagine the duty cycle for LEDs by a simple formula. (Higher
ratio means higher brightness of LED)
(For switching column method)
So An increase in the number of columns decreases the LED’s On-time and the LED glows dimly. If
On-time is lower than critical level (minimum response time) than LED remains
OFF. But the change in the number of rows doesn’t affect on LED’s brightness, so this is
useful when the number of rows is higher than the number of columns. (U can find the
column switching type “Scrolling LED Message Display using 8051” by Nasim Majka
on this website.)
1.1.2 by switching row method:
But
switching row has several advantages, the increase in the number of columns makes
negligible effect on LED’s brightness and it can’t be detectable by the human
eyes. The simple duty cycle formula for the switching row method is
(For switching row method)
So An increase in the number of columns doesn’t affect the duty cycle so LEDs' brightness
remains constant. But the change in the number of rows affects the brightness of LEDs,
so this is useful when the number of columns is higher than the number of rows.
1.2 Why this project:
My
project is based on the switching row method. Because in my project there are
constant 7 rows but the number of columns can vary from 5 to 145. This means this project
can handle 1 to 18 matrixes of 8x8 LEDs or 1 to 29 matrixes of 5x7 LEDs. This
limitation of the column is because of CISC (Complex Instruction set Computing)
based low RAM microcontroller. There are several advantages of my project, and
it’s described below.
1.3 Advantages:
·
The circuit diagram doesn’t
require changes with a change in several matrixes.
·
The program also doesn’t
require changes with a change in several matrixes.
·
It can handle bad response time
LEDs (up to 2.6ms) without any problem.
·
It can handle large message (up
to 205 characters).
·
PC required only for update a
new message.
·
Simple and clean GUI for
message update.
·
You can also upload the new
message by simple terminal software.
·
The EEPROM doesn’t require
additional programming, it’s simply done by the microcontroller itself.
How to upload messages using hyper
terminal?
è
Transmit the string which starts
with space and end with #; at a baud rate of 9600, data bit 8, and parity none.
Example “ SampleMessage#;” (without quotes).
How to upload a new message using GUI?
è
Run think π/2 up-loader. (This
software searches all the available COM ports automatically.)
è
Select your COM port from the combo
box.
è
Click connect button.
è
If GUI can’t connect then check
cable, port number, and retry.
è
Else type message. And click the upload button.
è
Wait for a reply.
è
If the display doesn’t start
automatically, press the RESET button on the main circuit. And done.
About LED matrix:
Use common row
cathode matrix with this project. This means all the negative pins of LEDs are
common on each particular row. And all the positive pins of LEDs are common on
each particular column. Check the figure below.
Important:
During
simulation double-column effect is normal. It won’t happen in the hardware check
video.
The 11.0592 MHz
Circuit and 22.1184 MHz circuits both are perfect but the 22.1184 MHz circuit is
recommended. Both circuit diagrams are the same except crystal value and Hex file
(Programming).
You have to use
BC557 or BC558 transistor on each row. And if you are making your own LED
matrix by soldering normal LEDs then put 100-ohm resistor between each column
and 74HC595 in hardware.
The sample
circuit of row transistors is shown below. Put this transistor circuit on each
row.
You have to
upload the new message when you changed EEPROM or you running this project for the first time. Otherwise, all the display LEDs always remain ON.
The connection of n matrixes:
è Connect all SH_CP pin common of all 74HC595 (pin 11) to AT89S52/C52
P3.3 (pin 13).
è Connect all ST_CP pin common of all 74HC595 (pin 12) to AT89S52/C52
P3.4 (pin 14).
è Connect DATA pin P3.2 (pin 12) of µC to first shift register’s DS
pin (pin 14) and connect first 74HC595’s Q7’ (pin 9) to next 74HC595’s DS pin
(pin 14). And continue the same process for the third matrix.
è The below figure shows the typical 3 matrix connection to the µC.
Post a Comment