Autor Tema: Ayuda con AD en pic 16f877  (Leído 2080 veces)

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

Desconectado microfull

  • PIC10
  • *
  • Mensajes: 26
    • microfull
Ayuda con AD en pic 16f877
« en: 23 de Septiembre de 2006, 02:31:04 »
ya leoelvoltaje con el conersor guardo el valor en una variable visualizo el valor de la variable pero como hago para covertir el valor de la variable a el valor del voltaje que esta leyendo estoy usando conversor de 10 bit´s
y como hago para que me salga el valor por ejemplo yo leo 5.32v el valor guardado en la constante es 63 como hago para pasarla a voltaje
estoy leyendo el voltaje de uan termocupla tipo k
www.microfull.com
Desarrollo de proyectos microcontrolados

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ayuda con AD en pic 16f877
« Respuesta #1 en: 23 de Septiembre de 2006, 02:53:19 »
Pues dependiendo de la precision de tu lectura es la forma en que se leen o se manejan, aqui hay un buen de ejemplos con adc.
Por ejemplo si usas Vrefs y el VREF+ = 5V, entonces 1024 seran 5V y si VREF- = 0V o gnd eso sera un 0de ahi podrias hacer tus salidas al LCD o lo que uses. Algo asi como una regla de tres.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado microfull

  • PIC10
  • *
  • Mensajes: 26
    • microfull
Re: Ayuda con AD en pic 16f877
« Respuesta #2 en: 23 de Septiembre de 2006, 08:42:39 »
y como hago para que el resultado me de en com flotante osea que no solo me muestre 4volts 3volt sino 3.1 - 2.5 ejemplo
tengo que modificar el programa este es mi programa
y mi ejemplo en proteus 6.7 sp3
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 22/09/2006                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
DEFINE  OSC 20

DEFINE LCD_RWREG PORTD
DEFINE LCD_RWBIT 2
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 1



' Define ADCIN parameters
Define   ADC_BITS   10   ' Set number of bits in result
Define   ADC_CLOCK   3   ' Set clock source (3=rc)
Define   ADC_SAMPLEUS   50   ' Set sampling time in uS

adval   var   word      ' Create adval to store result


   TRISA = %11111111   ' Set PORTA to all input
   ADCON1 = %10000010   ' Set PORTA analog and right justify result


   Pause 500      ' Wait .5 second

loop:   ADCIN 0, adval      ' Read channel 0 to adval

   Lcdout $fe, 1      ' Clear LCD
   Lcdout "Value: ",  salida   ' Display the decimal value 

   Pause 100      ' Wait .1 second

   Goto loop      ' Do it forever
   End
www.microfull.com
Desarrollo de proyectos microcontrolados

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ayuda con AD en pic 16f877
« Respuesta #3 en: 24 de Septiembre de 2006, 02:08:50 »
Bueno para lo de punto flotante asi tal cual con PBP es dificil, yo uso las rutinas de punto flotante de melabs, apuntando la lectura de tu variable a una variable que se usa para hacer operaciones, aqui hice algo parecido (por supuesto solo adaptando la lectura, a la rutina de Punto flotante) FP.  Talvez te sirva
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2060
Re: Ayuda con AD en pic 16f877
« Respuesta #4 en: 26 de Septiembre de 2006, 16:43:20 »
Hola maser y navaismo!
Mira aqui puedes encontrar lo que necesitas para el conversor adc de 10bits que sensa un voltaje de 5 voltios y no hay que utilizar punto flotante.
http://www.melabs.com/resources/samples.htm
se llama vmeterx.bas.

Saludos! :-/