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)

Materials:

+(1) 74164 8bit Shift Register
+(1) 74373 8bit Latch
+(9) 10K resistors
+(7) 4.7K resistors
+ā€™Genericā€™ perfboard (the pcbā€¦)

Step 1: The Schematics

I was thinking of using this as a generic DAC ( ā€œplug and playā€ at any breadboard(plugboard) ) for most applications you wonā€™t need to use all inputs (but DONā€™T let them float)

Inputs :

tri_state :
ā€˜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

Latch_Enable :
ā€˜0ā€™ Maintains the current Register state (Maintains the current analog output)
ā€˜1ā€™ Copies the inputs from the shift register and stores it

Not_Shift_clear:
ā€˜0ā€™ Clears the Shift register
ā€˜1ā€™ Normal Usage

Shift_Clock:ā€™

   __/    clocks the result of the expression (Serial_In and Serial_In2) into the shift register

Outputs:

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ā€¦

Source: 8 Bit Serial Digital to Analog (5v Range) Converter for Microcontrollers (when TTL and Resistors Is All Youā€™ve Got)

About The Author

Muhammad Bilal

I am a highly skilled and motivated individual with a Master's degree in Computer Science. I have extensive experience in technical writing and a deep understanding of SEO practices.