Pic adc en assembler

Solo disponible en BuenasTareas
  • Páginas : 13 (3194 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de junio de 2011
Leer documento completo
Vista previa del texto
Módulo de Conversión A/D

Microcontroladores PIC

©ATE-Universidad de Oviedo

1

Módulo de Conversión A/D

Características generales en el PIC16F877 (A)
Ocho canales de conversión.
Cinco pines de PORTA y los tres de PORTE.

Convierte la señal analógica en un número digital de 10 bits.

Tensiones de referencia VREF+ y VREF- seleccionables por software.
Pueden ser VDD y VSS o lastensiones aplicadas en los pines RA3 / RA2.

Puede seguir funcionando cuando el PIC está en modo SLEEP ya que dispone de un oscilador RC interno propio Hay 11 registros asociados a este periférico.
Definición de pines de entrada y señales aplicadas Manejo de interrupciones
TRISA – PORTA – TRISE - PORTE INTCON – PIE1 – PIR1 ADCON0 – ADCON1 – ADRESH - ADRESL
©ATE-Universidad de Oviedo

Controldel conversor A/D
Microcontroladores PIC

2

Módulo de Conversión A/D

Estructura interna
Multiplexor analógico 8 a 1
RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA5/AN4 RE0/AN5 RE1/AN6 RE2/AN7
000 001 010 011 100 101 110 111

CHS2:CHS0

Selección del canal analógico
VAIN (Input Voltage)

Módulo A/D
SS RSS Circuito de Muestreo y Retención CHOLD

VDD

Configuración entradasPCFG3:PCFG0
VREF+

PCFG3:PCFG0 VREFVSS Microcontroladores PIC ©ATE-Universidad de Oviedo

GO /DONE

3

Módulo de Conversión A/D

Función de transferencia conversor A/D La primera transición tiene lugar cuando la tensión analógica de entrada alcanza el valor VREF- + (VREF+ - VREF-)/1024 ≡ 1LSb.
11 bits

400h 3FFh 3FEh 3FDh 3FCh

004h 003h 002h 001h 000h

(VREF-)

(VREF+)

1022LSb 1023 LSb 1024 LSb

1 LSb 2 LSb 3 LSb 4 LSb

1021 LSb

Microcontroladores PIC

©ATE-Universidad de Oviedo

4

ADRESH

A/D

ADRESL

Módulo de Conversión A/D

Función de transferencia conversor A/D
Caso de que V REF+ = VDD y que V REF- = VSS
11 bits

400h 3FFh 3FEh 3FDh 3FCh

004h 003h 002h 001h 2 LSb 4 LSb 1021 LSb 1022 LSb
0V

1 LSB = VDD/1024

1023 LSb 1024 LSb3 LSb

1 LSb

000h

VDD

Ve

Microcontroladores PIC

©ATE-Universidad de Oviedo

5

Módulo de Conversión A/D

Registro ADCON0 (1Fh)
ADCS1 ADCS0 CHS2 CHS1 CHS0

caso de los PIC16F87x y versiones “antiguas”

GO/DONE

-

ADON

bit 7-6

ADCS1:ADCS0: Selección del reloj para la conversión A/D
00 = fOSC / 2 01 = fOSC / 8 10 = fOSC / 32 11 = fRC

bit 5-3

CHS2:CHS0:Selección del canal de conversión
000 = Canal 0 100 = Canal 4 001 = Canal 1 101 = Canal 5 010 = Canal 2 110 = Canal 6 011 = Canal 3 111 = Canal 7

bit 2

GO/DONE: Estado de la conversión
Si ADON=1: 1 = Conversión en progreso 0 = Conversión finalizada

bit 0

ADON: Bit de encendido del convertidor A/D
1 = Módulo A/D encendido 0 = Módulo A/D apagado 6

Microcontroladores PIC©ATE-Universidad de Oviedo

Módulo de Conversión A/D

Registro ADCON0 (1Fh)
ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE

caso de los PIC16F87xA

-

ADON

bit 7-6

ADCS1:ADCS0: Selección del reloj para la conversión A/D junto con ADCS2 que está en ADCON1
00 = fOSC / 2 00 = fOSC / 4 01 = fOSC / 8 01 = fOSC / 16 10 = fOSC / 32 10 = fOSC / 64 11 = fRC 11 = fRC

ADCS2= 0 ADCS2= 1

bit 5-3CHS2:CHS0: Selección del canal de conversión
000 = Canal 0 100 = Canal 4 001 = Canal 1 101 = Canal 5 010 = Canal 2 110 = Canal 6 011 = Canal 3 111 = Canal 7

bit 2

GO/DONE: Estado de la conversión
Si ADON=1: 1 = Conversión en progreso 0 = Conversión finalizada

bit 0

ADON: Bit de encendido del convertidor A/D
1 = Módulo A/D encendido 0 = Módulo A/D apagado 7

Microcontroladores PIC©ATE-Universidad de Oviedo

Módulo de Conversión A/D

Registro ADCON1 (9Fh)
ADFM PCFG3 PCFG2

caso de los PIC16F87x y versiones “antiguas”

PCFG1

PCFG0

bit 7

ADFM: Selección de formato del resultado
1 = Ajuste a la derecha 0 = Ajuste a la izquierda

bit 3-0

PCFG3:PCFG0: Configuración de las entradas al módulo A/D
PCFG3: AN7 PCFG0 RE2 0000 0001 0010 0011 0100 0101 011x 1000...
tracking img