100% found this document useful (2 votes)
610 views8 pages

Adc Pic18f452

The document discusses analog to digital conversion using the PIC18f452 microcontroller. It describes the ADC module which has 8 10-bit ADCs and 4 control registers. It explains key ADC terms like resolution, conversion time, step size, and digital output coding. It then details the bits in the two control registers ADCON0 and ADCON1 which are used to configure settings like clock source, analog channel selection, and result format.

Uploaded by

Muhammad Ummair
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
610 views8 pages

Adc Pic18f452

The document discusses analog to digital conversion using the PIC18f452 microcontroller. It describes the ADC module which has 8 10-bit ADCs and 4 control registers. It explains key ADC terms like resolution, conversion time, step size, and digital output coding. It then details the bits in the two control registers ADCON0 and ADCON1 which are used to configure settings like clock source, analog channel selection, and result format.

Uploaded by

Muhammad Ummair
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

ANALOG TO

DIGITAL
CONVERTOR
PIC18f452
INTRO
8 ADCs (ANO-AN7) in PIC18f452 with 10-bit resolution
The A/D module has four registers. These registers are:
Used to
8- bit A/D Control Register 0 (ADCON0) configure
settings of ADC
8- bit A/D Control Register 1 (ADCON1)
8- bit A/D Result High Register (ADRESH) Hold binary
result of
8- bit A/D Result Low Register (ADRESL)
converted
analog signal

What an is an analog signal??


Is D.C voltage analog?
SOME TERMILNOLIGIES
1. Resolution (n-bit): width of output data given by ADC

2. Conversion time: Time taken by ADC to convert analog signal to digital

3. Step Size: smallest step after which ADC provide us a new binary number
Step Size = (Vref+ - Vref-)/(2^n)
e.g for Vref=5v, n=10 step= 5/1024 = 4.88mv

4. Digital Data Output:


Dout = (Vin/StepSize)
e.g. if n=8-bit , vref = 2.56v , calculate binary output generated by ADC if a.)Vin= 1.7v, b.)
Vin=2.1v
a.) step= 2.56/256 =10mv Dout=1.7v/10mv = 170 in decimal
ADC output= binary of 170=10101011

5. Tad conversion time per bit


For 10-bits, A/D conversion time = 12 Tad
Important parameter in clk selection of ADC ----- clk must be selected such that Tad>=1.6us
INSIDE ADCON0 REGISTER

bit 7-6 ADCS1:ADCS0: A/D Conversion Clock Select bits (ADCON0 bits in bold , ADCS2 bit
is in ADCON1 reg)
<ADCS2:ADCS1:ADCS0> Clock Conversion
000 FOSC/2
001 FOSC/8
010 FOSC/32
011 FRC (clock derived from the internal A/D RC oscillator)
100 FOSC/4
101 FOSC/16
110 FOSC/64
111 FRC (clock derived from the internal A/D RC oscillator)

Rule to select this clock?


clk must be selected such that Tad>=1.6us
E.g if XTAL=10Mhz, then for FOSC/2 we have 10M/2=5Mhz
Tad=1/5M = 200ns <1.6us .. So its not valid clk

For FOSC/6??? And FOSC/32???


INSIDE ADCON0 REGISTER

bit 5-3 CHS2:CHS0: Analog Channel Select bits


000 = channel 0, (AN0)
001 = channel 1, (AN1)
010 = channel 2, (AN2)
011 = channel 3, (AN3)
100 = channel 4, (AN4)
101 = channel 5, (AN5)
110 = channel 6, (AN6)
111 = channel 7, (AN7)
bit 2 GO/DONE: A/D Conversion Status bit indicates whether conversion completed or not?
When ADON = 1:
1 = A/D conversion in progress (setting this bit starts the A/D conversion which is automatically
cleared by hardware when the A/D conversion is complete)
0 = A/D conversion not in progress
bit 1 Unimplemented: Read as '0'
bit 0 ADON: A/D On bit
1 = A/D converter module is powered up
0 = A/D converter module is shut-off and consumes no operating current
INSIDE ADCON1 REGISTER

bit 7 ADFM: A/D Result Format Select bit


1 = Right justified. Six (6) Most Significant bits of ADRESH are read as 0.
0 = Left justified. Six (6) Least Significant bits of ADRESL are read as 0.

bit 6 ADCS2: A/D Conversion Clock Select bit


Used to select clock source as explained in ADCON0

bit 5-4 Unimplemented: Read as '0'


INSIDE ADCON1 REGISTER

bit 3-0 PCFG3:PCFG0: A/D Port Configuration Control bits

A = Analog input
D = Digital I/O

C/R =
# of analog input
channels / # of ADC
voltage references
ADC CODING??

You might also like