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
- PROTOBOAR
- PIC16F877A
- CRISTAL CUARZO 20MHZ
- 8 LEDS
- 2 CONDENSADORES DE 22 PICOS(CERAMICOS
- UNA RESISTENCIA DE 10K Y UNA DE 330 OHM
- UN PULSADOR
- 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