Professional Documents
Culture Documents
Vcc
Step Size n
2 1
Vcc is the reference voltage of ADC with n-bit resolution
Table 10.3 : Resolution versus Step Size for ADC (if Vcc =
5V)
n-bit Number of steps Step Size (mV)
8 2^8 = 256 5/255 = 19.61
10 2^10 = 1024 5/1023 = 4.89
12 2^12 = 4096 5/4095 = 1.22
16 2^16 = 65536 5/65535 = 0.076
ADC0804 Chip (Free Running Mode)
+5V
20
10k 6 Vin(+) 18
POT D0 Port of
7 Vin() 17
8 A GND
D1 8-bit uC
D2 16
9 15
Vref/2
D3 To
14
19 D4 LEDs
CLK R 13
D5
10k 4 D6 12
CLK in 11
150 pF ADC08 D7
1 04
CS
2 WR 3
RD
10 5 Normally
D GND INTR
open
START
Figure 10.1
ADC0804 Chip
CS
Active low input used to activate the ADC0804 chip.
RD (data enable)
Active low input used to get converted data out of the ADC0804 chip.
When CS = 0, if a high-to-low pulse is applied to the RD pin, the 8-bit
digital output shows up at the D0-D7 data pins.
WR (start conversion)
Active low input used to inform the ADC0804 to start the conversion
process. If CS = 0 when WR makes a low-to-high transition, the
ADC0804 starts converting the analog input value of Vin to an 8-bit
digital number. When the data conversion is complete, the INTR pin is
forced low by the ADC0804.
ADC0804 Chip
CLK IN and CLK R
Connect to external capacitor and resistor for self-clocking, f = 1/(1.1RC).
The clock affect the conversion time and this time cannot be faster than
110s.
Vref/2
Input voltage pin used for the reference voltage. If this pin is open, the
analog input voltage for the the ADC is ranged from 0 to 5 volts.
Vin
Dout
Step size
P2.5 RD VCC
P2.6 WR CLK R
CLK IN
P1.0 D0
: 10k
Vin(+)
: POT
Vin()
:
:
A GND
: Vref/2
P1.7 D7 D GND
P2.7 INTR CS
Example 10-1
Write a program to monitor the INTR pin and bring the digital input value into register A.
Then call a subroutine to display the input value on a 7-segment display. Do this
continuously.
V 5 5 Vin
Step Size n cc Step Size 8 0.019608 V Dout
2 1 2 1 255 Step size
D0
Analog output
Digital (Voltage or current)
inputs DAC
D7 Figure 10.5
DAC0808 Chip (MC1408)
+5V Vref (e.g +5V)
VCC Rref1
P2.5
P2.6 Vin(+) Iref = Vref/(Rref1+Rref2)
= 2mA (Typical)
Iref Rref 2
P1.0 D0 Vin() R0
DAC0808 Iout
8051 To Scope
Comp. + Vout = 0 to 10V
P1.7 D7 Vee
15V
GND
Figure 10.6
DAC0808 Chip (MC1408)
Operating Principle
• In the DAC0808, the digital inputs are converted to corresponding current (I out).
• Then by connecting a resistor to the Iout pin, the current will further convert to
voltage level.
• The total current provided by the output Iout pin is a function of the reference
D7 D6 D5 D 4 D3 D2 D1 D0
I out I ref
2 4 8 16 32 64 128 256
Converting Iout to voltage (Vout)
Connect the output pin Iout to a output standard resistor and hence convert
this current to a voltage.
Output voltage, Vout = Iout x Ro
Example
Assume that Ro = 5k, Rref1 = 1k , Rref2 = 1.5k and using a standard 5V
supply connected to Vref(+), calculate Vout for the following binary inputs.
(a) 1001 1001 (99H) (b) 1100 1000 (C8H)
Solution: 5
I ref 2mA
1000 1500
Solution:
ORG 0H
CLR A
AGAIN: MOV P1, A ; send data to DAC
INC A ; count from 0 to FFH
ACALL DELAY ; let DAC work and recover
SJMP AGAIN
END
DELAY: MOV R6,#250D
MOV R7,#250D
LABEL1: DJNZ R6,LABEL1
LABEL2: DJNZ R7,LABEL2
RET