Giter Site home page Giter Site logo

digital-logic-stuff's Introduction

I want to build a 24-hour binary clock (hours/minutes/seconds) from scratch. This includes everything from the designing the circuit to the building the casing. I'll track my notes and incremental progress here.

Parts distributors

  • Elenco
  • Jameco
  • Digikey

Integrated circuits

  • Dual inline packaging.
  • Pinouts to make sense of inputs and outputs.
  • TTL vs CMOS. CMOS more sensitive, more expensive, lower power. I have TTL ICs.

TTL family

  • 5 volts.
  • 7400 NAND
  • 7402 NOR
  • 7408 AND
  • 7432 OR
  • 7486 XOR
  • 74266 XNOR
  • 7447 BCD (binary-coded decimal) to 7seg
  • 7474 D flip-flop
  • 7475 Bistable latch (don't remember what this is?)
  • 74148 Decimal to BCD encoder
  • 7476 JK flip-flop. Two flip-flops wired together in a master-slave (unfortunate naming...) configuration
  • 7490 decade counter. Saves you the trouble of wiring four JK flip flops sequentially.
  • 75690 8-bit counter
  • 74283 4-bit full adder

Flip flops

  • Set and reset are synchronous and take effect on the next clock cycle.
  • Preset and clear are asynchronous and take effect immediately.
  • Edge triggered vs level triggered. The former seem to be preferred.

Switches

  • Single pole, double throw (SPDT)

References

Design notes for a digital clock displaying hours, minutse, and seconds in binary:

  • 5 LEDs for 24 hours, 6 LEDs for 60 minutes, and 6 LEDs for 60 seconds means I'm using 17 LEDs total
  • Place them in three rows
  • Use an 8-bit counter with clear logic for hours, minutes, seconds, respectively?
  • Switch for toggling between two modes: letting the clock run (default) and letting the user configure it
  • Two push buttons: one for incrementing the hour and another for incrementing the minute
    • These should do nothing if the user is not configuring the time
  • Use adders to increment the state? Or will the user pushing the button function as a clock signal?
    • May need to implement debouncing?

Next steps:

  • The circuit above is somewhat complex. I should use a circuit simulator to test it out before ordering more parts.
  • I knew how to use NI Multisim at some point, but its free version is very limited in its capabilities.
  • LTSpice looks like a free circuit simulator. I should start with a simple combinatorial circuit.

digital-logic-stuff's People

Contributors

vhxs avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.