HARDWARE LAB 17 · PROGRAMMABLE SOUND GENERATOR

PROGRAM SOUND WITH COUNTERS

Write three 10-bit tone dividers and one 15-bit noise generator, then inspect the counters, register bytes, channel waveforms, spectrum, and analog sum.

MASTER CLOCK3.579545 MHzTONE 1261.4 HzNOISE SHIFT3.50 kHz
FIVE-TRACE LOGIC SCOPE

CHANNELS + SUMMING NODE

CAPTURING
WINDOWED DFT

OUTPUT SPECTRUM

YELLOW MARKERS = TONE FUNDAMENTALS
INTERNAL STATE

COUNTERS + FLIP-FLOPS

ChannelDividerCounter nowOutputFrequency
TONE 1428234LOW261.4 Hz
TONE 2340302HIGH329.0 Hz
TONE 3285217HIGH392.5 Hz
NOISE÷10240.722LOW3.50 kHz
CPU BUS

LATCH / DATA BYTES

RegisterHex writeBus bits
TONE 10x8C 0x1A10001100 00011010
VOL 10x9210010010
TONE 20xA4 0x1510100100 00010101
VOL 20xB410110100
TONE 30xCD 0x1111001101 00010001
VOL 30xD611010110
NOISE0xE111100001
VOL N0xFF11111111
SIGNAL PATH

FROM CPU BYTE TO SPEAKER CURRENT

  1. 018-BIT BUS WRITELatch selects one of eight internal registers.
  2. 02÷16 CLOCK SCALERFeeds three reloadable 10-bit tone counters.
  3. 03FLIP-FLOPS + LFSRCreate square waves and periodic or white noise.
  4. 042 dB ATTENUATORSFour independent 4-bit level controls; code 15 is off.
  5. 05ANALOG SUMMERCombines all four channels at one audio output pin.