Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Coversion analoga digital

Enviado por   •  24 de Septiembre de 2018  •  1.464 Palabras (6 Páginas)  •  354 Visitas

Página 1 de 6

...

Cada pasador de puerto asociado con el convertidor A/D puede ser configurado como una entrada analógica o como un digital I/O.

- JUSTIFICACION

Los registros ADRESH y ADRESL contienen el resultado de la conversión A/D. Cuando la conversión análoga/digital es completa, el resultado se carga en:

ADRESH: ADRESL que es par de registros, el bit GO/DONE (ADCON0 registro) es despejado y la interrupción de bandera (ADIF) se establece.

ADRESH: ADRESL no es modificado para un reinicio de encendido (power-on reset). Registros que contienen datos desconocidos después de un encendido se restablecen.

Después que se configura el módulo A/D como se desea, el canal seleccionado debe ser adquirido antes de la conversión que se ha iniciado.

Los canales de entrada analógica tienen sus correspondientes bits de TRIS seleccionados como una entrada.

Anexo 1.

- ECUACIONES

- Tiempo de adquisición mínimo:

Tacq = Tiempo de estabilización del amplificador + Tiempo de carga capacitor + Coeficiente de temperatura

TAMP = + TC + TCOFF

- Mínimo tiempo de carga:

VHOLD =e(-TC/CHOLD(RIC + RSS + RS)[pic 1]

TC = -(CHOLD)(RIC + RSS + RS) ln(1/2048)

- CONVERSION DEL CLOCK

El tiempo de conversión por bit se define como TAD. La conversión requiere 11 TAD de 10 bits de conversión.

La fuente del reloj de conversión es el software. Hay siete opciones posibles para el TAD:

• 2 TOSC

• 4 TOSC

• 8 TOSC

• 16 TOSC

• 32 TOSC

• 64 TOSC

• oscilador RC interno

Para las conversiones correcta, el A/D de reloj de conversión (DAT) debe ser tan corto como sea posible, pero mayor que el TAD mínimo.

- EJEMPLO

- Envía por el puerto serie el valor del adc para enviar un carácter. Máximo voltaje en lugar de 255, 20 TAD. Este tiempo se puede configurar mediante los bits ACQT2:ACQT0 que se encuentran en el registro ADCON2.

Bit a 1 usa la operación "or" (|)

Bit a 0, se usa la operación "and"(&)

ACQT2:ACQT0: A/D Tiempo de adquisición Seleccionar bits

111 = 20 TAD

110 = 16 TAD

101 = 12 TAD

100 = 8 TAD

011 = 6 TAD

010 = 4 TAD

001 = 2 TAD

000 = 0 TAD

#include

#device ADC = 8

#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN

#use delay(clock=48000000)

//Configura comunicación serie

#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

//#byte nombre=dirección

//se define byte control adcon2, controla t.adquisicion, justificacion y reloj

#byte ADCON2=0xFC0

char Keypress=' ';

int8 valor;

#int_rda

void serial_isr() {

Keypress=0x00;

if (kbhit()) {

Keypress=getc();

if(Keypress!=0x00) {

valor=read_adc(ADC_START_AND_READ);

//Inicia conversion y lee, hara espera automática

delay_ms(1);

printf("\n\rEl valor del adc es : %u",valor);//muestra dato mayor } } }

void main()

{ //Establecer a como entrada

set_tris_a(0x01); //Entrada an0

//Se define entradas analógicas y valores referencia

setup_adc (adc_clock_div_64); //Enciende ADC, pongo 64 en lugar 32 a ver si mejora

//se configura t.adquisicion sin modificar demás, se usa operación or

//se usara TAD de 20 TAD, bits acqt2..0 todos a 1

//para poner a 0 se utilizaría and con 0 en bit a modificar y demás a 1

ADCON2= ADCON2 | 0b00111000;

setup_adc_ports (AN0_ANALOG); //Elige entrada analógica

set_adc_channel (0); //Elige canal a medir

//Habilita interrupción rda

enable_interrupts(global);

enable_interrupts(int_rda);

printf("\r\n\ Conectado \r\n");

do { } while (TRUE); }

- ADCON2: selecciones si el resultado está justificado a la izquierda (útil para usar sólo los 8 bits superiores del resultado) o la derecha (útil cuando se usan los enteros de 10 bits), el tiempo que un retraso entre el decir GO y el inicio de una adquisición, y la fuente de reloj para el hardware A2D.

ADCON2 = 0b10000001;

// 1------- Resultado justificado a la derecha

// --000--- 0 TAD retraso o ningún retraso antes

...

Descargar como  txt (10 Kb)   pdf (64 Kb)   docx (19.8 Kb)  
Leer 5 páginas más »
Disponible sólo en Essays.club