TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: machuca_rock en 19 de Noviembre de 2008, 23:31:27

Título: Ayuda Termometro Digital
Publicado por: machuca_rock en 19 de Noviembre de 2008, 23:31:27
Holaaaaaa ! primero es saludarlos y bueno les cuento, estoy recien empezando a aprender y crear mis primeros programas, y bueno tengo la programacion del termometro para mi 16lf84a y tengo armado todo el circuito,
solo me qeda arreglar la programacion a ver si alguien me brinda alguna ayuda
se lo agradeceria mucho
aqui esta


' termometro digital
'------------------------------------------
DEVICE 16f84a
   
   SYMBOL DQ = PORTB.0       
    
   DIM Temp  AS WORD          
   DIM C      AS BYTE          
   DIM CPerD AS BYTE          
    
   '*******************************************
   SYMBOL LCD    = portb.1    
   SYMBOL Baund2   16468       
   SYMBOL  I        254         
   SYMBOL  clrr   1             
   '*******************************************
   
inicio:
   OWRITE DQ, 1, [$CC, $44]       
   REPEAT
      DELAYMS 25          
      OREAD DQ, 4, [C]    
   UNTIL C <> 0             
   OWRITE DQ, 1, [$CC, $BE]       
   OREAD DQ, 2,[Temp.LOWBYTE,Temp.HIGHBYTE, C, C, C, C, C, CPerD]

   Temp = (((Temp >> 1) * 100) - 25) + (((CPerD - C) * 100) / CPerD)
   
   SEROUT LCD, Baund2, [I,128,"TEMp = "]
   SEROUT LCD, Baund2, [I,192," ",dec Temp /1000, ",",dec1 Temp,$df,"C"]
GOTO inicio


ojala alguien me ayude
gracias  :)
Título: Re: Ayuda Termometro Digital
Publicado por: navaismo en 19 de Noviembre de 2008, 23:46:07
¿De que sensor hablamos, es el DS18B20 u otro? Y cuentanos cuales son tus problemas.
Título: Re: Ayuda Termometro Digital
Publicado por: machuca_rock en 19 de Noviembre de 2008, 23:54:46
si es ese mismo sensor, la verdad es que esta programacion me la entregaron y no la entiendo, desconosco algunos comandos y la verdad no entiendo muy bien la programacion a ver si alguien me puede explicar para aprender y poder hacerla yo
se los agradeceria
Título: Re: Ayuda Termometro Digital
Publicado por: navaismo en 19 de Noviembre de 2008, 23:58:14
Entonces lo primero que debes hacer es leer el manual y la ayuda de Proton ya que es el lenguaje que se usa, para que compreendas que es lo que hace y como funciona el programa
Título: Re: Ayuda Termometro Digital
Publicado por: machuca_rock en 20 de Noviembre de 2008, 00:07:28
es que lo comprendo, por ejemplo
en este caso
el comando

OWRITE
no lo entiendo
Título: Re: Ayuda Termometro Digital
Publicado por: MGLSOFT en 20 de Noviembre de 2008, 00:12:58
OWrite es un comando especifico del bus One Wire.
OWrite envia por el bus un dato para configuracion por ejemplo.
Título: Re: Ayuda Termometro Digital
Publicado por: machuca_rock en 20 de Noviembre de 2008, 00:15:58
o sea q con ese comando envio la info que esta llegando del sensor?
Título: Re: Ayuda Termometro Digital
Publicado por: MGLSOFT en 20 de Noviembre de 2008, 00:33:02
La primera parte del programa envia (con Owrite) la configuracion al dispositivo.
Luego espera la lectura enviada por el dispositivo que la lee con Oread, que es el comando de lectura.
Despues hace las cuentas necesarias para transformar los dos bytes hexadecimales enviado por el dispositivo en un valor decimal de tipo Word (Temp).
Finalmente envia esta informacion a un display LCD del tipo serial.
Una vez completado el ciclo vuelve a iniciarlo.
Título: Re: Ayuda Termometro Digital
Publicado por: machuca_rock en 20 de Noviembre de 2008, 00:41:36
eso era lo que necesitaba saber !
te lo agradesco mucho, por el tiempo
y la forma en q me lo explicaste
Gracias :)
Título: Re: Ayuda Termometro Digital
Publicado por: MGLSOFT en 20 de Noviembre de 2008, 00:43:40
Es como el cuento del elefante y la hormiga, lo lograron con paciencia y mucha saliba.. :D :D :D :D
De nada.
Título: Re: Ayuda Termometro Digital
Publicado por: machuca_rock en 20 de Noviembre de 2008, 01:17:13
hay algun error en los comandos?
Título: Re: Ayuda Termometro Digital
Publicado por: MGLSOFT en 20 de Noviembre de 2008, 08:02:41
No creo.
Y como dice Navaismo, deberias darle una buena hojeada al datasheet de ese integrado, asi conoces como es su protocolo. :mrgreen: