Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

8

Click here to load reader

Transcript of Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Page 1: Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Custom Search

Home

Forums

Datasheets

Lab Manual

Testing Components

Buy Project Kits

Electronic Circuits and Diagram-Electronics Projects

and Design

Interfacing ADC to 8051

admin

September - 6 - 2012

4 Comments

ADC (Analog to digital converter) forms a very essential part in many embedded projects and this article is about

interfacing an ADC to 8051 embedded controller. ADC 0804 is the ADC used here and before going through the

interfacing procedure, we must neatly understand how the ADC 0804 works.

ADC 0804.

ADC0804 is an 8 bit successive approximation analogue to digital converter from National semiconductors. The features

of ADC0804 are differential analogue voltage inputs, 0-5V input voltage range, no zero adjustment, built in clock

generator, reference voltage can be externally adjusted to convert smaller analogue voltage span to 8 bit resolution etc.

The pin out diagram of ADC0804 is shown in the figure below.

ADC0804 pinout

The voltage at Vref/2 (pin9) of ADC0804 can be externally adjusted to convert smaller input voltage spans to full 8 bit

resolution. Vref/2 (pin9) left open means input voltage span is 0-5V and step size is 5/255=19.6V. Have a look at the table

below for different Vref/2 voltages and corresponding analogue input voltage spans.

Vref/2 (pin9) (volts) Input voltage span (volts) Step size (mV)

Interfacing ADC to 8051. Circuit for interfacing ADC 0804 to AT89S... http://www.circuitstoday.com/interfacing-adc-to-8051

1 de 8 21/05/2014 18:01

Page 2: Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Left open 0 – 5 5/255 = 19.6

2 0 – 4 4/255 = 15.69

1.5 0 – 3 3/255 = 11.76

1.28 0 – 2.56 2.56/255 = 10.04

1.0 0 – 2 2/255 = 7.84

0.5 0 – 1 1/255 = 3.92

Steps for converting the analogue input and reading the output from ADC0804.

Make CS=0 and send a low to high pulse to WR pin to start the conversion.

Now keep checking the INTR pin. INTR will be 1 if conversion is not finished and INTR will be 0 if conversion is

finished.

If conversion is not finished (INTR=1) , poll until it is finished.

If conversion is finished (INTR=0), go to the next step.

Make CS=0 and send a high to low pulse to RD pin to read the data from the ADC.

Circuit diagram.

Interfacing ADC to 8051

The figure above shows the schematic for interfacing ADC0804 to 8051. The circuit initiates the ADC to convert a given

Interfacing ADC to 8051. Circuit for interfacing ADC 0804 to AT89S... http://www.circuitstoday.com/interfacing-adc-to-8051

2 de 8 21/05/2014 18:01

Page 3: Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Custom Search

analogue input , then accepts the corresponding digital data and displays it on the LED array connected at P0. For

example, if the analogue input voltage Vin is 5V then all LEDs will glow indicating 11111111 in binary which is the

equivalent of 255 in decimal. AT89s51 is the microcontroller used here. Data out pins (D0 to D7) of the ADC0804 are

connected to the port pins P1.0 to P1.7 respectively. LEDs D1 to D8 are connected to the port pins P0.0 to P0.7

respectively. Resistors R1 to R8 are current limiting resistors. In simple words P1 of the microcontroller is the input port

and P0 is the output port. Control signals for the ADC (INTR, WR, RD and CS) are available at port pins P3.4 to P3.7

respectively. Resistor R9 and capacitor C1 are associated with the internal clock circuitry of the ADC. Preset resistor R10

forms a voltage divider which can be used to apply a particular input analogue voltage to the ADC. Push button S1,

resistor R11 and capacitor C4 forms a debouncing reset mechanism. Crystal X1 and capacitors C2,C3 are associated with

the clock circuitry of the microcontroller.

Program.

ORG 00H

MOV P1,#11111111B // initiates P1 as the input port

MAIN: CLR P3.7 // makes CS=0

SETB P3.6 // makes RD high

CLR P3.5 // makes WR low

SETB P3.5 // low to high pulse to WR for starting conversion

WAIT: JB P3.4,WAIT // polls until INTR=0

CLR P3.7 // ensures CS=0

CLR P3.6 // high to low pulse to RD for reading the data from ADC

MOV A,P1 // moves the digital data to accumulator

CPL A // complements the digital data (*see the notes)

MOV P0,A // outputs the data to P0 for the LEDs

SJMP MAIN // jumps back to the MAIN program

END

Notes.

The entire circuit can be powered from 5V DC.

ADC 0804 has active low outputs and the instruction CPL A complements it t0 have a straight forward display.

For example, if input is 5V then the output will be 11111111 and if CPL A was not used it would have been

00000000 which is rather awkward to see.

You may also like:

Line follower robot using 8051 microcontroller

Object counter using 8051

Breathalyzer circuit using 8051

Heart rate monitor using 8051

Interfacing hex keypad to 8051

We recommend:

5 band graphic equalizer using LA3600

Digital temperature sensor

Lovotics – A New Robot Race that can Love!!

CLAMPING CIRCUITS

Invention Story of Mobile Phone

Posted in 8051 projects

Leave a Reply

Name (required)

Interfacing ADC to 8051. Circuit for interfacing ADC 0804 to AT89S... http://www.circuitstoday.com/interfacing-adc-to-8051

3 de 8 21/05/2014 18:01

Page 4: Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Mail (will not be published) (required)

Website

4 Responses to “Interfacing ADC to 8051”

ASHISH M G says:

March 5, 2014 at 10:15 pm

hi can u provide circuit for wall crack detecting robot using AT89C51

Reply

Rakshit says:

February 19, 2014 at 6:12 am

If we give 5v to pin 9, will 0804 ADC work ?

Reply

Munir Ahmad says:

July 19, 2013 at 10:08 am

This is munir ahmad, i’m electronics engineering student, i want c code of this circuit diagram, kindly you can give

me a favor doing this, i’ll be great thankful to you,,,,

Reply

EZE ROBERT says:

October 14, 2012 at 2:22 am

I suggest T-junction with pendenstial sign traffic ligth with counter, heart beat rate,Dot matrix display all these with

8051 in assembly language

Reply

Get Daily Updates via Email

Latest Articles

Digital thermometer using arduino

Temperature logger using arduino

Ultrasonic range finder using arduino

Voltmeter using arduino

PWM Control using Arduino – Learn to Control DC Motor Speed and LED Brightness

Interfacing ADC to 8051. Circuit for interfacing ADC 0804 to AT89S... http://www.circuitstoday.com/interfacing-adc-to-8051

4 de 8 21/05/2014 18:01

Page 5: Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Draw Your Circuits and Simulate them Online for Free using EasyEDA

Line Follower Robot using Arduino

Simple LED Projects using Arduino

Books to Learn PIC Microcontroller Basics – For Beginners

Blink LED with Arduino – say Hello World

Categories

101-Announcements

555 Timer IC

8051

8051 projects

Amplifier Circuits

Arduino

Audio Circuits

Automotive Circuits

AVR

Basic Electricity

Basic Electronics

Battery Circuits

C plus plus

C Programming

Cable TV Circuits

Camera Technology

Clipping and Clamping Circuits

Clocking & Timer Circuits

Conversion Circuits

Counter Circuits

Counters

Digital Electronics

Education & Training

Electronic Components

Interfacing ADC to 8051. Circuit for interfacing ADC 0804 to AT89S... http://www.circuitstoday.com/interfacing-adc-to-8051

5 de 8 21/05/2014 18:01

Page 6: Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Electronic Keys & Locks

Electronics Books

Electronics Jobs

Embedded Systems

Equipment Reviews

Events

Fan Circuits

Filter Circuits

Fire Alarm

Fun & Game Circuits

Gadget Reviews

Ham Radio Circuits

High Voltage Circuits

History

Home Circuits

Industrial Circuits

Instruments

Integrated Circuits

Inverters

Lab Manuals

LED related

Light Related

Lighting Circuits

MATLAB

Microcontrollers

Mobile Phone Related

Motor Related

Nanotechnology

Oscillators

Peripheral Interface Controller (PIC)

Power Controller Circuits

Power Electronics

Power Supplies

Project Ideas

Projects

Proximity Detectors

Radio Circuits

Radio Transmitters

Raspberry Pi

Relays

Remote Circuits

Reviews

Robotics

RTOS

Security & Saftey

Sensor Circuits

Signal Conditioners

Signal Generators

Speed Controller Circuits

State space analysis

Switching Circuits

Tech News

Telephone Related

Television Related

Temperature Related

Test & Measurement Circuits

Testing Components

Three phase circuits

Interfacing ADC to 8051. Circuit for interfacing ADC 0804 to AT89S... http://www.circuitstoday.com/interfacing-adc-to-8051

6 de 8 21/05/2014 18:01

Page 7: Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Timer Circuits

Tone generator circuits

Tools and Softwares

Transmitters

Tutorials

UPS

USB Circuits

Videos

VLSI

Voltage Regulators

Like Us on Facebook

Circuitstoday.com

22.275 pessoas curtiram Circuitstoday.com.

Plug-in social do Facebook

CurtirCurtir

Recent Comments

Seetharaman on 2 km FM transmitter

Victor on 2 km FM transmitter

Victor on 2 km FM transmitter

Victor on 2 km FM transmitter

Physics guy on 2 km FM transmitter

Seetharaman on 2 km FM transmitter

Seetharaman on PN Junction Diode and its characteristics

Seetharaman on 200M FM Transmitter

Seetharaman on Passive tone control circuit

Seetharaman on Mobile incoming call indicator

arun on Stereo FM transmitter using BA1404

Seetharaman on Two transistor tone controller

abubakar on Two transistor tone controller

Victor on 2 km FM transmitter

Eric on PN Junction Diode and its characteristics

Pages

About

Advertise With Us

Authors

Buy Project Kits

Datasheets

Electronic Circuit Symbols

Lab Manuals

Electronic Circuits Lab

Microcontroller lab

Microprocessor Lab

Interfacing ADC to 8051. Circuit for interfacing ADC 0804 to AT89S... http://www.circuitstoday.com/interfacing-adc-to-8051

7 de 8 21/05/2014 18:01

Page 8: Interfacing ADC to 8051. Circuit for Interfacing ADC 0804 to AT89S51 Microcontroller

Privacy Policy

Project Contests

Resistor Color Code Calculator

Sitemap

Testing Components

Popular Tags

555 IC 555 timer Audio Amplifier Circuits Audio circuits circuit design circuit diagram Electronic

Circuits Electronic Components Electronic Instruments Filter Circuits History of Electronics hobby circuits hobby projectsHome Circuits IC Integrated Circuits Most Popular Circuits Nanotechnology NE555 timer Oscillators PIC Power Supplies Radio

Circuits SCR Simple Electronics Projects Tech News Thyristors Tutorials VLSI Voltage Regulators

Most Discussed

150 Watt amplifier circuit

100 Watt sub woofer amplifier.

Mains Operated LED Circuit

Automatic LED Emergency Light-Modified Version

2 km FM transmitter

Suggest a Topic to Publish & Win a 8GB Pen Drive

Automatic LED Emergency Light

Copyright © 2007 - 2011 Circuitstoday.com Designed by Web Design Cochin

Interfacing ADC to 8051. Circuit for interfacing ADC 0804 to AT89S... http://www.circuitstoday.com/interfacing-adc-to-8051

8 de 8 21/05/2014 18:01