viernes, 30 de mayo de 2014

configuración puertos ADC

PRESENTADO POR: Wilmer Alejandro Sierra                          
                                Fabian Eduardo  García
correos:                    wilmer_5050@hotmail.com
                                fabigarcia.48@hotmail.com

LABORATORIO  N°4
CONFIGURACIÓN PUERTOS ADC

En este laboratorio buscamos  controlar  el voltaje   de los puertos de las salida  configurando  el conversor analogico digital del microcontrolador para que se ve reflejado   por medio de leds  


MATERIALES DEL CIRCUITO 

  1. PROTOBOAR
  2. PIC16F877A
  3. CRISTAL CUARZO 20MHZ
  4. 8 LEDS
  5. 2 CONDENSADORES DE 22 PICOS(CERAMICOS
  6. UNA RESISTENCIA DE 10K Y  UNA DE 330 OHM
  7. UN PULSADOR 
  8. UN POTENCIOMETRO 

CODIGO


list p = 16f877a ; Define el tipo de procesador a emplear
#include<p16f877a.inc> ;Incluye libreria la cual especifica la direccion de cada uno de los registros de funcion
;especifica SFR
JJ EQU 0x0A ; Establece la direccion de JJ en la RAM
org 0x00 ; Origen de programa
call CONF_PUERTOS
call BORRAR_BASURA
call CONF_ADC
call ESPERAR_CARGA
;--------------------------------------------------------------------------------------------------------------------
CONVERTIR
bsf ADCON0,2 ; Inicia la Conversion

FIN_CONVERSION

btfsc ADCON0,2 ; Espera fin conversion
goto FIN_CONVERSION
movf ADRESH,PORTB ;< El resultado de la conversion se pone en los puertos
movf ADRESL,PORTC ; los ocho bit de mayor peso estan en PORTB<7:0> los 2 de menor peso en PORTC<7:6>
call ESPERAR_CARGA ;Esperar tiempo de carga
goto CONVERTIR
;--------------------------------------------------------------------------------------------------------------------
CONF_PUERTOS
; Esta rutina se emplea para configurar los pines del microcontrolador que se van a emplear.
; Los pines que se configuran con CERO (0) son salidas. Los pines que se configuran con UNO (1) son entradas
;76543210
movlw b'00000001'
movwf TRISA
clrf TRISB ; Configura Todo el puerto B de Salida
clrf TRISC ; Configura Todo el puerto C de Salida
return
;--------------------------------------------------------------------------------------------------------------------

BORRAR_BASURA
; Esta rutina garantiza que los registros que se van a emplear inicien en Cero
clrf PORTB
clrf PORTC
return
;--------------------------------------------------------------------------------------------------------------------
CONF_ADC
;Esta rutina configura el conversor Analogo Digital según los valores de la Hoja de especificaciones
;76543210
bsf STATUS,RP0
movlw b'01000001'
movwf ADCON0
;76543210
movlw b'00001110'
movwf ADCON1
return
;--------------------------------------------------------------------------------------------------------------------
ESPERAR_CARGA
; Esta rutina genera un retardo suficiente para que el condensador del sistema de muestreo y retencion se cargue
; con el valor de la señal a convertir. Este tiempo debe ser mínimo de 12.86uSeg
movlw d'20'
movwf JJ

ESPERAR
decfsz JJ,F
goto ESPERAR
return
;--------------------------------------------------------------------------------------------------------------------
end

No hay comentarios:

Publicar un comentario