Autor Tema: CONVERSOR A/D DSPIC  (Leído 2560 veces)

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

Desconectado Romix

  • PIC10
  • *
  • Mensajes: 1
CONVERSOR A/D DSPIC
« en: 06 de Julio de 2009, 20:08:45 »
Hola

Tengo un problemita con el modulo A/D del dsp30f4013.

Resulta que necesito muestrear 2 senales de entrada analogas y compararlas.

Inicialmente lo hice para una sola entrada en rb0 y la salidas son rf0 y rf1

.INCLUDE   "P30F4013.INC"
.GLOBAL      __reset

__reset:   MOV      #0X0800,W15
   MOV      #0X08FF,W0
   MOV      W0,SPLIM
   GOTO   INICIO

DELAY:      MOV      #50,W2
DOS:      MOV      #5000,W1
UNO:      DEC      W1,W1
         BRA      NZ,UNO
         DEC      W2,W2
         BRA      NZ,DOS
         RETURN

DELAY1:      MOV      #50,W2
DOS1:      MOV      #500,W1
UNO1:      DEC      W1,W1
         BRA      NZ,UNO1
         DEC      W2,W2
         BRA      NZ,DOS1
         RETURN

INICIO:      MOV      #0X0000,W0
         MOV      W0,ADPCFG
         MOV      #0XFFFF,W5
         MOV      W5,TRISB
         CLR      TRISF
         BSET   PORTF,#03
         MOV      W0,W8
         MOV      W0,W7
;----------------------------------------
;----------------------------------------

INICIO1:   BSET   PORTF,#00
         NOP
         BCLR   PORTF,#01
         CALL   DELAY
         BCLR   PORTF,#00
         NOP
         BSET   PORTF,#01
         CALL    DELAY
         CLR      PORTF

;----------------------------------------
;----------------------------------------


         MOV      #0B0000000000000000,W5
         MOV      W5,ADCON1
         MOV      #0B0000010000000000,W5
         MOV      W5,ADCON2
         MOV      #0B0001000010100000,W5
         MOV      W5,ADCON3
         MOV      #0B0000000000010000,W5
         MOV      W5,ADCHS
         MOV      #0B0000000000000001,W5
         MOV      W5,ADCSSL
;se coloca en 0  samp
          
LOOP1:      BSET   ADCON1,#SAMP
         CALL   DELAY1
         BSET   ADCON1,#ADON
         NOP
         BCLR   ADCON1,#SAMP
         CALL   DELAY1
;LOOP2:      BTSS   ADCON1,#DONE
;         GOTO   LOOP2   

LOOP:      MOV      ADCBUF0,W5
         BTSC   ADCSSL,#00
         GOTO   ENTRADA1
         GOTO   ENTRADA2
;=================================================================
;         MOV      #0B000100100100,W7
;         CP      W5,W7
;         BRA      N,ENCENDER
;APAGAR:      BSET   PORTF,#00
;         NOP
;         BCLR   PORTF,#01
;         GOTO   LOOP1
;ENCENDER:   BSET   PORTF,#01
;         NOP
;         BCLR   PORTF,#00
;         GOTO   LOOP1
;================================================================
CAMBIO:      BCLR   ADCON1,#ADON
         BTG      ADCSSL,#00
         NOP
         BTG      ADCSSL,#02
         GOTO   LOOP1

ENTRADA1:   MOV      W5,W7
         GOTO   COMPARAR
ENTRADA2:   MOV      W5,W8      
COMPARAR:   CP      W8,W7
         BRA      Z,IGUALES
         BRA     NN,MAYORQUE
         BRA      N,MENORQUE
IGUALES:   CLR      PORTF
         GOTO   CAMBIO
MAYORQUE:   BSET   PORTF,#00
         NOP
         BCLR   PORTF,#01
         GOTO   CAMBIO
MENORQUE:   BSET   PORTF,#01
         NOP
         BCLR   PORTF,#00
         GOTO   CAMBIO   

.END

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: CONVERSOR A/D DSPIC
« Respuesta #1 en: 06 de Julio de 2009, 20:18:27 »
hola bienvenido/a al foro... nos cuentas q tienes un problema,... nos comentas que fue lo que hiciste en el programa pero no nos planteas cual es el problema concretamente.  :?
con gusto t ayudaremos...
Saludos  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -