Adc Del Dspic

November 26, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Adc Del Dspic...

Description

 

ADC del DsPIC SESION10

 

El ADC convierte una señal física (usualmente voltaje) en una cantidad digital que representa amplitud.  Nuestro DsPIC DsPIC tiene más de 32 canales canales de ADC que pueden pueden ser configurados configurados de 10 y 12 bits. REGISTRO DE RESULTADOS

Caracteriscas del ADC

10

ADC de 10-bit Conversión Conver sión por aproximaciones sucesivas

bits

b9

 Vin

b0

 ADC  AD C 12

Velocidad de conversión 1.1 Msps Modo de Scan automáco de los canales del ADC Voltaje de referencia externo en los pines de entrada Muestreo simultaneo de más de 4 entradas analógicas Cuatro opciones de lectura (con signo/sin signo, fraccional/integrado) fraccional/integrado)

bits

b11

ADC de 12-bit En esta conguración conguración de 12-bit, ene las mismas caracteríscas que en 10-bits a excepción de las siguientes: En la conguración de 12-bit, la velocidad de conversión es de más de 500 ksps es soportado. En la conguración de 12-bit el amplicador manene solo una muestra, así que el muestreo simultáneo de múlples canales no la soporta.

b0

 

RESOLUCION= (VDD-VSS)/{2^{n}-1} MODULO ADC R1 10k

U1 1 20

MCLR

RB0/CN4/RP0/AN2/EMUD1/PGD1

VDDCORE

RB1/CN5/RP1/AN3/EMUC1/PGC1 RB2/CN6/RP2/AN4 RB3/CN7/RP3/AN5 RB4/CN1/RP4/SOSCI/EMUD3/PGD3

+3.6V 28

RV1

27

RB5/CN27/RP5/ASDA1  AVDD

RB6/CN24/RP6/ASCL1

 AVSS

RB7/CN23/RP7/INT0 RB8/CN22/RP8/SCL1/PWM2H1/TCK RB9/CN21/RP9/SDA1/PWM2L1/TDO

2

     %      8      9

3 9 10 1k

12

RB10/CN16/RP10/PWM1H3/TDI RA0/CN2/VREF+/AN0/EMUD2/PGD2RB11/CN15/RP11/PWM1L3/TMS RA1/CN3/VREF-/AN1/EMUC2/PGC2

RB12/CN14/RP12/PWM1H2

RA2/CN30/CLKI/OSCI

RB13/CN13/RP13/PWM1L2

RA3/CN29/CLKO/OSCO

RB14/CN12/RP14/PWM1H1

RA4/CN0/T1CK/SOSCO/EMUC3/PGC3

RB15/CN11/RP15/PWM1L1

DSPIC33FJ12MC202

 

4

 

5

 

6

 

7

 

11

 

14

 

15

   

16 17

 

18

 

21

 

22

 

23

 

24

 

25

 

26

D12

D11

D10 D9

D8

D7 D6 D5 D4 D3 D2 D1

LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW . .

R2 100

.

 

CARACTERSITICAS DEL MODULO ADC DE LA FAMILIA dsPIC33f  El módulo ADC dsPIC33F tiene las siguientes características : • conversión SAR • Velocidad de conversión de hasta un Msps • Hasta 13 pines de entrada analógica • Pines de entrada de referencia de voltaje externo • Cuatro amplificadores de muestreo / retención diferenciales unipolares • Muestreo simultáneo de hasta cuatro pines de entrada analógica • Modo de escaneo automático de canales • Fuente de activación de conversión seleccionable • búfer de resultados de conversión de 16 palabras • Modos de llenado de búfer seleccionables • Cuatro opciones de alineación de resultados. • Operación durante los modos de inactividad y reposo de la CPU 

 

PINES ANALOGICOS

Dependiendo de la variante del dispositivo, el módulo ADC puede tener hasta 13 pines de entrada analógica, designado AN0-AN12. Estas entradas analógicas están conectadas por multiplexores a cuatro muestras / retención amplificadores, designados CH0-CH3. Los multiplexores de entrada analógica tienen dos conjuntos de bits de control, designado como :  MUXA (CHySA / CHyNA)  MUXB (CHySB / CHyNB). Estos bits de control seleccionan una entrada analógica particular para conversión. Los bits de control MUXA y MUXB pueden seleccionar alternativamente la entrada analógica para la conversión. Son posibles conversiones diferenciales unipolares en todos los canales utilizando ciertos pines de entrada (consulte la Figura ).

 

Diagrama de bloques de ADC para dispositivos con DMA

El controlador de acceso directo a memoria (DMA) es un subsistema importante importante en los dsPIC33f de 16 bits de alto rendimiento. Este subsistema (DMA) facilita la trans transferencia ferencia de datos entre la CPU y su periférico sin ayuda de la CPU. El controlador DMA transere datos entre los registros de datos periféricos periféricos y el espacio de datos SRAM

 

REGISTROS DE CONTROL El módulo ADC tiene siete registros de control y estado. Estos registros son: •• AD1CON1: AD1CON2: Registro Registro de de control control 1 2 de de ADC1 ADC1  • AD1CON3: Registro de control 3 de ADC1  • AD1CHS123: ADC1 Input Channel 1, 2, 3 Seleccionar registro • AD1CHS0: Registro de selección de canal de entrada 0 de ADC1  • AD1CSSL: Registro de selección de escaneo de entrada ADC1 bajo • AD1PCFGL: Registro de configuración de puerto ADC1 bajo 

Los registros AD1CON1, AD1CON2 y AD1CON3 controlan el funcionamiento del módulo ADC.  Los registros AD1CHS0 y AD1CHS123 seleccionan los pines de entrada que se conectarán al Amplificadores de muestreo / retención.  El registro AD1PCFGL configura los pines de entrada analógica como analógicos entradas o como E / S digitales.  El registro AD1CSSL selecciona las entradas que se escanean secuencialmente.  

 

Búfer de resultados ADC

El módulo ADC conene una RAM de puerto dual de 16 palabras para almacenar los resultados del ADC. El búfer 16 las ubicaciones se conocen como ADC1BUF0, ADC1BUF1, ADC1BUF2, ...., ADC1BUFE, ADC1BUFF. ADC1BUFF.

 

El modo de escaneo de canales se puede habilitar para el amplificador CH0 Sample / Hold. Cualquier subconjunto de La aplicación del usuario puede seleccionar las entradas analógicas (AN0 a AN12). Las entradas seleccionadas son convertido en orden ascendente usando CH0.  El módulo ADC admite muestreo simultáneo utilizando múltiples canales de muestreo / retención  para muestree las entradas al mismo tiempo y luego lu ego realice la conversión para cada canal secuencialmente Por defecto, los múltiples canales se muestrean y se convierten secuencialmente. El módulo ADC está conectado a un búfer de resultados de 16 palabras. El resultado ADC está disponible en cuatro diferentes formatos numéricos (consulte la Figura 28-11).  

 

 Nota 1: las entradas VREF +, VREF- pueden multiplexarse con otras entradas analógicas. Para más detalles, consulte la hoja de datos del dispositivo. 2: Los canales 1, 2 y 3 no son aplicables para el modo de operación de 12 bits. 

 

Diagrama de bloques del ADC

 

Secuencia de conversión de muestras multicanal   

Los módulos ADC multicanal multicanal   suelen convertir cada canal de entrada secuencialmente secuencialmente   utilizando una entrada multiplexor.



El muestreo simultáneo simultáneo de  de múltiples señales asegura que la instantánea del analógico las entradas ocurren exactamente al mismo tiempo para todas las entradas, como se muestra en la Figura .

Ciertas aplicaciones requieren muestreo simultáneo, especialmente cuando existe información de fase entre diferentes canales. El muestreo secuencial toma una instantánea de cada entrada analógica solo antes de que comience la conversión en esa entrada, como se muestra en la Figura El muestreo de múltiples entradas no está correlacionado. Por ejemplo, el control de motores y el monitoreo de energía requieren voltaje y corriente. mediciones y el

ángulo de fase entre ellos.  ellos.    

REGISTROS DE CONTROL El módulo ADC tiene siete registros de control y estado. Estos registros son: •• AD1CON1: c AD1CON2: Registro Registro de de control c ontrol control ontrol ADC1 ADC1 • AD1CON3: Registro de control c ontrol ADC1 • AD1CHS123: ADC1 Canal de entrada 1, 2, 3 Seleccione Registrarse • •AD1CHS0: deEscaneo entrada 0Seleccionar SeleccionarRegistro RegistroBajo AD1CSSL: ADC1 ADC1 Canal Entrada  • AD1PCFGL: Registro de configuración de puerto ADC1 bajo  Los

registros AD1CON1, AD1CON2 y AD1CON3 controlan el funcionamiento f uncionamiento del módulo ADC.  Los registros AD1CHS0 y AD1CHS123 seleccionan los pines de entrada que se conectarán al Amplificadores de muestra / retención.  El registro AD1PCFGL configura configura los pines de entrada analógica como analógicos entradas o como E / S digital.  El registro AD1CSSL selecciona entradas para escanear secuencialmente.

 

Búfer de resultados de ADC El módulo ADC contiene una RAM de puerto dual de 16 palabras para almacenar los resultados de ADC. El búfer 16 las ubicaciones se denominan ADC1BUF0, ADC1BUF1, ADC1BUF2, ...., ADC1BUFE, ADC1BUFF. ADC1BUFF.  

AD1CON1: ADC1 Control Register 1

Bit b0: HECHO (DONE): bit de estado de conversión de Done 1 = Se completa completa el ciclo de conversión de ADC. Done 0 = conversión ADC no iniciada o en progreso Configurado automáticamente por hardware cuando se completa la conversión de analógico a digital. El software puede escribir "0" para borrar el estado HECHO (el software no puede escribir "1").

 

bit 1 SAMP: bit de habilitación de muestra ADC

1 = Los amplificadores ADC Sample / Hold están muestreando 0 = ADC Sample / Hold amplificadores están reteniendo Si ASAM = 0, el software puede escribir "1" para comenzar el muestreo ( FORMA MANUAL). si ASAM = 1. Establecido automáticamente por hardware Si SSRC = 000, el software puede escribir "0" para finalizar el muestreo y comenzar la conversión. Si SSRC ≠ 000, borrado automáticamente por hardware para finalizar el muestreo y comenzar la conversión.

bit 2 ASAM: ASAM: bit de inicio automático de muestra ADC 1 = El muestreo comienza inmediatamente después de la última conversión. El bit SAMP se configura automáticamente 0 = El muestreo comienza cuando se establece el bit SAMP

 

bit 3 SIMSAM: bit de selección de muestra simultánea simu ltánea (solo aplicable cuando cuan do CHPS = 01

o 1x) Cuando AD12B = 1, SIMSAM es: U-0, no implementado, leído como "0" 1 = Muestras CH0, CH1, CH2, CH3 simultáneamente (cuando CHPS = 1x); o Muestras CH0 y CH1 simultáneamente (cuando CHPS = 01) 0 = Muestra múltiples canales individualmente en secuencia   bit 7-5 SSRC : bits de selección de fuente de reloj de muestra 111 = El contador interno finaliza el muestreo y comienza la conversión (conversión automática) 110 = Reservado 101 = Reservado 100 = Reservado 011 01 1 = el intervalo MPWM finaliza el muestreo y comienza la conversión 010 = el temporizador GP compara el final de muestreo y comienza c omienza la conversión 001 = La transición activa en el pin INT0 finaliza el muestreo y comienza la conversión 000 = Borrar bit de muestra finaliza el muestreo y comienza la conversión

 

bit 9-8 FORM : bits de formato de salida de datos Para operación de 10 bits: 11 = fraccionado firmado (DOUT = sddd dddd dd00 0000, donde s = .NOT.d ) 10 = fraccional (DOUT = dddd dddd dd00 0000) 01 = entero firmado (D OUT = ssss sssd dddd dddd, donde s = .NOT.d .NOT.d ) 00 = Entero (DOUT = 0000 00dd dddd dddd) Para operación de 12 bits: 11 = fraccionado con signo (DOUT = sddd dddd dddd 0000, donde s = .NOT.d ) 10 = fraccional (DOUT = dddd dddd dddd 0000) 01 = entero Entero (D firmado OUTdddd = ssss sddd dddd dddd, donde s = .NOT.d ) 00 = OUT (D = 0000 dddd dddd)

bit 10 AD12B: AD12B: bit de modo de operación de 10 bits o 12 bits 1 = 12 bits operación de ADC de 1 canal 0 = 10 bits, operación ADC de 4 canales bit 13 ADSIDL: detener en modo inactivo bit

1 = Suspender la operación del módulo cuando el dispositivo entra en modo inactivo 0 = Continuar la operación del módulo en modo inactivo   bit 15 ADON: bit de modo de operación ADC

1 = el módulo ADC está funcionando se habilita al adc

0 = el módulo ADC está apagado    

AD1CON2: ADC1 Control Register 2

bit 15-13 VCFG : bits de configuración configuració n de referencia de voltaje del convertidor  convertid or  

ent rada bit 10 CSCNA: bit de selección de escaneo de entrada 1 = Escanear entradas usando CH0 0 = No escanear entradas 

 

bit 9-8 CHPS : bits de selección de canal Cuando AD12B = 1, CHPS es: U-0, no implementado, leído como "0" 1x = Convierte CH0, CH1, CH2 y CH3 01 = Convierte CH0 y CH1 00 = Convierte CH0  CH0  bit 7 BUFS: BUFS: bit de estado de llenado de búfer (solo válido cuando BUFM = 1) 1 = ADC está llenando actualmente la segunda mitad del búfer. La aplicación del usuario debe acceder a los datos en la primera mitad del búfer 0 = ADC está llenando actualmente la primera mitad del búfer. La aplicación del usuario debe acceder a los datos en el segunda s egunda mitad del búfer  bit 5-2 SMPI : Secuencias de conversión de muestras por interrupción

1111 = Interrumpe al finalizar la conversión por cada 16a muestra / secuencia de conversión 1110 = Interrupciones al finalizar la conversión por cada 15a muestra / secuencia de conversión ••• 0001 = Interrumpe al finalizar la conversión para cada 2da muestra / secuencia de conversión 0000 = Interrumpe al finalizar la conversión para cada muestra / secuencia de conversión  

 

bit 1 BUFM: bit de selección de modo de relleno de búfer 1 = Inicia el búfer llenando la primera mitad del búfer en la primera interrupción y la segunda mitad del  búfer en la próxima interrupción 0 = Siempre comienza a llenar el búfer desde la dirección de inicio   bit 0 ALTS ALTS: Modo de selección de entrada alternativa Seleccionar bit

1 = los bits de control MUXA y MUXB seleccionan alternativamente la entrada analógica para la conversión 0 = los bits de control MUXA seleccionan la entrada analógica para la conversión (CSCNA = 0) Channel Scan Logic selecciona la entrada analógica para la conversión (CSCNA = 1)  

 

AD1CON3: ADC1 Control Register 3

bit 15 ADRC: bit de fuente del reloj de conversión de ADC

1 = ADC Reloj RC interno 0 = Reloj derivado del reloj del sistema   bit 12-8 SAMC : bits de tiempo de muestreo automático 11111 = 31 T A D ••• 00001 = 1 T AD

00000 0 TAD:  bits de selección del reloj bit 7-0 = ADCS relo j de conversión ADC

11111111 = T CY • (ADCS + 1) = 256 • TCY = TAD ••• 00000010 = T CY • (ADCS + 1) = 3 • TCY = TAD TAD 00000001 = T CY • (ADCS + 1) = 2 • TCY = TAD TAD 00000000 = TCY • (ADCS + 1) = 1 • TCY = TAD TAD 

 

AD1CHS123: ADC1 Input Channel 1, 2, 3 Select Register

bit 0 CH123SA: Canal 1, 2, 3 Selección de entrada positiva para el bit de muestra A

Cuando AD12B = 1, CHxSA es: U-0, no implementado, leído como "0" 1 = La entrada positiva CH1 es AN3, la entrada positiva CH2 es AN4, la entrada positiva CH3 es AN5 0 = La entrada positiva CH1 es AN0, la entrada positiva CH2 es AN1, la entrada positiva CH3 es AN2

bit 2-1 CH123NA : Canal 1, 2, 3 Selección de entrada negativa para bits de muestra A Cuando AD12B =

1, CHxNA es: U-0, no implementado, leído como "0" 11 = La entrada negativa CH1 es AN9, la entrada negativa CH2 es AN10, la entrada negativa CH3 es AN11 10 = La entrada negativa CH1 es AN6, la entrada negativa CH2 es AN7, la entrada negativa CH3 es AN8 0x = CH1, CH2, CH3 entrada negativa es VREF-  

 

CH123SB: Canal 1, 2, 3 Selección de entrada positiva para el bit de muestra B Cuando bit 8 CH123SB:  AD12B = 1, CHxSA es: U-0, no implementado, implementado, leído como "0" 1 = La entrada positiva CH1 es AN3, la entrada positiva CH2 es AN4, la entrada positiva CH3 es AN5 0 = La entrada positiva CH1 es AN0, la entrada positiva CH2 es AN1, la entrada positiva CH3 es AN2 bit 10-9 CH123NB : Canal 1, 2, 3 Selección de entrada negativa para bits de muestra B bit 10-9 Cuando AD12B AD12B = 1, CHxNB es: U-0, no implementado, leído como "0" 11 = La entrada negativa CH1 es AN9, la entrada negativa CH2 es AN10, la entrada negativa CH3 es AN11 AN11 10 = La entrada negativa CH1 es AN6, la entrada negativa CH2 es AN7, la entrada negativa CH3 es AN8  0x = CH1, CH2, CH3 entrada negativa es VREF-

 

 AD1CHS0: ADC1 Canal de entrada 0 Seleccionarregistro Seleccionarregistro

bit 4-0 CH0SA : canal 0 Selección de entrada positiva para bits de muestra A 01100 = La entrada positiva del canal 0 es AN12 01011 = La entrada positiva del canal 0 es AN11 ••• 00010 = La entrada positiva del canal 0 es AN2 00001 = La entrada positiva del canal 0 es AN1 00000 = La entrada positiva del canal 0 es AN0 bit 7 CH0NA: CH0NA: Selección de entrada negativa del canal 0 para el bit de muestra A 1 = La entrada negativa del canal 0 es AN1 0 = La entrada negativa del canal 0 es VREF-

 

bit 12-8 CH0SB : canal 0 Selección de entrada positiva para bits de muestra B Misma definición que el bit .  bit 15 CH0NB: Selección de entrada negava del canal 0 para el bit de muestra B Misma denición que el bit 7

AD1CSSL: ADC1 Entrada Escaneo Seleccionar Registro Bajo  

 bit 12-0 CSS : bits de d e selección de escaneo de entrada ADC  1 = Seleccione ANx para escaneo de entrada  

0 = Saltar ANx para escaneo de entrada

AD1PCFGL: ADC1 Port Configuration Register Low

bit 12-0 PCFG : bits de control de de

configuración del puerto ADC (1, 2) 1 = Pin de puerto en modo digital, entrada de lectura de puerto habilitada, multiplexor de entrada ADC conectado conecta do a AVSS AVSS 0 = Pin de puerto en modo analógico, entrada de lectura de puerto deshabilitada, voltaje de pin de

muestras ADC   

ADC del DsPIC  

OBJETIVO : Estudiar Estudiar el funcionamiento del ADC del dsPIC33f en modo 12 bits El ADC convierte una señal física (usualmente voltaje) en una cantidad digital que representa amplitud. Nuestro DsPIC tiene más de 32 canales de ADC que pueden ser configurados de 10 y 12 bits. Características del ADC

ADC de 10-bit Conversión por aproximaciones sucesivas Velocidad de conversión conver sión 1.1 Msps Modo de Scan automático au tomático de los canales del ADC Voltaje de referencia externo en los pines de entrada Muestreo simultaneo de más de 4 entradas analógicas Cuatro opciones de lectura (con signo/sin signo, fraccional/integrado) ADC de 12-bit En esta configuración de 12-bit, tiene las mismas características que en 10-bits a excepción de las siguientes: En la configuración de 12-bit, la velocidad de conversión es de más de 500 ksps es soportado. En la configuración de 12-bit el amplificador mantiene solo una muestra, así que el muestreo simultáneo de múltiples canales no la soporta. • • • • • •

• •

 

Material

R1

8 LEDs Amarillos /

10k

• •

Protoboard Eliminador 5V Cables Jumper Macho a Macho Potenciómetro Potenciómetr o de 1KΩ 8 Resistencias de 330 Ω Pickit 2

U1

• •

1 20

RB1/CN5/RP1/AN3/EMUC1/PGC1 RB3/CN7/RP3/AN5 RB4/CN1/RP4/SOSCI/EMUD3/PGD3

+3.6V 28

RV1

27

RB5/CN27/RP5/ASDA1  AVDD

RB6/CN24/RP6/ASCL1

 AVSS

RB7/CN23/RP7/INT0 RB8/CN22/RP8/SCL1/PWM2H1/TCK RB9/CN21/RP9/SDA1/PWM2L1/TDO

2

      %      8      9

3



Tarjeta de desarrollo DsPIC33FJ12MC202)

RB0/CN4/RP0/AN2/EMUD1/PGD1 RB2/CN6/RP2/AN4





MCLR VDDCORE

9 10 1k

12

RB10/CN16/RP10/PWM1H3/TDI RA0/CN2/VREF+/AN0/EMUD2/PGD2 RB11/CN15/RP11/PWM1L3/TMS RA1/CN3/VREF-/AN1/EMUC2/PGC2

RB12/CN14/RP12/PWM1H2

RA2/CN30/CLKI/OSCI

RB13/CN13/RP13/PWM1L2

RA3/CN29/CLKO/OSCO

RB14/CN12/RP14/PWM1H1

RA4/CN0/T1CK/SOSCO/EMUC3/PGC3

RB15/CN11/RP15/PWM1L1

DSPIC33FJ12MC202

 

4

 

5

 

6

 

7

 

11

 

14

 

15

   

16 17

 

18

 

21

 

22

 

23

 

24

 

25

 

26

D12 D11

D10 D9

D8

D7 D6 D5 D4 D3 D2 D1

LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW . . LED-YELLOW LED-YELLOW LED-YELLOW LED-YELLOW

R2 100

.

 

PROGRAMA #include "xc.h" #de #d ene FCY FCY 50 5000 0000 000U 0ULLL #include

// FCY FCY = FO FOSC SC//2

#include "cong.h" #include #include //int main(void); // Declaración de funciones void conversorADC (void); int main(void) {  TRISB=0X0000; // Puerto B como salida conversorADC(); conver sorADC(); // Llama función para inicializar el ADC AD1CON1bits.ADON AD1CON1bits.A DON = 1; // Habilita Habilita ADC reg. AD1CON1 AD1CON1  while(1) { AD1CON1bits.SAMP AD1CON1bi ts.SAMP = 1; // Bit para habilitar habilitar muestreo  __delay_ms(30) ; AD1CON1bits.SAMP AD1CON1bi ts.SAMP = 0; // Reene Reene el muestreo while(!AD1CON1bits.DONE); // Esperar a que se haya realizado la convercion PORTB=ADC1BUF0; PORTB=ADC1BU F0; // Datos se guardan en ADC1BUF0 y se envía al puerto B  __delay_ms(200);

 } }  

