ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PROGRAMA DE ADQUISICIÓN DE DATOS (TEMPERATURA, LM35) MEDIANDE EL MÓDULO ADC)


Enviado por   •  19 de Noviembre de 2015  •  Prácticas o problemas  •  728 Palabras (3 Páginas)  •  251 Visitas

Página 1 de 3

/*PROGRAMA DE ADQUISICIÓN DE DATOS (TEMPERATURA, LM35) MEDIANDE EL MÓDULO

* ADC DEL PIC18F4550 PARA POESTRIORMENTE MANDAR LOS DATOS OBTENIDOS A LA

* USART Y SER LEÍDOS EN LA PC CON LABVIEW*/

#include<p18F4550.h> //PIC UTILIZADO

#include<delays.h> //INCLUYE LIBRERÍA DE RETARDOS

#include<usart.h> //INCLUYE LIBRERÍA DE COMUNICACIÓN USART

#include<adc.h> //INCLUYE LIBRERÍA DE MÓDULO ADC

#include<math.h> //INCLUTE LIBRERÍA PARA OPERACIONES MATEMÁTICAS

#pragma config FOSC=XT_XT //TIPO DE OSCILADOR (4MHz)

void ISR (void);

#pragma code interruptHigh=0x08

void interruptHigh (void){

_asm GOTO ISR _endasm

}

#pragma code

#pragma interrupt ISR

int temp;

char datoRX;

void ISR (void){

if(PIR1bits.RCIF){

datoRX=getcUSART();

PIR1bits.RCIF=0;

}

}

void configuraADC(void){

// configuración de convertidor A/D

OpenADC( ADC_FOSC_4 & ADC_RIGHT_JUST & ADC_2_TAD ,

ADC_INT_ON & ADC_VREFPLUS_VDD & ADC_VREFMINUS_VSS, 11 );

}

int leer(unsigned char canal){

unsigned int result; // VARIABLE LOCAL

SetChanADC(canal); // SELECCIÓN DE CANAL

ConvertADC(); // Inicia conversión

while( BusyADC() ); // Espera a que se compete

result = ReadADC(); // GUARDA LA LECTURA EN VARIBLE LOCAL

return result;

}

void main( void ){

INTCONbits.GIE=1; //Interrupciones globales Habilitadas

PIE1bits.RCIE=1; //Habilita interrupción por recepción de USART

IPR1bits.RCIP=1; //Alta prioridad en interrupcion

...

Descargar como (para miembros actualizados)  txt (2.9 Kb)   pdf (45.7 Kb)   docx (11.9 Kb)  
Leer 2 páginas más »
Disponible sólo en Clubensayos.com