problem with 7-seg mpx4-cc

Status
Not open for further replies.

ellen

Newbie level 4
Joined
Jan 17, 2015
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
47
hi
i wanna show four numbers on this IC without micro
so i used a 74163 to count from 0-4 to and a 74LS153 to pick each 7seg to show its number on it
and i think of using 500us clock , as the human eye cant recognize each time which one is on
so i wish i could show different numbers on each 7seg
but i dont khow how to gather these together
completely mixed up with that
 

Normally a 7 segment display is driven by a 7447 or similar (4511, 4543). One digit at a time is turned on. Then it lights any or all segments simultaneously, to display the numeral. By persistence of vision we see all digits lit. It uses less power than lighting all digits all the time.

Or do you want to light only 1 led at a time? It will save even more power. A 74153 might be able to do that, with effort.

Namely, turn on a digit, rotate through each of 7 segments singly.
Then turn on the next digit, rotate through each of 7 segments singly.
Etc.?

A 1-of-8 selector IC might be easier to use.
 
Reactions: ellen

    ellen

    Points: 2
    Helpful Answer Positive Rating
Without a micro you also need four latches, one to hold data for each digit. You enable the latch outputs at the same time you enable it's related digit. You can either code the number as it's segment pattern before presenting it to the latch, or you can parallel all the latch outputs and feed them through a single segment encoder before reaching the LEDs.

I wouldn't advise the "1 LED at a time" method. It is possible and it does work but the average light output is only 1/7 (or 1/8 if you use the decimal dot) so expect a very dim digit.

Brian.
 
Reactions: ellen

    ellen

    Points: 2
    Helpful Answer Positive Rating

would you please help me to make this
i am a "beginner" and work so hard on this but still ....
 

ok
would you please explain more how i can use 4 latches ???????
 

The schematic in post #4 gives a first clue what you actually want to achieve.

We see a mux circuit, apparently intended to scan the four digits one-by-one.

Presently this part doesn't work. The 74163 clear input is an asynchronous one, thus the counter is immediately reset when counting from 2 to 3. The fourth segment won't be lighted. Please correct respectively.

Secondly the circuit misses a data source for the segments. The showing "PLAY" text suggests that you want to display a fixed pattern. If so, the segments can be driven by fixed logic, without latches. If the display content is intended to change, there should be latches and a multiplexer.

Presuming the fixed display guess is right, the next step would be to sketch a truth table with the intended segment state low or high for each digit position. Then design the logic. See https://en.wikipedia.org/wiki/Karnaugh_map and https://en.wikipedia.org/wiki/Circuit_minimization
 
Reactions: ellen

    ellen

    Points: 2
    Helpful Answer Positive Rating
would you explain more what should we do for moving the text on this IC !!
 

Expanding on what FvM and I stated dearlier, it isn't just a case of activating one display at a time, you have to present the segment pattern for that display at the same time you activate it. So when you address digit 1, you have to present the segment signals for digit 1, when you select digit 2 you have to present the segments for digit 2 and so on. As all the segments are joined in parallel across the digits, you have to present the segment data for each digit in sequence at the same time you turn that digit on. The way to do this is to hold the data in one latch per digit and enable the output of that latch at the same time you select the digit. So you hold all four sets of data, one in each latch. When digit 1 is turned on, you enable the output of latch 1 to the segments, when digit 2 is enabled you disable the output of latch 1 and enable the output of latch 2 to the segments and so on.

Brian.
 


i used one latch to show a fixed text on display . now its working .
and use 4 mux to make it move
but not working ...
would you help me how to make it move on screen?
 

Show what you are doing. With one latch it is only possible to display one character. You can display it on one display LED or on all of them but it will be the same character on all displays. For example "0000" or "4444" or "PPPP" but you can't have different characters across the four displays.

Can I ask why you don't use a micro? It makes this task very easy and uses far fewer components.

Brian.
 

Of course it can be done with discrete logic if necessary. That's how people did it 30 or 40 years ago.

What me bothers is the lack of clear specification. It hasn't been clearly stated what kind of display is intended, according to a picture we can guess that it's the word "PLAY".

