Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Moving LED display with 4 shift Registers 74HC595

Status
Not open for further replies.

rajesh279

New Member
Dear All,
I have 4 shift regsters for 32 columns and 8 rows are directly connected via Port A of Microcontroller.
I have to activate each row one by one and feed all the 32 columns data and then latch them.

The problem is:
1) how to send 32 bits for 32 columns one bye one, and

2) How to create scrolling effect from right to left...? e.g. if 1st 8 bits is loaded with some character to be displayed, then at next instant 2nd 8 bits will hold the 1st 8 bits' data and 1st 8 bits will now be loaded with new character.

I hope the problem is clear. Basic idea is how to create scrolling effect.

Any suggestion/help would be highly helpful.

Regards
Raj S
 
You will have to buffer the 8 rows and scan from top to bottom. Most port A's don't have 8 outputs. What chip are you using?
 
Last edited:
You will have to buffer the 8 rows and scan from top to bottom. Most port A's don't have 8 outputs. What chip are you using?



Hi,
Thanks for your reply. I know i have to scan the rows one by one and feed the column, but I need help on preparing column data to accommodate the scrolling text from right to left.

RAJ
 
<snip: spam>
I use a "phantom" set of files. I scan the files and after a number of scans I shift the data in the files to produce the "running effect."
The 12 digit projects shifts by one whole digit. The 15x7 shifts by one column.

Once you have this "set-up" you can move the pixels up or down but you must have a whole set of full digits above the row you are scanning so that they can be lowered one row at a time.
When the top digits are empty, you fill them with the next set of digits.
 
Last edited by a moderator:
I was going through your examples and trying to understand, but could not get the logic to start with.
There are 32 columns and after loading first 8 columns with 8 bit character( for all rows, say), I want to shift this 8th column into the 9th column( which is 1st column of 2nd shift register).
As 8th column in shifted to 9th column from right towards left, the 1st column will get loaded with new character value. Like this it will proceed.

I got some info from other forums that 1st I have to prepare 32 bit data in a buffer and then load them by selecting the rows, but problem is how to update this 32 bit buffer to get the scrolling effect.?
 
I suggest you build the 12 digit display. The display costs on a few dollars and you will learn how to do this complex task.

The only way to learn is build the project then change a few of the values and see what happens.
 
Dear Collin,
I am already having a hardware with 3 shift registers 74HC595. So there are 24 columns and 8 rows.
I have a character matrix for alphabet 'D' as

unsigned char MyChar[8]={0x7c, 0x42, 0x42, 0x42, 0x42, 0x42, 0x42,0x7c}

The 8 hex values corresponds to 8 rows of the matrix. Now I want to scroll the 'D' from right to left.
From my knowledge, I know that I have to prepare 24 columns(i.e. 24 bits) data to load while switching the rows.
This I can make in a loop like:

for(i = 0; i<3; i++)

DisplayBuffer =.....

}

now, once the DisplayBuffer[] is created, I can load them on the corresponding rows.
But I am stuck in how to create and update these DisplayBuffer[] while scrolling the text.

Regards
Raj.
 
It's just better to make a cover that holds the led's. Cover the controller with wax and plumbers putty to prep for a coating of what comes next. You can painstakingly apply silicon over led's wired together, make a cast which is hard, or just dip the setup having the extra battery to power led's all into a rubber solution made to coat plyer handles. You get that from auto parts stores. It comes in blue and black usually. You might be able to dip silicon also, but that's tricky stuff.
If you have to put them inside your controller, use a dremil tool and or a small drill to make the holes right, but don't glue them with anything tough, those led's go bad you know.
 
Last edited by a moderator:
can this be done using pic16f877a and can i get the code in C language?? Please!!!!

Yes!! But you'll need to write it yourself... Grab the assembly from the link and convert it..
 
See how I did it:

http://www.talkingelectronics.com/projects/15x7Display/15x7Display-1.html

and

http://www.talkingelectronics.com/projects/12 Digit Display/12DigitDisplay.html


I use a "phantom" set of files. I scan the files and after a number of scans I shift the data in the files to produce the "running effect."
The 12 digit projects shifts by one whole digit. The 15x7 shifts by one column.

Once you have this "set-up" you can move the pixels up or down but you must have a whole set of full digits above the row you are scanning so that they can be lowered one row at a time.
When the top digits are empty, you fill them with the next set of digits.



You are using 4017 will 74164 will better or not??
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top