1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Multiplexer Voting Circuit - 74LS151

  1. Feb 8, 2008 #1
    1. The problem statement, all variables and given/known data

    LOGIC DESIGN USING MSI COMPONENTS

    A small corporation has 10 shares of stock, and each share entitles its owner to one vote at a stockholder’s meeting. The 10 shares of stock are owned by four people as follows:

    Mr.W; 1 share, Mr. X; 2 shares, Mr. Y; 3 shares, Mrs. Z; 4 shares.

    Each of these persons has a switch to close when voting yes and to open when voting no for all his/her shares (one switch for each person).

    Task: It is necessary to design a circuit (using MSI components ONLY, a 7-segment display and some inverters if required) that displays the total number of shares that vote YES for each measure.

    If all shares vote NO for a measure, the display should be blank. If ten shares vote YES for a measure, the display should be 0, otherwise, the display shows a decimal number equal to the number of shares that vote YES.

    Use 74151 multiplexers to design the combinational logic that converts the input from stockowners (ON-YES, OFF-NO) switches into the BCD digit for the 7-segment decoder/driver. Choose W to be the MSB, X, Y, Z to be selection lines of the MUX’s.


    3. The attempt at a solution

    The attached circuit from Circuitmaker shows how I have wired the multiplexers, however I am stuck! I can get the correct output for most cases except when the 1 is involved in the output - 10 (needs to display 0), 8 (4 + 3 + 1), 6 (3 + 2 + 1), 4 (3 + 1) and 0 (needs to set an illegal code on 4511) don't work. I can see why they don't work, but not how to fix it. I'm going to have to look at inverters, but havent got a clue where to start, and have been unable to find anything I could understand re: Karnaugh maps. Mature student, thrown back in at the deep end on this question (last one on the assignment), with no tutorials on multiplexers whatsoever! Any help appreciated.
     
    Last edited: Apr 3, 2008
  2. jcsd
  3. Feb 8, 2008 #2

    berkeman

    User Avatar

    Staff: Mentor

    Can you show us a table of outputs based on the inputs? You have part of it in your attempt at the solution.... Something like:

    W X Y Z Output (binary to display driver IC)
    0 0 0 0 (blank)
    0 0 0 1 001
    etc.


    Then you can look to see how you can form the output binary based on the input selectors. You may end up using some of the WXYZ input terms into the mux inputs, BTW, instead of just hard wiring them high or low... (I don't know offhand if that is part of the solution)
     
  4. Feb 8, 2008 #3

    berkeman

    User Avatar

    Staff: Mentor

    Also, how do you actually blank the display? Is that one of the input codes, or do you need to disable it?
     
  5. Feb 9, 2008 #4
    Thanks for the info. I'll draw up the table today. As far as blanking the display goes, it will be a special code - the 4511 driver blanks in the case on an illegal BCD code, so I have to figure out how to convert an all 0 input to a value between A - F.
     
  6. Feb 9, 2008 #5
    Current Outputs

    4 Share 3 Shares 2 Shares 1 Share BCD Output
    0 0 0 0 0000 - to be an illegal code
    0 0 0 1 0001 - correct
    0 0 1 0 0010 - correct
    0 0 1 1 0011 - correct
    0 1 0 0 0011 - correct
    0 1 0 1 0011 - incorrect
    0 1 1 0 0101 - correct
    0 1 1 1 0101 - incorrect
    1 0 0 0 0100 - correct
    1 0 0 1 1001 - correct
    1 0 1 0 0110 - correct
    1 0 1 1 0111 - correct
    1 1 0 0 0111 - correct
    1 1 0 1 0111 - incorrect
    1 1 1 0 1001 - correct
    1 1 1 1 1001 - incorrect - to display 0000
     
  7. Feb 10, 2008 #6
    Think I've cracked it .. need confirmation!

    Think I have solved the problem, as now I can get the outputs required. However, grateful if someone could tell me if I have met the requirements of "W to be the MSB" in the question? Rumour amongst class is that the tutor has hinted that this means the W input should be used to feed the ENABLE input of the 74151, in which case I'm stuffed again!

    Truth table below, new circuit diagram attached.

    4321 BCD Output Correct Value?
    ZYXW 8421 Display
    0000 1110 Blank Yes
    0001 0001 1 Yes
    0010 0010 2 Yes
    0011 0011 3 Yes
    0100 0011 3 Yes
    0101 0100 4 Yes
    0110 0101 5 Yes
    0111 0110 6 Yes
    1000 0100 4 Yes
    1001 0101 5 Yes
    1010 0110 6 Yes
    1011 0111 7 Yes
    1100 0111 7 Yes
    1101 1000 8 Yes
    1110 1001 9 Yes
    1111 0000 0 Yes
     
    Last edited: Apr 3, 2008
  8. Oct 13, 2009 #7
    Re: Think I've cracked it .. need confirmation!

    Hi, have you completed this circuit. If so how did you implement the circuit?

    Thanks
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Multiplexer Voting Circuit - 74LS151
  1. Multiplexer Question (Replies: 2)

  2. 2 to 1 Multiplexer (Replies: 1)

Loading...