Help with Art of Electronics problem 10.32 (third edition)

Discussion in 'Homework Help' started by umichfan1, Aug 4, 2016.

  1. umichfan1

    Thread Starter Member

    Jun 16, 2012
    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!
  2. WBahn


    Mar 31, 2012
    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.
    umichfan1 likes this.
  3. umichfan1

    Thread Starter Member

    Jun 16, 2012
    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?