Seven segment controller question - Is there a better way?


Closed Thread
Results 1 to 6 of 6

Hybrid View

  1. #1
    Join Date
    Oct 2005
    Location
    New Jersey
    Posts
    425


    Did you find this post helpful? Yes | No

    Default Re: Seven segment controller question - Is there a better way?

    Thanks for the reply. I don't understand why the shift register is more advantageous (or that much different) than using a port expander. Lets forget about cost for a second seeing as how the shift register is cheaper but we're talking about a one off device, not volume production.

    The schematic you provided a link to shows pretty much the same thing I was thinking (which is perfectly fine by the way - I have no problems with it). He is using one shift register per digit, which is the same as the design I was thinking about. However, now that I think about it I can use a 23S17 and reduce my chip count from 5 to 3.

    Does the shift register reduce the amount coding that you have to do? In other words, pretend you're a salesman, what's the selling point with using the shift register as opposed to a port expander?

  2. #2


    Did you find this post helpful? Yes | No

    Default Re: Seven segment controller question - Is there a better way?

    You said "the budget is paper thin." so usually 74HC etc stuff is cheaper than port expanders.

    When I scanned your expander and the new one, I see that there seems to be a lot of settings to be sorted, so I looked for an easier route, hardware and programming.

    The shift registers are easy to use, and the program is relatively straight forward.

    You store the binary patten of each digit in on board pic eprom starting at location 0, so you have 10 values (led patterns) there 0-9.

    you have your x=14 or whatever , THEORETICALLY 00014

    If you store that 5 into an array eg numbers(0) = 4 numbers(1) =1 and so on

    remember to send the least significant digit out first as that will be the far right hand on the display

    you then do a loop something like

    FOR COUNTER = 0 TO 4 ' 5 DIGITS
    pattern = numbers(counter)
    read patten , temp ' get the led patten into temp
    then shift out temp to the shift register
    next

    you now have all the segments for the 5 digits done

    with some extra programming you could make the leading "0"s be unlit.
    Last edited by aerostar; - 22nd August 2013 at 10:19. Reason: hit wrong key

  3. #3


    Did you find this post helpful? Yes | No

    Default Re: Seven segment controller question - Is there a better way?

    Presumably he has done his own thing - pity he did not have the courtesy tell us whether he went with shift registers or port expanders and why.

  4. #4
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default Re: Seven segment controller question - Is there a better way?

    Chris4187, Personally I would use a MIC5842 for the shift register/driver as it has 8 bits and latch for each large led display.
    Dave Purola,
    N8NTA
    EN82fn

Similar Threads

  1. Replies: 3
    Last Post: - 28th November 2011, 00:21
  2. Multiplexing 7-Segment
    By ross246 in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 16th June 2011, 22:31
  3. Replies: 2
    Last Post: - 14th July 2008, 22:11
  4. Dedicated LCD Controller question
    By chuckles in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 27th February 2006, 14:44
  5. 7-Segment Driver
    By NavMicroSystems in forum Off Topic
    Replies: 0
    Last Post: - 13th April 2005, 14:50

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts