Monday, October 5, 2026

Interfacing Digital to Analog converter 8085 microprocessor | 8085 Lab Program

 Section: Hardware Interfacing Experiments

Aim:

  1. To write an assembly language program for digital to analog conversion.
  2. To convert digital inputs into analog outputs & to generate different waveforms.

Apparatus Required:

  • 8085 Microprocessor kit – 1
  • Power Supply (+5 V dc, +12 V dc) – 1
  • DAC Interface board – 1
  • Cathode Ray Oscilloscope (CRO)

Algorithm:

  • Measurement of Analog Voltage:

    1. Send the digital value to the DAC.
    2. Read the corresponding analog value at its output.
  • Square Waveform Generation:

    1. Send low value (00H) to the DAC.
    2. Introduce a suitable delay.
    3. Send high value (0FH / FFH) to the DAC.
    4. Introduce delay.
    5. Repeat the above procedure continuously.
  • Saw-tooth Waveform Generation:

    1. Load low value (00H) to accumulator.
    2. Send this value to DAC.
    3. Increment the accumulator.
    4. Repeat steps 2 and 3 until accumulator value reaches FFH.
    5. Repeat the procedure from step 1.
  • Triangular Waveform Generation:

    1. Load low value (00H) in accumulator.
    2. Send accumulator content to DAC.
    3. Increment the accumulator.
    4. Repeat steps 2 and 3 until accumulator reaches FFH.
    5. Decrement the accumulator and send accumulator contents to DAC.
    6. Repeat step 5 until accumulator reaches 00H, then repeat from step 1.


Program:

  • 1. Square Wave Program:
AddressLabelMnemonicsOperandComment
4100STARTMVIA, 00HLoad 00 in accumulator
4102OUTC8Send through output port
4103CALLDELAYGive a delay
4105MVIA, 0FHLoad 0F in accumulator
4107OUTC8Send through output port
4108CALLDELAYGive a delay
4109JMPSTARTGo to starting location
410ADELAYMVIB, 05Load count value 05 in B reg
410BL1MVIC, 0FLoad count value 0F in C reg
410CL2DCRCDecrement C register
410EJNZL2Loop until C is 0
410FDCRBDecrement B register
4110JNZL1Loop until B is 0
4112RETReturn to main program

  • 2. Saw-tooth Wave Program:
AddressLabelMnemonicsOperandComment
4100STARTMVIA, 00HLoad 00 in accumulator
4102L1OUTC0Send through output port
4103INRAIncrement contents of accumulator
4104JNZL1Send through output port until FF
4107JMPSTARTGo to starting location

  • 3. Triangular Wave Program:
AddressLabelMnemonicsOperandComment
4100STARTMVIL, 00HLoad 00 in L register
4102L1MOVA, LMove contents of L to A
4103OUTC8Send through output port
4104INRLIncrement contents of L
4105JNZL1Send through output port until FF
4108MVIL, FFHLoad FF in L register
4109L2MOVA, LMove contents of L to A
410AOUTC8Send through output port
410BDCRLDecrement contents of L
410CJNZL2Send through output port until 00
410FJMPSTARTGo to starting location

Observation:

  • Measurement of Analog Voltage:
Digital DataAnalog Voltage
FF5V
000V

Result: Thus digital to analog conversion is done and different waveforms such as square wave, sawtooth wave, and triangular wave are generated by interfacing DAC with 8085.

Viva Questions:
1. DAC (Digital to Analog Converter) finds application in what types of control systems?
2. Which device is connected between OUT1 and OUT2 of AD7523 to save DAC from negative transients?
3. What is the function of an operational amplifier connected at the output of AD7523?
4. What is the settling time of DAC 0800?
5. What is meant by the instruction `OUT C8`?
6. Give examples of various DAC ICs.

For all 2026 published articles list: click here: 

…till the next post, bye-bye & take care