A dedicated PCB implementation of the clock module for a discrete 8-bit computer. This project is heavily inspired by Ben Eater's 8-bit computer series but adapts the breadboard schematics into a permanent, reliable Printed Circuit Board form factor. The clock module is the heartbeat of the computer. It synchronizes all operations across the bus, registers, and memory. This PCB module is designed to be modular, allowing it to be plugged into a larger backplane or connected via jumper wires to other components.
- Dual Operation Modes
- Astable Mode (Auto): Runs continuously at a variable frequency.
- Monostable Mode (Manual): Advances the clock one cycle at a time via a push button.
- Variable Speed
- Adjustable frequency via an onboard potentiometer (approx. 1Hz to 500Hz).
- Bistable Debouncing
- Uses a 555 timer to debounce the mode selection switch, ensuring clean transitions between Auto and Manual modes.
- Halt Line
- Input pin to pause the clock via software (e.g., usually triggered by a HLT instruction).
The circuit is built around the versatile 555 Timer IC. The design uses three distinct timers to handle signal generation and logic control:
- Timer A (Astable): Configured as an oscillator to generate a continuous square wave. Frequency is controlled by a potentiometer and capacitor C.
- Timer B (Monostable): Configured as a "one-shot" pulse generator. Pressing the tactile button generates a single, clean high pulse.
- Timer C (Bistable): Acts as a debounced SR latch. It toggles the computer between listening to Timer A or Timer B based on the position of the toggle switch.
The PCB exposes the following header pins:
| Name | Description |
|---|---|
| 5V_OUT | +5V supply output. |
| CLOCK_OUT | The clock output signal. |
| HALT_IN | The input halt signal. |
| GND_OUT | Ground supply output. |
Ben Eater: For the incredible 8-bit computer tutorial series which served as the primary inspiration for this project.
