Pic adc en assembler
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...
Regístrate para leer el documento completo.