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.

LED SignBoard 64X8 - PIC 16F628A

Status
Not open for further replies.
Lots of info

I was wanting to try out a sign board but really had no idea where to start for more than a very small design(like a 5 by 7...i'm still learning lol)this should be very helpful. i just have to do more research on the programming aspects of the display...i feel a long term project in the makings for me :D
 
Can u send me source code? I'm using pic16f628A/74HC154. also have pic18F4525 and dspic30F4013. But i haven't tried it yet.

I'm working on the code for the larger 7x55 version (below) for an 18F2520 host mcu. I will post code when available...


k8lh-7x55-%C2%B5sign-concept-png.34823
 
If you used another serial-to-parallel IC with a <strobe> or <latch> pin then you could take your time loading the shift registers and then simply blank the display (turn off the row) for a couple cycles while you toggle the <strobe> pin to copy the shift register data onto the outputs.

Mike can you tell how many cycles you wait until blanking the display?
 
Hi Gayan,

I'm sorry, I must have missed the email notification for your question.
Mike can you tell how many cycles you wait until blanking the display?

You would wait for an entire row display interval, which is signaled by an interrupt with my displays, then you would blank the display (turn off row drivers), strobe the shift register data onto the outputs, turn on the new row driver (display "on"), then load the shift registers with new column data for the next row interrupt.

Regards, Mike
 
Hi mike thanks for the great help.

Actually the “MAC Mux” is a bit hard. I’ll try to do it later.

For the time being I’m doing a standard multiplex but I need to do a row scan.
I have attached my drawing; the positive to the LEDs will supply via the shift registers. & the negative supply to the LEDs will supply via the microcontroller.

You may notice I have cascaded the shift registers via the QH’ to SDATA.

This is the method I’m going to use.

In row scan I need 40 column registers if I have 40 columns.
When a timer interrupt occurs I must first serve the first row. This is done by sending all lower bits of column registers to the shift registers. After feeding all 40 columns in the first row I must make a “latch” to show in the display. After latching I must return from interrupt.

Likewise in next interrupt I’ must feed the 2nd row like above.

Is this correct?

While re-reading this thread I realize I misinterpreted your method. I apologize.

Your method seems correct and similar to the way Gayan is driving his larger matrix designs.

Please take care. Regards, Mike
 
Mike this is how I do......

When an timer interrupt occurs it will tell now it’s the time to update a new row. I won’t blank the display on starting the interrupt.First I’m feeding the new data to the shift registers but still the previous row data is still on the display.After I loaded the whole row with new data to the shift registers I’m blanking the display about 12 cycles.After I’m giving a latch pulse to the shift registers now the new data is on the display.

Did you get what I mean?
 
Mike I have a doubt which is bugging me last couple of years & that is regarding the scroll speed.

Mike lets assume you have a 7 rows & 56 column display area. Let say you need a letter to scroll from right to left.

To make the shift delay you are counting frames.In other words to make a shift you are waiting until an entire frame ends.

Ex: Refresh rate of 50Hz will have 20mS time.So to make a shift you are waiting 20mS time.

My question is have you ever used more than 1 frame for the delay for the scroll speed? ex: to make a shift you are waiting 5 frames that is 20mS X 5 = 100mS.

My experiments shows when using more than 1 frames for the delay you will notice visual artifacts.Something like mirroring.So while scrolling its not smooth you will see a trail of each LED.Have you ever seen this?
 
Last edited:
Hi Gayan,

I do use multiple "frame" delays but I'm not sure I've ever seen the visual effects you're describing.
 
On the larger 7x55 and 8x56 MacMux displays I load 56 bits of row data into the shift registers during a short blanking interval (from PWM signal). It only takes 26 instruction cycles to load the shift registers with 56 bits of row data but the display may be off longer then that depending on the PWM brightness control setting.

What is the refresh rate of the display that you're experiencing this problem on?
 
On the larger 7x55 and 8x56 MacMux displays I load 56 bits of row data into the shift registers during a short blanking interval (from PWM signal). It only takes 26 instruction cycles to load the shift registers with 56 bits of row data but the display may be off longer then that depending on the PWM brightness control setting.

What is the refresh rate of the display that you're experiencing this problem on?

This is the one I have to try lengthening the off time & see how it goes.Last night I did some experiments but none of them couldn't fix it.

I cannot use multiple frame delays.If I use then the LEDs will move with a trail.

My off time is 12uS.Mike forget PWM stuff if you just do a 56X7 display without PWM then how much longer time you turning off the display before showing the next row?

After reading the 87th post in this thread posted by you I got to know when beginning of the interrupt period you are turning off the current row & start loading new data to the shift registers while the display is blanked.After completed loading the entire row then you latch the outputs to the display area & turning on the new row.
 
Last edited:
Monty - Shrewd move by Tiger
European Ryder Cup captain Colin Montgomerie discount golf equipment believes Tiger Woods has been "very shrewd" in choosing to make his eagerly-anticipated ishiner comeback at next month's Masters.
 
Hi,
I have implemented the same circuit with Atmega16 microcontroller. I am facing problem with preparation of 40 bits column values for all the 40 columns. E.g. if I want to scroll character 'A' from left to right, then how to update all the 40 columns at a time while feeding the row.?
Any help would be useful.

Regards
Raj. S
 
Status
Not open for further replies.

Latest threads

Back
Top