Intro: 8 Bit Serial Digital to Analog (5v Range) Converter for Microcontrollers (when TTL and Resistors Is All You've Got)
So I needed a DAC (digital to analog converter) to use with my pic12F675 , and for those of you who have never heard of this little fella, it's an 8 pin microcontroller from Microchip that has only 6 I/O pins...
This is a very simple circuit that converts Digital data (serial input) to Analog values ranging from 0v to 5v (I used it to generate audio (adding an output capacitor to filter DC) with the 12f675 (requires amplification) )
It can also be used as a serial->parallel output multiplexer (see digital outputs)
+(1) 74164 8bit Shift Register
+(1) 74373 8bit Latch
+(9) 10K resistors
+(7) 4.7K resistors
+'Generic' perfboard (the pcb...)
Step 1: The Schematics
'1' will put the digital outputs to tri-state (while in tri-state the digital "outputs" can be used as parallel input to the DAC)
'0' Normal Usage
'0' Maintains the current Register state (Maintains the current analog output)
'1' Copies the inputs from the shift register and stores it
'0' Clears the Shift register
'1' Normal Usage
__/ clocks the result of the expression (Serial_In and Serial_In2) into the shift registerOutputs:
Analog_Out: after all It is a digital to ANALOG converter...
Parallel_Out 0-7: but it's also a output multiplexer =D
Step 2: The Assembly As a Breadboard 'Plugin'
By using this cheap perfboard and adding some "(Jumpers)-1" My DAC is now a single (unusually LARGE) component ...
My assembly isn't particularly elegant...but it does the trick...