Autor Tema: adquisicion datos¿?  (Leído 2119 veces)

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

Desconectado AzucenaXP

  • PIC10
  • *
  • Mensajes: 22
adquisicion datos¿?
« en: 02 de Abril de 2004, 16:34:00 »
Hola a todos!

Alguien sabe como puedo realizar un sistema de adquisicion de datos empleando el pic 16f877a?, ...tambien me sirve con un adc0808 conectado al puerto paralelo (no he podido ponerlo a funcionar).

Necesito adquirir voz para realizar un sistema de modulacion qpsk, por medio de labView o Matlab pero he tenido problemas con la adquisicion de los datos en el pc.

Saludos!

Desconectado Epacho

  • PIC10
  • *
  • Mensajes: 9
RE: adquisicion datos¿?
« Respuesta #1 en: 03 de Abril de 2004, 11:27:00 »
hola Azucena
Tengo una subrutina de configuracion del A/D en un pic 16F871 el cual lo puedes adaptar al 16F877 nose que resultado tenga en el 16F877A pero tienes que probarlo. Suerte

list p=16f871
   #include <p16f871.inc>

   __config h"3939"   


TEMP0      equ   0x21         ;DECLARA VARIABLES EN RAM
TEMP1      equ   0x22
Contador1   equ   0x23      ;variable para demora

   org   0x00
   goto   princi



;;;;;;;;Configurar puertos de entrada y salida
;;;;;;;;;;configurar A/D
princi
   bsf   STATUS,RP0      ;Pasamos al banco1 de la memoria
   clrf   TRISD         ;Puerto D sea como salida
   clrf   TRISC
   movlw   0xFF
   movwf   TRISB
   movlw   0x00
   movwf   OPTION_REG         
   bsf   TRISA,0         ;ingreso RA0
   bcf   STATUS,RP0      ;Pasamos al banco 0
   clrf   PORTD         ;Reset puerto D
   clrf   TEMP0         ;Enceramos registros temporales
   clrf   TEMP1


   


lup   bsf   STATUS,RP0      ;Pasamos al banco 1
   movlw   b"00001110"      ;CONFIGURA ENTRADA ANALOGIA AN0
   movwf   ADCON1
   bcf   STATUS,RP0      ;bank0
   movlw   b"10000001"      ;  DE Fosc/32
   movwf   ADCON0   
      
;;;;;demora de tiempo de adquisicion
   call   t_ad
   
;;;;START CONVERSION;;;;;;;;;;;;;;;;;;;;;;;;;;   
   bcf   STATUS,RP0      ;bank0
   bsf   ADCON0,2      ;GO/DONE=1   

;;;;;;;;;espera si se completa la conversion
lupe_con btfsc   ADCON0,2
   goto   lupe_con
   bsf   STATUS,RP0      ;bank1
   movf   ADRESL,w      ;COLOCA ADRESH:ADRESL
   movwf   TEMP0      
   bcf   STATUS,RP0      ;bank0
   movf   ADRESH,w
   movwf   TEMP1
   bcf   STATUS,C
   movf   TEMP1,w         
   movwf   PORTD         ;mandamos dato a PORTD
   call   t_ad   
   call   t_ad
   goto   lup

;Demora
t_ad   movlw   d"26"
   movwf   Contador1
bucle   decfsz   Contador1,f
   goto   bucle
   return   

   end

Desconectado AzucenaXP

  • PIC10
  • *
  • Mensajes: 22
RE: adquisicion datos¿?
« Respuesta #2 en: 03 de Abril de 2004, 15:57:00 »
Gracias!

Lo voy a adaptar al chip que tengo y ojala me funcione pues solo tengo esta semana para terminar el proyecto.

Saludos!