But what's the exact 7-segment representation?
Only this fixed text, or is it just an example for a variable text?

Now ellen is requesting display "moving".

How exactly? Rotating the 4 digits? Or moving the text in and out, pre- and succeded by blanks? Which shift frequency?
 

This is my circuit to display "PLAY" in still mode. But how to scroll the text needs a little more thoughts. Perhaps a 16x4 ROM with the patterns of display pre-programmed as 1234, 2341, 3412, 4123, 1234......

How does the OP do it, did she succeed?

Allen
 

Attachments

  • displaying PLAY in TTL.PNG
    24.4 KB · Views: 199

I think I would have done it in a different, although not necessarily better, way. I would link the latch output enables to the digit select signals then insert an adder between the digit selects and the displays. My method only needs four latches, a counter, an adder and a decoder for the digit drives. Feeding a number to the second adder input should allow the digits to be offset from their 1234 order. If it was my project I would do it in one MCU though!

Brian.
 
I followed your method and the result is as attached. It scrolls from right to left at 1 character per second. The display rate is still the same as suggested by the OP at 2 KHz. I am not sure why the 4 AND gates are needed... because without them, there would be no display.

I do not know how to simulate a ROM with data in proteus so....can only only try out in real hardware when I have time...

Allen
 

Attachments

  • displaying PLAY in TTL scrolling.PNG
    30.8 KB · Views: 155

I am not sure why the 4 AND gates are needed... because without them, there would be no display.
Hard to believe. Decoder outputs Y4 to Y7 are never active.
I do not know how to simulate a ROM with data in proteus
Means you didn not read the manual. There are memory models with initialization file.
 
Apart from some nostalgic value, I'm not sure where this thread is leading. I think the OP's next question will be how to scroll some other text on to the display as 'PLAY' scroll off and the complexity of adding a bucket full of latches isn't worth considering. The solution for the past 25 years has been to use an MCU.

Perhaps the next question will be how to build a full bridge inverter using only thyratrons.....

Brian.
 

This is most probably a school assignment from the OP's college. But the exercise would be useful for ones who want to improve their knowledge in digital logic in order to prepare for more difficult assignments like using CPLD or FPGA.

Sure, if I want to design a LED text scrolling circuit I would have used a MCU. I have done it with 8051 years ago and it would be easier now if I use a PIC or AVR.

I am a beginner in CPLD and FPGA using VHDL in Altera platform. So this type of design challenge is really interesting for me. That's why I spent a couple of hours on this.

Allen

- - - Updated - - -

Hard to believe. Decoder outputs Y4 to Y7 are never active.

Means you didn not read the manual. There are memory models with initialization file.

Hi, I solved the problem by replacing the AND gates with a non-inverting buffer chip 74LS244. The 74138 is down-sized to 74139 and it works fine now.

I'll read more on the memory models with initialization files. Thanks for your pointers.

Regards.

Allen
 

This is most probably a school assignment from the OP's college. But the exercise would be useful for ones who want to improve their knowledge in digital logic in order to prepare for more difficult assignments like using CPLD or FPGA.
Yes, in this regard it can be still useful today. And you are looking at FPGAs design from the right side, wiring hardware elements, not software writing. Once you manage structural design, you'll probably find out that the problem can be solved more elegant, typing fewer lines of text, with a behavioral description. Still hardware description but on a higher abstraction level.
 
[update]

The text scrolling using a ROM is ready.

I downloaded HexEdit4_binary.zip and used it to create the ROM pattern and saved it as a .bin file. Fortunately proteus accept both bin and hex files. Not all the ROMs in proteus can accept files. Some are just for schematic drawing only.

The ROM file are the 4 patterns each occupying 256 bytes so makes a total of 1k Bytes. The clock is slowed down to 500 Hz, so I dont have to make bigger ROM files.

Allen

p/s U1b (74139) can be omitted by programming the ROM in a different pattern. But I would left it as an exercise for those interested....
 

Attachments

  • display PLAY with ROM scrolling V1.PNG
    89 KB · Views: 203
  • disp PLAY scrol_ROM.zip
    190 bytes · Views: 103
Last edited:

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…