Jotrin Electronics
Description Quantity Total (USD) Operation
Shopping cart products
Shopping cart products : 0
Home > Processor/DSP > ADC0804 ADC Pinout, Circuit Diagram, Datasheet and Uses

ADC0804 ADC Pinout, Circuit Diagram, Datasheet and Uses

Update Time: 2024-01-02 13:47:22


In electronic engineering, various modules convert analog signals into digital ones. These essential tools are called Analog-to-Digital Converters (ADC). Apart from their primary function, they are also employed to determine input current and voltage values. Typically, these converters yield binary numbers as output, although other numerical outputs are feasible. While diverse structural schemes exist for these analog-to-digital converters, they are predominantly packaged within integrated circuits.

The operational performance of these signal converters hinges on factors such as bandwidth and Signal-to-Noise Ratio (SNR). The bandwidth is defined by the sample rate, which involves converting a continuous-time signal into a discrete-time signal. On the other hand, the signal-to-noise ratio is gauged through parameters like resolution, accuracy of signal, and aliasing—an effect that causes distinct signals to become indistinguishable.

In the past, analog-to-digital converters (ADCs) were paired with intelligent hardware or microcontrollers, as the latter lacked built-in ADC functionality. Nowadays, nearly every microcontroller comes equipped with an integrated ADC. Initially, ADCs found applications with analog temperature sensors, measuring temperatures in various settings like room temperature, factory boilers, or car engines. Their utility extends beyond temperature measurement, suitable for any scenario requiring the measurement of analog signals.

One specific ADC, the ADC0804, was interfaced with microcontrollers lacking built-in ADCs, gaining popularity among engineers and DIY circuit enthusiasts in the late '90s. With the integration of built-in ADC features in modern microcontrollers, the usage of ADC0804 in mainstream electronic products has diminished. Nevertheless, it remains a valuable resource for those looking to delve into the intricacies of analog to digital converters. In this article, we will explore ADC0804 analog to digital converter IC, including its pinout, circuit diagram, working, uses, datasheet, and more details.

What is ADC0804?

The ADC0804 stands out as a CMOS 8-bit A/D converter utilizing successive approximations. It employs a modified potentiometric ladder tailored for seamless operation with the 8080A control bus via three-state outputs. These converters present themselves to the processor as either memory locations or I/O ports, eliminating the need for additional interfacing logic.

ADC0804 IC.png

Widely integrated into various microcontrollers, including the Raspberry Pi, this IC operates without an external clock, as it comes equipped with its clocking mechanism.

This component proves to be the optimal selection for those pursuing an analog-to-digital converter with optimal resolution and eight-bit precision. In the past, early-generation microcontrollers lacked an integrated analog-to-digital converter, necessitating separate hardware. However, contemporary microcontrollers are furnished with built-in ADC converters.

Primarily employed for temperature measurements in diverse settings such as homes and industries, this signal converter plays a pivotal role in gauging the temperature of heating elements utilized in various machinery. It finds utility in temperature measurement in automotive applications, like in cars.

While its application is not restricted solely to temperature calculations, this module finds use in scenarios where the measurement of analog signals is paramount.

Why do We Need to Use ADC?

In practical situations, or, to put it differently, in the context of real-world occurrences, the representation of various events' outcomes invariably takes a mathematical form or values. These mathematical representations consistently adopt a continuous nature. To clarify, they possess a definite commencement and conclusion, yet they encompass an infinite array of values amidst these bounds.

Interpreting these analog values in the time domain, which corresponds to real-life scenarios, is straightforward. However, a common challenge arises when transitioning to machines or electronic devices—they struggle to interpret these values accurately. While they may manage to comprehend the starting or concluding points, more often than not, a precise interpretation becomes elusive. Machines and electronic devices predominantly operate within the "frequency domain." Analog-to Digital Converters (ADC) are the go-to solution for addressing such challenges.

Analog to Digital Converter.png

ADC0804 Pinout

The ADC0804 is packaged in a configuration of 20 pins. The dimensions of the integrated circuit are notably spacious. The 20-pin DIP package imparts a visual impression of a substantial circuit housed within. The distinct functions of each pin on the ADC0804 are delineated below.

ADC0804 Pinout.png

ADC0804 Pin Diagram

Pin Configuration

Pin No.Pin NameDescription
1Chip Select (CS)Chip select is used if more than 1 ADC module is used. By default grounded
2Read (RD)Read pin must be grounded to read the Analog value
3Write (WR)Write pin should be pulsed high to start data conversion
4CLK INExternal clock can be connected here, else RC can be used for accessing internal clock
5Interrupt (INTR)Goes high for interrupt request.
6Vin (+)Differential Analog input +. Connect to ADC input
7Vin (-)Differential Analog input -. Connect to ground
8GroundAnalog Ground pin connected to ground of circuit
9Vref/2Reference voltage for ADC conversion.
10GroundDigital Ground pin connected to ground of circuit
11 to 18
Data bit 0 to bit 7Seven output Data bit pins from which output is obtained
19CLK RRC timing resistor input pin for internal clock gen
20VccPowers the ADC module, use +5V

ADC0804 Reference Pin (Vref/2)

Vref/2 serves as the voltage reference pin for the ADC0804. In this context, "reference" denotes that a specific change in input voltage should correspond to an increase of 1 or reach a predetermined limit in the output. When Vref/2 (pin-9) is left unconnected, it signifies that the input voltage range spans from 0 to 5 volts, with a step size of 5/255, equivalent to 19.6 mV.

The term "voltage span" indicates the range the ADC can measure, exemplified in the above case as 0 to 5 volts. The step size, or the increase in output for a 19.6 mV rise in input voltage, is crucial. For instance, if the current output is 2, a 19.6 mV elevation in input voltage will result in an output of 3. The table below illustrates various Vref/2 voltages and their corresponding spans of analog input voltage for clarity.


  • Seamless integration with all Microprocessors or standalone operation.

  • Single-channel 8-bit ADC module.

  • An on-chip clock is available; no external oscillator (clock) is required.

  • Digital output ranging from 0 to 255.

  • Input voltage range of 2.5 – 6.5.

  • With Vref set at 5V, each 19.53mV analog value increase results in a one-bit rise on the digital side (Step size).

  • Available in 20-pin PDIP and SOIC packages.

  • Conversion of analog to digital values takes 110 microseconds.

  • Internal clock frequency at a robust 640 kilohertz.

  • Voltage measurement capability from zero to five volts with a five-volt input supply.

  • Compatible with various voltage references, with a minimum requirement of 2.5V.

  • Full functionality with CMOS and TTL electronic devices.

  • Internal clock operating at a frequency of 640kHz.

  • Operation without the need for zero adjustment.

  • Minimum conversion time of 110 microseconds.

  • Inclusion of a differential analog voltage input.

ADC0804 Circuit Diagram

Functional Block Diagram

ADC0804 Functional Block Diagram.jpg

Internal Circuit

Similar to its counterparts, the ADC0804 encompasses a somewhat intricate internal circuit. Its primary function involves translating analog signals into digital ones, employing elements such as Gates, Flipflops, Shift Registers, Tristate, Clock, latch, Ladder, and a Decoder. However, the SAR Latch is the pivotal component in the ADC0804 for signal conversion.

The SAR Latch executes the conversion of a continuous analog signal into a digital or discrete signal through a binary search, utilizing all conceivable quantization or mapping levels. Additional elements within the ADC0804, such as the tri-state and 8-bit shifter, contribute to delivering the appropriate output based on the provided input. The tri-state is an internal register for retaining data until a high-to-low pulse is initiated. Simultaneously, an 8-bit shift register ensures the output is presented sequentially, allowing other devices to read it in an 8-bit format.

Where to Use ADC0804

The ADC0804 is a widely employed ADC module, particularly suitable for projects necessitating an external ADC. It comprises 20 pins and is a single-channel 8-bit ADC module capable of measuring one ADC value within the 0V to 5V range. With a voltage reference (Vref – pin 9) set at +5V, the precision, or step size, is 19.53mV. Essentially, for every 19.53mV increase on the input side, there is a corresponding 1-bit increase on the output side.

This IC is exceptionally well-suited for microprocessors like Raspberry Pi, BeagleBone, etc., or can be employed independently as a standalone ADC module. Clock requirements are intrinsic to every ADC module, and this IC addresses this need by incorporating its internal clock, alleviating concerns in that regard. If you are searching for a compact ADC module with a commendable 8-bit resolution, this IC presents an ideal solution.

How to Use ADC0804

  1. Activate the ADC0804 by setting Cs (chip select) to a low state (0).

  2. Lower the WR (write) pin to 0.

  3. After a brief delay, raise the WR (write) pin to 1. This transition from low to high at the WR pin initiates conversion.

  4. Check the INTR (interrupt) pin status: if high (1), the conversion is ongoing; if low (0), the conversion is complete.

  5. Set RD (read) to low (0) and, after a designated period, set it back to high (1). This action brings the converted value to the 8 data output pins of the ADC0804.

Below is a simple code in the C language that implements the described logic practically. Note that the code structure remains the same if you are coding in C++. If you use assembly language, the method is identical, with minor syntax adjustments.

cs = 0;        // Select the chip

wr = 0;        // Set write pin

delay(10);     // Introduce a delay

wr = 1;        // Commence analog to digital conversion

rd = 1;        // Do not read (optional, for efficiency)

while (intr == 1);  // Loop until intr is 0

rd = 0;        // Bring data from internal registers to output pins

