TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: the_good en 12 de Junio de 2008, 19:46:32

Título: ayuda ADC pic 16f877a
Publicado por: the_good en 12 de Junio de 2008, 19:46:32
hola necesito ayuda quiero usar el adc que tiene integrado el pic 16f877a
para una practica de un circuito rc...  el problema aqui es que no puedo graficar la descarga del capacitor
lo que he hecho es lo sig


INCLUDE "modedefs.bas"


   DEFINE OSC 4
   DEFINE ADC_BITS    10         'DEFINE al ADC de 10 bits de resolución
   DEFINE ADC_SAMPLEUS 50         'DEFINE 50 mS de muestreo

   
   TRISA = $FF                'Declara el puerto A como entrada
   TRISC =255
   TRISB =%00000000
   ADCON1 = %10000010            'Configura todos los canales como entrada justificado a la  derecha
   
    A VAR BYTE
      X VAR WORD                  'Declara una variable X tipo WORD
   v VAR WORD

inicio:
      PORTC.7=$00
      ADCIN 0, X               'Esta instrucción lee el canal 0 y lo almacena en la variable X
   
LOOP1:
       SerIn PORTC.7,T1200,v
       IF v=0 Then lOOP1
      
       IF v=48 Then
        GoSub  rigth_fast
       EndIF
      
       IF v=49 Then
       GoSub rigth_low
       EndIF
             
      
                GoTo INICIO
      

rigth_fast:
            PORTB = %00000000
          
            Return
            
        
        
rigth_low:  PORTB = %00000000
            Pause 1400
            PORTB = %11111111
            Pause 400
            
            IF X>918 Then
            SerOut PORTC.6,T1200,[53]
            Pause 500
            endif

            IF X=820 Then
            SerOut PORTC.6,T1200,[52]
            Pause 500
            Endif
            
            IF X=615 Then
            SerOut PORTC.6,T1200,[51]
            Pause 500
            endif
            
            IF X=410 Then
            SerOut PORTC.6,T1200,[50]
            Pause 500
            endif
            
            IF X>205 Then
            SerOut PORTC.6,T1200,[49]
            Pause 500
            endif
            
            IF X<102 Then
            SerOut PORTC.6,T1200,[48]
            Pause 500
            endif
            
            
            Return
                          
            
            
        End  




pero no me funciona muy bien .. por hay me entere de la funcion debug
que lo que cotenga el adc me lo manda ya convertido el ascci
pero la verdad no tengo idea idea como utilizarlo hay si me pudiera ayudar


 saludos
Título: Re: ayuda " urgente " pic 16f877a
Publicado por: firepic en 12 de Junio de 2008, 20:22:11
Si explicas un poco más qué quieres hacer y cuál es tu duda, se te podría ayudar mejor.
Yo veo tu programa bastante limpio y lógico... cuál es exactamente el problema?  :?
Saludos, nos leemos!  :mrgreen:
Título: Re: ayuda ADC pic 16f877a
Publicado por: LordLafebre en 13 de Junio de 2008, 02:03:11
Hola:

Antes de escribir, lee las reglas del foro:

http://www.todopic.com.ar/foros/index.php?action=globalAnnouncements;id=1

He editado el título de tu mensaje ya que es justamente esto con lo que no estás cumpliendo:


Título: Re: ayuda ADC pic 16f877a
Publicado por: the_good en 14 de Junio de 2008, 13:38:05
ESPECIFICANDO EL PROBLEMA QUE TENGO .. ESTOY UTILIZANDO LABVIEW PARA LA ELABORACION DE MI INTERFAZ....

LO QUE TRATA EN SI ESTE `PROYECTO ES EN GRAFICAR LA CARGA Y DESCARGA DE UN CAPACITOR Y PARA ESTOY COMUNICO MI PC CON EL PIC POR MEDIO DEL RS232 Y DE AHI AL PIC.   Y LA SALIDA DEL PIC LA TENGO CONECTADA A UN DAC (CONVERTIDOR ANALOGO ' DIGITAL) EL CUAL CON LOS DATOS ALA SALIDA DEL PIC ME CONVIERTE A 5VCC LA SALIDA MAXIMA....   Y ESOS 5VOLT. CARGAN EL CAPACITOR PERO REQUIERO DE GRAFICARLOS PERO NO PUEDO . CON LOS DECIMALES . PUROS VALORES ENTEROS...

ALGUNOS DE MIS COMPAñEROS SI LO PUEDEN HACER EN EL PIC BASIC....

ELLOS UTLIZAN LA FUNCION DEBUG...  PARA PODER GRAFICAR EN TIEMPO REAL Y TODOS SUS VALORES DEL ADC DEL PIC....

EN CAMBIO LO QUE  YO HAGO ES GRAFICAR TODOS LOS VALORES ENTEROS DANDO UNA SEñAL DE 45GRADOS  MIENTRAS LOS DEMAS SE OBSERVA CLARAMENTE LA CARGA Y DESCARGA........     BUENO YA ESPECIFICADO UN POCO MAS .....    OJALA Y ME PUEDAN AYUDAR
Título: Re: ayuda ADC pic 16f877a
Publicado por: navaismo en 14 de Junio de 2008, 13:45:15
Disculpa pero te insistimos en que NO! publiques en mayusculas, para ello te puso el link de las reglas del foro LorLafebre.

Sobre tu problema, no creo que seas mas claro que al inicio, nos quedamos en las mismas, adquieres o no los valores del ADC? otra cosa que debes tomar en cuenta es que  PBP no soporta decimales, a menos que generes tu la rutina con DIV32 o con las rutinas de Microchip. Usa el buscador para saber como.

Si adquieres los datos del adc donde se te complica en el envio para graficar o en tu programa de LABView?
Título: Re: ayuda ADC pic 16f877a
Publicado por: firepic en 14 de Junio de 2008, 13:51:57
Bueno sinceramente no entiendo tampoco bien cuál es el problema...
Ahora bien, podrías colocar un esquemático de lo que tienes montado hasta ahora?
A ver si se entiende un poco mejor qué es lo exactamente lo que estás haciendo.
Ok saludos, nos leemos!  :mrgreen:
Título: Re: ayuda ADC pic 16f877a
Publicado por: cerebro en 14 de Junio de 2008, 21:43:28
Pones un adc a la entrada de algun puerto del micro, o utilizas los que trae porque el programa utiliza los adc del 877a pero despues en tu explicacion explicas otra cosa......... de cualquier manera hay que tener en cuenta que la entrada del adc del pic tenes un capacitor (sample and hold) si pones un capacitor a la entrada vas a estar afectando a ese capacitor...... se suele aislar las impedancias del circuito...... saludos :-/