ADC0804 Pinout and Typical Connections
ADC0804 Pinout and Typical Connections
As shown in the typica circuit, ADC0804 can be interfaced with any microcontroller. You need a
minimum of 11 pins to interface ADC0804, eight for data pins and 3 for control pins. As shown
in the typical circuit the chip select pin can be made low if you are not using the microcontroller
port for any other peripheral (multiplexing).
There is a universal rule to find out how to use an IC. All you need is the datasheet of the IC you
are working with and take a look at the timing diagram of the IC which shows how to send the
data, which signal to assert and at what time the signal should be made high or low etc.
Note: Keep this in mind that whenever you are working with an IC and you want to know how to
communicate with that IC, then simply look into the timing diagram of that IC from its datasheet.
It gives you complete information that you need regarding the communication of IC.
The above timing diagrams are from ADC0804 datasheet. The first diagram (FIGURE 10A)
shows how to start a conversion. Also you can see which signals are to be asserted and at what
time to start a conversion. So looking into the timing diagram FIGURE 10A. We note down the
steps or say the order in which signals are to be asserted to start a conversion of ADC. As we
have decided to make Chip select pin as low so we need not to bother about the CS signal in the
timing diagram. Below steps are for starting an ADC conversion. I am also including CS signal
to give you a clear picture. While programming we will not use this signal.
Once the conversion in ADC is done, the data is available in the output latch of the ADC.
Looking at the FIGURE 10B which shows the timing diagram of how to read the converted
value from the output latch of the ADC. Data of the new conversion is only avalable for reading
after ADC0804 made INTR pin low or say when the conversion is over. Below are the stepts to
read output from the ADC0804.
org 0H
start: ;Start of Program
acall conv ;Start ADC conversion
acall read ;Read converted value
mov P3,adc_val ;Move the value to Port 3
sjmp start ;Do it again