This code provides a practical implementation of the specified steps for using the ADC0804 analog-to-digital converter.

Example Circuit Proteus

Below is an illustrative circuit featuring the ADC0804 in Proteus, demonstrating how to convert voltages into digital values. Begin by setting up the basic circuit as previously described for the ADC0804, and then follow these instructions:

  1. Connect the variable voltage source to the analog pin + and ground it with the analog pin -ve.

  2. Use logic states to control and visualize the output in Proteus.

  3. Link the logic state changeable for visualization control with INT and WR pins.

  4. Attach logic viewers to the output pins of the ADC0804.

  5. Since the same input and output source are utilized, the GND of both analog and digital should share the same power source.

  6. Ensure that the input voltage does not exceed 6.5 Volts. While Proteus may function with higher voltages, the IC can be prone to burning with elevated voltages.

Upon completion, the circuit will appear as follows:


After setting up the circuit, run it to observe the output.


Any change in voltage using the variable resistor will be reflected in binary form.

For instance, with an input of 4 volts, the output displays the value "11001100."

To convert binary to decimal:

(11001100)₂ = (1 × 2⁷) + (1 × 2⁶) + (0 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (1 × 2²) + (0 × 2¹) + (0 × 2⁰) = 204

Analog Value = Step Size × Decimal Value

Step Size: With Vref set to 5V, each 19.53mV increase in analogous value results in a one-bit increase on the digital side.

Analog Value = 19.53 × 51 = 393.7mV = 3.9

The actual voltage obtained after digital conversion is 3.9, closely matching the input voltage 4. This voltage conversion is just one example, and ADC0804 finds numerous real-life applications, such as temperature and heat sensors.

ADC0804 Application

  • Compatible with any 8-bit microprocessor (µP) processor or functions independently as a standalone device.

  • Commonly employed with Raspberry Pi, BeagleBone, and various other microprocessor unit (MPU) development platforms.

  • Facilitates interface with temperature sensors, voltage sources, and transducers.

ADC0804 Typical Application Schematic

ADC0804 Typical Application Schematic.jpg

ADC0804 Equivalents

The equivalents for ADC0804 include ADC0808 and ADC modules.

ADC0804 Package


2-D Model (PDIP)

ADC0804 Datasheet

Download ADC0804 Datasheet PDF.


The ADC0804 is a fundamental component in electronics, enabling the conversion of analog signals into digital data. Its simplicity, 8-bit resolution, and successive approximation method make it suitable for various applications, ranging from sensor interfaces to data acquisition systems. When working with the ADC0804, consider clock frequency, accuracy requirements, and proper interfacing to ensure reliable and accurate analog-to-digital conversion.

Read More

Previous: Potentiometer: Pinout, Symbol, Wiring, and Working

Next: The Ultimate Guide to 2N3819 N-Channel JFET


  • What is the function of ADC0804?
  • The ADC0804 transforms the input analog voltage into its corresponding digital output.

  • What is the fastest conversion time of ADC0804?
  • In the ADC0804, the conversion time is contingent on the clocking signals supplied to the CLK IN pin, but it cannot be accelerated beyond 110 microseconds.

  • Why two pins for ground are available in ADC0804?
  • The ADC0804 features two ground pins to establish distinct and independent ground connections for the chip's analog and digital pins. This configuration is implemented to prevent interference and noise in the signals. The GND pin is dedicated to the analog pins, while the DGND pin is assigned to the digital pins.

  • Is ADC0804 a bit?
  • The ADC0804 is an 8-bit successive approximation A/D converter based on CMOS technology, employing a differential potentiometric ladder similar to the 256R products.

  • Which pin is used to select ADC0808?
  • In the ADC0808 IC, the pin designated for selecting the step size, referred to as the reference voltage, is commonly marked as "Vref/2" or "Vref." This pin establishes the reference voltage for comparison with the analog input voltage during the analog-to-digital conversion.

  • Which pin of the adc0804 indicates the end of conversion?
  • PIN-5 – Interrupt (INTR): This pin automatically goes low when the ADC0804 completes the conversion or when the digital equivalent of the analog input is ready.

    PIN-6 – Vin (+): Connect the input analog sensor pin/input voltage to this pin.

  • What is the difference between ADC 0808 and 0804?
  • The 0808 ADC converter has two reference voltages (Vref+ and Vref-). In the 0804, there is a pin called WR, while in the 0808, there is a pin called SC. For end-of-conversion in the 0804, one uses INTR, whereas in the 0808, one uses the EOC Pin. In the 0804, there is a pin for reading data called RD Pin, which is called OE in the 0808.

  • What is the difference between ADC0804 and Max 1112?
  • ADC0804 is employed for parallel ADC, while MAX1112 serves the purpose of serial ADC.

Ratings and Reviews



Account Center


Live Chat