PROGRAMA

conversorADC (void) //CONFIGURACION DEL ADC void conversorADC { TRISA = 0x0001; AD1PCFGL = 0xFFFE; AD1CON1bits.AD12B=1; canales  AD1CON1bits.ASAM=0;  AD1CON1bits.SSRC=0; AD1CHS0bits.CH0NA =0; AD1CHS0bits.CH0SA =0; AD1CON2bits.CSCNA =0; AD1CON2bits.VCFG AD1CON2 bits.VCFG =0;

// Entrada analógica RA0 // Todas entradas analógicas *Solo se necesita la primera // 1=12 bits resolución y muestreo secuencial de los

AD1CON2bits.BUFM =0; AD1CON2bits.SMPI =0; AD1CON2bits.ALTS AD1CON2bits.AL TS =0; AD1CON3bits.ADRC =0; AD1CON3bits.ADCS =21; }

// Congurado como buer de 16 palabras // Después de la conver conversión sión se genera la interrupción // Solo muestra un Canal // Reloj del ADC es derivado del sistema // Tiempo de conver conversión. sión.

// El muestreo inicia cuando bit SAMP=1 *muestreo manual // Termina el muestreo e inicia la conver conversión sión // La entrada negava será Vss // Entrada posiva será AN0 // Muestreo secuencial (scan) deshabilitado // Referencia para la conversión: Referencia // posiva=AVdd, Negava=AVss

 

VOLTIMETRO VOL TIMETRO DIGITAL

Se mide el voltaje de entrada aplicado al pin RA0 canal analógico analógico 0 y se muestra en un lcd el valor del voltaje voltaje de 0 a 3.6v Con el ADC en modo de 10 bits

#include "cong.h" #include "reloj.h"

LCD1 LM016L

R1 10k

#include "xlcd.h" #include #include #include //*********crear variable global char adc_vector[4]=""; int adc_val=0; oat adc_oat=0; char adcg_vector[4]=""; oat adcg=0;

+3.3V

      7      6      5      4      3      2      1      0       D      D      D      D      D      D      D      D       4      3      2      1      0      9      8      7       1      1      1      1      1

U1 1 20

RV2

2 3 9 10 12

      %       6       8

MCLR VCAP/VDDCORE

RB0/CN4/RP0/C2IN-/AN2/EMUD1/PGD1 RB1/CN5/RP1/C2IN+/AN3/ EMUC1/PG C1 RB2/CN6/RP2/AN4 RB3/CN7/RP3/AN5

RA0/CN2/VREF+/AN0 RA1/CN3/VREF-/AN1

RB4/CN1/RP4/SOSCI RB5/CN27/RP5/ASDA1/EMUD3/PGD3

RA2/CN30/CLKI/OSCI RA3/CN29/CLKO/OSCO RA4/CN0/T1CK/SOSCO

RB6/CN24/RP6/ASCL1/EMUC3/PGC3 RB7/CN23/RP7/INT0 RB8/CN22/RP8/SCL1/PWM2H1/TCK

RB9/CN21/RP9/SDA1/PWM2L1/TDO RB10/CN16/RP10/PW M1H3/TDI/EMUD2/PG D2

1k

RB11/CN15/RP11/PW M1L3/TMS/EMUC2/P GC2 RB12/CN14/RP12/PWM1H2 28 27

 AVDD

RB13/CN13/RP13/PWM1L2 RB14/CN12/RP14/PWM1H1

 AVSS

RB15/CN11/RP15/PWM1L1

DSPIC33FJ32MC202

 

4

   

5 6

 

7

   

11 14

   

15 16

 

17

     

18 21 22

 

23

 

24

 

25

 

26

      S       W       E      R      R       6      5      4

      E      D      S       E      D      S       V      V      V       3      2      1

 5    0     %

RV1 1k

//************************  

