“Conversión analógico/digital”

Páginas: 5 (1043 palabras) Publicado: 3 de diciembre de 2010
Práctica #4

“Conversión Analógico/Digital”

OBJETIVO

Implementar un algoritmo para medición de un voltaje analógico y despliegue de su magnitud en 2 dígitos con indicadores luminosos de 7 segmentos.

MATERIAL Y EQUIPO:
• PIC16F873
• Fuente de voltaje
• Display 7 segmentos
• Transistor NPN (2222A)
• Resistencias (1K, 330, 100)

DESARROLLO

Configuración de puertosdigitales de salida

Configuración de entrada analógica y convertidor A/D

Configuración de TMR0 para interrupción periódica

Almacenamiento del resultado de la conversión A/D

Interrupción TMR0

Despliegue de unidades o decenas

Inicio de conversión A/D

Configuración de la conversión A/D

ADCON0:
Pin RA0/AN0 Como entrada

Reloj del ADC: Fosc/2 (ADSC1-ADSC0 =0)

Habilitación delcanal analógico

Módulo ADC activo

ADCON1
Entrada analógica en RA0/AN0, el resto del puerto A son E/S digitales

Valor de la conversión justificada a la izquierda

El resultado de cada conversión se almacena en 10 bits de los registros ADRESH y ADRESL, con 1024 niveles posibles de conversión. Los display’s desplegarán los valores de la señal de entrada en el rango 0.0 a 5.0 V, con unaresolución de 0.1V (51 niveles diferentes), por lo que necesariamente el resultado de la conversión será truncado.

Con la conversión justificada a la izquierda y tomando el valor de ADRESH, las conversiones se truncan a 8 bits sin afecta l resolución de salida deseada.

CÓDIGO FUENTE:

;PRACTICA 4

LIST P=16F873
#include "P16F873.INC"

COCIENTE EQU 21h
DATO_L EQU 22hDATO_D EQU 23h
DATO_H EQU 24h
DATO EQU 27h

ORG 00h
GOTO INICIO

INICIO
BSF STATUS,RP0 ;Banco 1 de registros
BSF TRISA,0 ;RA0 como entrada
BCF TRISA,1 ;RA2 como salida
BCF TRISA,2 ;RA2 como salida
CLRF TRISC

BSF ADCON1,PCFG3 ;Poner el pin PCFG3 a 1 para seleccionar la configuración de control del puerto A/D
BSF ADCON1,PCFG2;Poner el pin PCFG2 a 1 para seleccionar la configuración de control del puerto A/D
BSF ADCON1,PCFG1 ;Poner el pin PCFG1 a 1 para seleccionar la configuración de control del puerto A/D
BCF ADCON1,PCFG0 ;Poner el pin PCFG0 a 0 para seleccionar la configuración de control del puerto A/D

BCF STATUS,RP0 ;Banco 0 de memoria

BCF ADCON0,ADCS1 ;Seleccionar la velocidad deConversión máx. FOSC/2
BCF ADCON0,ADCS0 ;Seleccionar la velocidad de Conversión máx. FOSC/2
BCF ADCON0,CHS2 ;Selección del canal cero (RA0/AN0) para conversión A/D del registro ADCON0
BCF ADCON0,CHS1 ;Selección del canal cero para conversión A/D del registro ADCON0
BCF ADCON0,CHS0 ;Selección del canal cero para conversión A/D del registro ADCON0

BSF ADCON0,ADON ;El modulo delconvertidor A/D está operando

CALL WRT_TABLE ;Llama a la subrutina WRT_TABLE para escribir la tabla.

AS
BSF ADCON0,GO_DONE ;Conversión A/D está en progreso, activar p' empezar la conversión A/D

CICLO
BTFSC ADCON0,GO_DONE
GOTO CICLO

MOVF ADRESH,0 ;Respalda en W el resultado de la conversión
MOVWF DATO_D ;y lo guarda en DATO_D
MOVLW 05h ;W=5CALL DIVISION ;Llama a la subrutina de división
MOVF COCIENTE,0 ;W=COCIENTE
MOVWF DATO_D ;DATO_D=W=COCIENTE
MOVLW 0Ah ;W=10
CALL DIVISION ;DATO_D/10
MOVF COCIENTE,0
MOVWF DATO_H ;Decenas del número a mostrar
MOVF DATO_D,0
MOVWF DATO_L ;Unidades del número a mostrar

BTFSS PORTA,1
GOTO UNIDADES ;Si RA=0 salta a desplegar unidades
BCF PORTA,1;RA1=0
MOVF DATO_H,0
MOVWF DATO
CALL CONVERT
MOVWF PORTC ;Despliega decenas (DATO_H)
BSF PORTA,2 ;RA2=1, encendido del display
GOTO AS

UNIDADES
BCF PORTA,2 ;RA2=0
MOVF DATO_L,0 ;Despliegue de la unidades (DATO_L)
MOVWF DATO
CALL CONVERT
MOVWF PORTC
BSF PORTA,1 ;RA1=1,encendido del display
GOTO AS


DIVISION
CLRF COCIENTE...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Conversión analógica-digital
  • Conversion Digital Análoga
  • Conversion Analogica-Digital
  • Conversion de señal analogica a digital
  • Conversion analogico-digital
  • Conversión Analogica-Digital
  • Conversion Señal Analogica A Digital
  • conversion digitAL ANALOGO

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS