Autor Tema: Conversor A/D 18f4520  (Leído 1810 veces)

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

Desconectado Thorontir

  • PIC10
  • *
  • Mensajes: 23
Conversor A/D 18f4520
« en: 27 de Marzo de 2007, 11:53:58 »
Saludos.

Estoy con un proyecto para clase, y no hay manera de que marche. Visto esto, resolví bajar hasta lo más básico y reconstruir desde allí. Pero (siempre hay peros, parece) ni lo más básico funciona. Os copio el "código base" que me ha quedado:

Código: ASM
  1. #include <p18f4520.inc>
  2. ;Suponiendo oscilador 20MHz
  3.  
  4. ;Vectores
  5.         ORG 0x00
  6.         GOTO Principal
  7.  
  8. Principal:
  9. ;Configuración A/D
  10. ;Justificado a derechas, Tconv=Fosc/64 y Tadq=20*Tconv
  11.         MOVLW 0xBE      ;ADFM=0, ACQT2..0=111, ADCS2..0=110
  12.         MOVWF ADCON2
  13. ;3 entradas (AN0,AN1,AN2), sin voltaje de referencia
  14.         MOVLW 0x0C      ;VCFG0=00, PCFG3..0=1100
  15.         MOVWF ADCON1
  16. ;Encendemos el conversor, dejando seleccionado canal 1
  17.         MOVLW 0x01
  18.         MOVWF ADCON0
  19. ;Fin configuración A/D
  20.  
  21. ;Configuración EUSART
  22. ;Modo asíncrono, 8 bits.
  23.         MOVLW 0x24
  24.         MOVWF TXSTA     ;sin Break, vel. alta
  25.         MOVLW 0x90
  26.         MOVWF RCSTA     ;8 bits para recibir tambien. RC7 y 8 pines EUSART.
  27.         MOVLW 0x00
  28.         MOVWF BAUDCON   ;8 bits para velocidad, sin autodetección
  29.         MOVLW .129
  30.         MOVWF SPBRG     ;V=Fosc/(16*(SPBRG+1))=9615
  31. ;Fin configuración EUSART
  32.  
  33.         BCF ADCON0,1
  34. sigue: 
  35.         BTFSS ADCON0,1
  36.         GOTO sigue
  37.         MOVFF ADRESH, TXREG
  38. sigue2:
  39.         BTFSS PIR1,TXIF
  40.         GOTO sigue2    
  41.         MOVFF ADRESL,TXREG
  42. Bucle:
  43.         GOTO Bucle     
  44.  
  45.         END

El caso es que simulo en proteus, y nada de nada. En teoria deberia hacer una conversion y enviarla, y nada más, pero no hay manera. Y el caso es que con tan poco código no deberia ser problema encontrar el error, pero.. no lo encuentro. A ver si alguien puede iluminarme.

Muchas gracias.
« Última modificación: 28 de Marzo de 2007, 10:37:48 por Thorontir »

Desconectado Thorontir

  • PIC10
  • *
  • Mensajes: 23
Re: Conversor A/D 18f4520
« Respuesta #1 en: 28 de Marzo de 2007, 10:37:19 »
Me respondo a mi mismo. Torpe de mi, hice al reves el tema del GO/DONE

Esas lineas serian:
Código: ASM
  1. BSF ADCON0,1
  2. sigue: 
  3.         BTFSC ADCON0,1
Es decir, seteo el bit, y luego espero a que se haga 0. Antes lo hacia al revés.