int main(void){   XLCDInit();   WriteCmdXLCD(CURSOR_OFF);          

XLCDgotoXY(0,0); putsXLCD("VOLT putsXLCD ("VOLTAJE AJE = "); XLCDgotoXY(1,0); putsXLCD("ADC = ");

//************conguracion adc****************** AD1CON2bits.VCFG=0b000; AD1CON2bits. VCFG=0b000; // del el adc se alimenta con AVDD=3.6v ,AVSS=0 AD1PCFGLbits.PCFG0=0; //AN0 COMO ANALOGICO AD1CHS0bits.CH0SA=0b0000; //0 AD1CHS0bits.CH0NA=1; //AN1 NEGA NEGATIVO TIVO   AD1CON3bits.ADCS=0b01001; //ADCS=9 SELECCION DE FRECUENCIA DE RELOJ ADC      

  AD1CON1bits.ASAM=0; //MUESTREO FORMA MANUAL, muestreo comienza cuando se establece el bit SAMP   AD1CON1bits.AD12B=0; // Seleccionar la resolucion con 10 bits o 12 bits   AD1CON1bits.SSRC=0b000; //ELEGIR FUENTE DE CONVERSION MANUAL //Borrar bit de muestra naliza el muestreo y comienza la conversión   AD1CON1bits.ADON=1; //HABILITAR //HABILIT AR ADC

 

//************************************************************** while(1)   {   AD1CON1bits.SAMP=1;// inicia toma de la muestra                

AD1CON1bits.SAMP=0;// naliza conver conversion sion while(!AD1CON1bits.DONE); // chequear si naliza conver conversion sion AD1CON1bits.DONE=0; adc_val=ADC1BUF0; adc_oat=(oat)adc_val*3.6/1023; adcg=(oat)adc_val; sprin(adc_vector,"%.2f",adc_oat); XLCDgotoXY(0,10); putsXLCD(adc_vector);

  sprin(adcg_vector,"%.2f",adcg);   XLCDgotoXY(1,7);   putsXLCD(adcg_vector);   }   return 0; }

 

LCD1 LM016L

R1 10k

     7     6     5     4     3     2     1     0      D     D     D     D     D     D     D     D      4     3     2     1     0     9     8     7      1     1     1     1     1

+3.3V 1 20

RV2

2 3 9 10

     %      6      8

12

U1 MCLR

RB0/CN4/RP0/C2IN-/AN2/EMUD1/PGD1

VCAP/VDDCORE

RB1/CN5/RP1/C2IN+/AN3/EMUC1/PGC1 RB2/CN6/RP2/AN4

RA0/CN2/VREF+/AN0

RB3/CN7/RP3/AN5

RA1/CN3/VREF-/AN1

RB4/CN1/RP4/SOSCI

RA2/CN30/CLKI/OSCI

RB5/CN27/RP5/ASDA1/EMUD3/PGD3

RA3/CN29/CLKO/OSCO

RB6/CN24/RP6/ASCL1/EMUC3/PGC3

RA4/CN0/T1CK/SOSCO

RB7/CN23/RP7/INT0 RB8/CN22/RP8/SCL1/PWM2H1/TCK RB9/CN21/RP9/SDA1/PWM2L1/TDO

1k

RB10/CN16/RP10/PWM1H3/TDI/EMUD2/PGD2 RB11/CN15/RP11/PWM1L3/TMS/EMUC2/PGC2 RB12/CN14/RP12/PWM1H2 28 27

RB13/CN13/RP13/PWM1L2  AVDD

RB14/CN12/RP14/PWM1H1

 AVSS

RB15/CN11/RP15/PWM1L1

DSPIC33FJ32MC202

 *

3.22 

 

0.806 

 

5

 

6

 

7

     3     2     1

11

 

14

 

15

 

16

 

     6     5     4

     E     D     S      E     D     S      V     V     V

4

 

 

     S      W      E     R     R

17

 

18

 

21

 

22

 

23

 

24

 

25

 

26

 5    0    %

RV1 1k

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF