Help with Art of Electronics problem 10.32 (third edition)

Thread Starter

umichfan1

Joined Jun 16, 2012
32
I am working through problem 10.32 in the new (third-edition) Art of Electronics textbook. It states:

Design a circuit that reads out, on 7-segment digits, how many milliseconds you’ve held a button down. The device should be smart enough to reset itself each time. Use a 1.0 MHz oscillator.

I am assuming that the display is in hexadecimal (as in Fig. 10.90 of the text), and my solution uses a single-pulse generator (“one-shot”) whose circuit diagram is given in Fig. 10.75 of the text. I’ve come up with a solution that I believe works (attached), but I am new to digital electronics and would therefore appreciate feedback on:

1) whether it is correct
2) how it could be improved

Thank you!
 

Attachments

WBahn

Joined Mar 31, 2012
30,077
One thing that you need to account for is switch bounce. With most mechanical switches, whenever you close or open the switch you actually get a rapid sequence of switch openings and closings as the contacts come together or move apart. For your circuit, I would recommend using a simple hardware switch debouncer. See if you can find out some information on doing that.
 

Thread Starter

umichfan1

Joined Jun 16, 2012
32
Thank you for the reply. Yes, I am familiar with switch bounce, but I forgot to mention that for simplicity I just assumed the pushbutton in my circuit diagram was already debounced. But I could use any of the several solutions to this mentioned in AoE (attached). Thanks for pointing this out, though.

Are there any other problems with my solution, or potential improvements I could make?
 

Attachments

Top