miércoles, 19 de junio de 2013

MODULO ADC CON POTENCIOMETRO ( LAB - 3 )



IMPLEMENTACION DE LA RUTINA DEL MODULO ADC CON POTENCIOMETRO Y LED’S 

MATERIALES:

·         MICROCONTROLADOR 18F2550
·         8 LED’S
·         8 RESISTENCIAS
·         3 POTENCIOMETRO


PROGRAMA PRIMERA PARTE

#include <18F2550.h>                                                                                     // DEFINE EL PROCESADOR
#device adc=8                                                                                                   // NUMERO DE BIT’S A UTILIZAR
#fuses HS, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL3, CPUDIV1, VREGEN

#use delay(clock=12000000)                                                                         // CRISTAL 12MHz
#byte portb= 0x06                                                                                                                          
int VALOR;                                                                                                          // VARIABLE ENTERA

void main() {
       set_tris_b(0x00);                                                                                        // PUERTO B COMO SALIDA
      SETUP_ADC_PORTS(AN0|VREF_VREF);                                                                  
      setup_adc(ADC_CLOCK_INTERNAL);                                                       // RELOJ INTERNO
     
      WHILE(TRUE) {
       set_adc_channel(0);                                                                                 //ACTIVA EL CANAL DEL CONVERSOR
      delay_us(20);                                                                                               //RETARDO DE MUESTREO
      VALOR = read_adc();                                                                                   // COLOCO EL EL RESULTADO DE LA                            
                                                                                                                             // CONVERSION EN VALOR
      output_b (VALOR);                                                                                       // ENVIO VALOR AL PUERTO B 
      }
}

ESTE PROGRAMA ESTA DISEÑADO PARA EVALUAR UN RANGO ENTRE OV (VALOR MINIMO) Y 5V(VALOR MAXIMO). TENIENDO COMO REFERENCIA VSS Y VSS
DIAGRAMA DE FLUJO


HARDWARE DEL CIRCUITO A


PROGRAMA SEGUNDA PARTE

#include <18F2550.h>                                                                                       // DEFINE EL PROCESADOR
#device adc=8                                                                                                   // NUMERO DE BIT’S A UTILIZAR
#fuses HS, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV, PLL3, CPUDIV1, VREGEN

#use delay(clock=12000000)                                                                              //CRISTAL 12MHz
#byte portb= 0x06
int VALOR;                                                                                                          // VARIABLE ENTERA

void main() {
       set_tris_b(0x00);                                                                                          // PUERTO B COMO SALIDA
       SETUP_ADC_PORTS(AN0|VSS_VDD);
      setup_adc(ADC_CLOCK_INTERNAL);                                                         // RELOJ INTERNO
     
      WHILE(TRUE) {
         set_adc_channel(0);                                                                                 // ACTIVO EL CANAL DEL CONVERSOR
      delay_us(20);                                                                                                 // RETARDO DE MUESTREO
      VALOR = read_adc();                                                                                    // ENVIO LA CONVERSION A VALOR
      output_b (VALOR);                                                                                       //  ENVIO VALOR AL PUERTO B
        }
}




ESTE PROGRAMA ESTA DISEÑADO PARA EVALUAR UN RANGO ENTRE 1.6V (VALOR MINIMO) Y 3.3V(VALOR MAXIMO). TOMANDO COMO REFERENCIA VREF- VREF


 
DIAGRAMA DE FLUJO

HARDWARE DEL CIRCUITO B

No hay comentarios:

Publicar un comentario en la entrada