Multiplexer Voting Circuit - 74LS151

Click For Summary

Discussion Overview

The discussion revolves around designing a voting circuit using MSI components, specifically the 74LS151 multiplexer, to tally votes from stockholders based on their shares. The goal is to display the total number of shares voting YES on a 7-segment display, with specific conditions for output based on the voting configuration.

Discussion Character

  • Homework-related
  • Technical explanation
  • Exploratory

Main Points Raised

  • One participant describes the voting scenario and the requirements for the circuit, including the need for a display that shows the number of YES votes or remains blank under certain conditions.
  • Another participant requests a truth table to clarify the outputs based on the inputs, suggesting that the participant may need to use the WXYZ input terms in the mux inputs rather than hardwiring them.
  • A question is raised about how to blank the display, with a suggestion that it may involve using a special code or disabling the display.
  • One participant mentions that the 4511 driver can blank the display for illegal BCD codes and discusses the need to convert an all-zero input to a value between A-F.
  • Current outputs are shared, showing various combinations of shares and their corresponding BCD outputs, with some outputs marked as correct or incorrect.
  • A participant believes they have resolved their issues with the outputs and seeks confirmation on whether they have met the requirement for W to be the MSB, expressing concern about the tutor's hints regarding the ENABLE input of the 74151.
  • Another participant inquires if the circuit has been completed and asks for details on the implementation.

Areas of Agreement / Disagreement

Participants express uncertainty about specific aspects of the circuit design, particularly regarding the use of the W input and how to properly implement the display blanking. There is no consensus on the best approach to take, and multiple viewpoints are presented.

Contextual Notes

Participants mention challenges with Karnaugh maps and the complexity of ensuring correct outputs for specific voting combinations. There are unresolved questions about the correct wiring and logic needed to achieve the desired functionality.

Foilist
Messages
9
Reaction score
1

Homework Statement



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.


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 haven't 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:
Physics news on Phys.org
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)
 
Also, how do you actually blank the display? Is that one of the input codes, or do you need to disable it?
 
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.
 
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
 
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:
  • Like
Likes   Reactions: bobodarlene


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

Thanks
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 11 ·
Replies
11
Views
4K
Replies
2
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
Replies
15
Views
3K
  • · Replies 5 ·
Replies
5
Views
7K
Replies
55
Views
8K
  • · Replies 13 ·
Replies
13
Views
3K