2.6. Build Digital to Analog Converter Using
The first task this week is to build a simple D/A convertor
and evaluate its performance. You will be using a DAC0808 (DAC0808 datasheet).Your
design should take 8 bits from the microcontroller (use the 8 8bits
on Port 0 of the AT89s51 as the input to the D/A convertor). The D/A
output should range from 0 to 5 volts. The lower 8 bits from the AT89s51
should go into the 8 bits from the DAC0808. Note: I expect you to try
to get the device to work by reading the datasheet and trying to understand
it, if you have trouble you should come see me, but I expect you to
have fairly specific questions that indicate you have put some thought
into the problem.
Figure 2.6.1. Pin Configuration DAC0808
Things to consider with the this design:
Figure 2.6.1 from page 4 of the DAC0808 datasheet is
a good place to start your design.
The pins are labeled A1 through A8, but note that A1 is the Most Significant
Bit, and A8 is the Least Significant Bit (the opposite of the normal
convention). Ground the two least significant bits.
The D/A convertor has an output current, instead of an output voltage.
The output pin should stay at about 0 volts. The op-amp on the "Typical
Application" on the datasheet converts the current to a voltage.
How does it do this?
The output current from pin 4 ranges between 0 (when the inputs are
all 0) to Imax*255/256 when all the inputs are 1. The current, Imax,
is determined by the current into pin 14 (which is at 0 volts). Note:
Since we are using 8 bits, the maximum value is Imax*255/256.
You'll need to modify the circuit given in the datasheet to get a full
scale range of 0 to 5 volts. Again, our output will be just under 5
volts. The output of the D/A convertor takes some time to settle. You
may need to take this in consideration when planning the timing of the
A/D conversion in later sections of this lab. Check the DAC0808 datasheet
for specs. The code below shows an easy way to send 8 bits to the output
of the microcontrollerr. You should probably test your code without
the D/A convertor separately to ensure that the microcontroller is behaving
as you expect. ( Download Complete Circuit File