Autor Tema: GUARDAR DATOS DEL CONVERSOR A/D  (Leído 2184 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dojuca

  • PIC10
  • *
  • Mensajes: 17
GUARDAR DATOS DEL CONVERSOR A/D
« en: 31 de Octubre de 2005, 05:15:00 »
HOLA TODOS.

MI INQUIETUD ES LA SIGUIENTES: ESTOY TRABAJANDO CON EL PIC 16F873A EN ASM, DESEO UTILIZAR EL CONVERSOR A/D POR LO MENOS DOS DE SUS CANALES,

DESEO TOMAR LA LECTURA DE UNO DE SUS CANALES Y GUARDARLA EN UN REGISTRO Y LUEGO LEER EL OTRO Y LLEVARLO A OTRO REGISTRO. EJM DATO1, DATO2... Y ASI SUCESIVAMENTE, COMO LO PODRIA HACER?

OTRA INQUIETUD EL DATO QUE SE LEE EN EL CONVERSOR ES BINARIO? Y SE GUARDA BINARIO EN EL REGISTRO?

Desconectado Artifox

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 455
    • Quadbot
RE: GUARDAR DATOS DEL CONVERSOR A/D
« Respuesta #1 en: 01 de Noviembre de 2005, 13:47:00 »
Para hacer una conversion A/D en ASM debes configurar todos los registros relacionados al conversor A/D (TRISA, ADCON0 y  ADCON1 por lo menos) Supongamos que voy a usar el canal 0 y 1 para convertir y los voy a guardar en los registros data0 y data1 todo ello con una resolucion de 8 bits y un cristal de 4MHz... entonces hago algo como esto:

Codigo:
.......  ; Codigo de Configuraciones...
Main
  ....
  banksel ADCON1
  movlw b"00000100"  ; Configuro los 8 bits que los leo de ADRESH y
  movwf ADCON1  ; configuro los canales 0,1 y 3 como analogicos
  banksel TRISA
  movlw b"00001011" ; Canales analogicos como entradas
  movwf TRISA
........

Conversion0
  banksel ADRESH
  clrf ADRESH   ; Limpio el registro antes de leer
  banksel ADCON0
  movlw b"01000001"  ; Configuramos la frecuencia de conversion Fosc/8 y Canal 0
  movwf ADCON0
  bsf   ADCON0, Go  ; Empieza la conversion
  btfsc ADCON0, Go ; salta si termino la conversion
  goto $-1 ; Vuelve a preguntar
  banksel ADRESH
  movf ADRESH,w   ; Cargo el valor de la conversion A/D
  movwf data0       ; data0= ADRESH
.....

Conversion1
  banksel ADRESH
  clrf ADRESH   ; Limpio el registro antes de leer
  banksel ADCON0
  movlw b"01001001"  ; Configuramos la frecuencia de conversion Fosc/8 y Canal 1
  movwf ADCON0
  bsf   ADCON0, Go  ; Empieza la conversion
  btfsc ADCON0, Go ; salta si termino la conversion
  goto $-1 ; Vuelve a preguntar
  banksel ADRESH
  movf ADRESH,w   ; Cargo el valor de la conversion A/D
  movwf data1       ; data0= ADRESH
.....




Espero puedas entender el codigo, cualquier problema revisa el PDF del PIC. Por si acaso estoy seleccionando a cada momento el banco con el cual voy a trabajar (no me acuerdo en que banco se encuentra cada registro)

Con respecto a tu otra pregunta si se guarda en binario, es cierto todos los datos manejados en el PIC son binarios, pues es lo que entiende el PIC, si lo que pretendes es usar un LCD para visualizar el valor de la conversion A/D, debes hacer un algoritmo para decodificar de binario a decimal para que asi lo muestres en un LCD.

Espero haberte aclarado tus dudas. Un abrazo Rebotado
Video Quadbot
Saludos desde mi querido Perú.
Si realmente queremos que el mundo cambie debemos empezar por nosotros mismos... ;)

Desconectado dojuca

  • PIC10
  • *
  • Mensajes: 17
RE: GUARDAR DATOS DEL CONVERSOR A/D
« Respuesta #2 en: 06 de Noviembre de 2005, 05:07:00 »
MUCHAS GRACIAS POR TU COLABORACION A SIDO DE GRAN AYUDA PARA PODER CULMINAR MI PROYECTO.

SALUDOS

Y NUEVAMENTE GRACIAS


 

anything