1. 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.
    Dismiss Notice

LED SignBoard 64X8 - PIC 16F628A

Discussion in 'Microcontrollers' started by Gayan Soyza, Mar 8, 2009.

  1. WolfGang

    WolfGang New Member

    Joined:
    Nov 1, 2009
    Messages:
    8
    Likes:
    0
    Location:
    Mississippi
    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
     
  2. Mike - K8LH

    Mike - K8LH Well-Known Member

    Joined:
    Jan 22, 2005
    Messages:
    3,637
    Likes:
    109
    Location:
    Michigan, USA
    I'm working on the code for the larger 7x55 version (below) for an 18F2520 host mcu. I will post code when available...


    [​IMG]
     
  3. picdayan

    picdayan New Member

    Joined:
    Nov 24, 2009
    Messages:
    1
    Likes:
    0
    plase send me c code
     
  4. dave

    Dave New Member

    Joined:
    Jan 12, 1997
    Messages:
    -
    Likes:
    0


     
  5. Gayan Soyza

    Gayan Soyza Active Member

    Joined:
    Oct 23, 2006
    Messages:
    1,821
    Likes:
    19
    Location:
    Colombo

    Mike can you tell how many cycles you wait until blanking the display?
     
  6. Mike - K8LH

    Mike - K8LH Well-Known Member

    Joined:
    Jan 22, 2005
    Messages:
    3,637
    Likes:
    109
    Location:
    Michigan, USA
    Hi Gayan,

    I'm sorry, I must have missed the email notification for your question.
    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
     
  7. Mike - K8LH

    Mike - K8LH Well-Known Member

    Joined:
    Jan 22, 2005
    Messages:
    3,637
    Likes:
    109
    Location:
    Michigan, USA
    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
     
  8. Gayan Soyza

    Gayan Soyza Active Member

    Joined:
    Oct 23, 2006
    Messages:
    1,821
    Likes:
    19
    Location:
    Colombo
    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?
     
  9. Gayan Soyza

    Gayan Soyza Active Member

    Joined:
    Oct 23, 2006
    Messages:
    1,821
    Likes:
    19
    Location:
    Colombo
    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: Feb 20, 2010
  10. Mike - K8LH

    Mike - K8LH Well-Known Member

    Joined:
    Jan 22, 2005
    Messages:
    3,637
    Likes:
    109
    Location:
    Michigan, USA
    Hi Gayan,

    I do use multiple "frame" delays but I'm not sure I've ever seen the visual effects you're describing.
     
  11. Gayan Soyza

    Gayan Soyza Active Member

    Joined:
    Oct 23, 2006
    Messages:
    1,821
    Likes:
    19
    Location:
    Colombo
    Hi mike thanks for the input.

    When using multiple "frame" delays the LEDs moving with a trail.

    How many cycles you are turning off the previous row when you want to show the next row?
     
  12. Mike - K8LH

    Mike - K8LH Well-Known Member

    Joined:
    Jan 22, 2005
    Messages:
    3,637
    Likes:
    109
    Location:
    Michigan, USA
    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?
     
  13. Gayan Soyza

    Gayan Soyza Active Member

    Joined:
    Oct 23, 2006
    Messages:
    1,821
    Likes:
    19
    Location:
    Colombo
    55 Hz mike.Whats the refresh rate you using??
     
    Last edited: Feb 22, 2010
  14. Mike - K8LH

    Mike - K8LH Well-Known Member

    Joined:
    Jan 22, 2005
    Messages:
    3,637
    Likes:
    109
    Location:
    Michigan, USA
    Usually 100 to 125 Hz or so on mine.
     
  15. Gayan Soyza

    Gayan Soyza Active Member

    Joined:
    Oct 23, 2006
    Messages:
    1,821
    Likes:
    19
    Location:
    Colombo
    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: Feb 23, 2010
  16. Gayan Soyza

    Gayan Soyza Active Member

    Joined:
    Oct 23, 2006
    Messages:
    1,821
    Likes:
    19
    Location:
    Colombo
    Hi Mike before going to the program I like to show the problem so its clear to clarify.
    This is how I see the trail.
     

    Attached Files:

  17. Mike - K8LH

    Mike - K8LH Well-Known Member

    Joined:
    Jan 22, 2005
    Messages:
    3,637
    Likes:
    109
    Location:
    Michigan, USA
    I've not seen anything like that before Gayan...
     
  18. Gayan Soyza

    Gayan Soyza Active Member

    Joined:
    Oct 23, 2006
    Messages:
    1,821
    Likes:
    19
    Location:
    Colombo
    Mike you don't know how much I sacrifice time on this issue mike.
     
    Last edited: Feb 25, 2010
  19. sahu

    sahu Member

    Joined:
    Oct 18, 2009
    Messages:
    468
    Likes:
    3
    can any one provied me code + ckt ? LED SignBoard 64X8 - PIC 16F628A
     
  20. susem913

    susem913 New Member

    Joined:
    Mar 23, 2010
    Messages:
    1
    Likes:
    0
    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.
     
  21. rajesh279

    rajesh279 New Member

    Joined:
    Mar 30, 2012
    Messages:
    7
    Likes:
    0
    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
     

Share This Page