Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

20/09/2010 #1


Problemas con visualizacion en lcd via RF
Saludos, un gusto escribir una vez mas aca, soy nuevo en esto de las transmisiones vía radiofrecuencia, les comento que estoy realizando un proyecto con un sensor de temperatura cuya lectura se visualizará en un lcd via rf.

En el siguiente circuito que adjunto uso el conversor a/d del pic16f877a para visualizar la lectura en en lcd1 de ese pic y funciona correctamente, pero cuando deseo visualizarlo en el receptor (pic 16f628a) no me muestra lectura alguna, para la transmisión uso unos modulos a 315Mhz (adjunto el datasheet) y el codificador y decodificador ht12e/ht12d, he comprobado que el modulo funciona correctamente he probado transmitiendo 1 bit y efectivamente recibe correctamente el dato que envio, mi problema es el siguiente:
Conecto el pin 39 del pic 16f877a a mi entrada del encoder(pin10), conecto la salida del decoder (pin10) al pin asignado para la recepcion de datos porta.0 del pic 16f628a(pin17), pero no logro visualizar el dato que envio , y bueno en ese mismo instante para comprobar nuevamente el estado de transmisión pruebo transmitiendo bits y efectivamente hay transmision y recepción sin embargo no logro visualizar el dato que necesito.
La salida del del pin 39 del pic 16f877a corresponde al dato que almaceno de mi conversor a/d para luego transmitirlo, he probado la transmisión directa usando un cable para unir el pin 39 del 16f877a y el pin 17 del 16f628a y funciona, bueno de esa forma logro visualizar la lectura del dato que deseo enviar por lo que creo el programa funciona correctamente.
Alguna sugerencia para solucionar mi problema seria bien recibida y muy agradecida.

Adjunto el esquema que realice en caso sirva de algo para su ilustración en pdf.

Incluyo fragmentos del programa que uso, esta hecho en microcode studio, tal vez estoy omitiendo algo o cometo un error y esa sea la razón por la cual no funcione.

Código:
*****************************************
tx
                            DEFINE osc 4
DEFINE      LCD_BITS 4
define      LCD_DREG        PORTB           ;bit de datos del LCD empezando
define      LCD_DBIT        0               ;por B.0. B.1, B.2, B.3
define      LCD_RSREG       PORTB           ;bit de registro del LCD conectar
define      LCD_RSBIT       5               ;en el puerto B.5
pause 2000
define      LCD_EREG        PORTB           ;bit de enable conectar en el
define      LCD_EBIT        4               ;puerto B.4

define      ADC_BITS        8               ;Fije el número de BITS del resultado (5,8,10)
define      ADC_CLOCK       3               ;Fije EL CLOCK (rc=3)
define      ADC_SAMPLEUS    50              ;Fije el tiempo de muestreo en Us
                                            ;ADC_SAMPLEUS es el número de microsegundos que el programa
                                            ;espera entre fijar el canal y comenzar la conversión analógica/digital
TRISA= 1                                   ;el puerto A es de entrada
ADCON1= %00001110                           ;el puerto A.0 es conversor los demás digitales
TRISB= 0
dato        var word                        ;crear variable dato para guardar
tempbaj     var byte
tempalt     var byte
x           var byte


releF   var portD.2
releC   var portD.3
led     var portD.4
enter   var portD.5
bsubir  var portD.6
bbajar  var portD.7

Symbol T2400 = 0
EEPROM 0,[22,26]                            ;contenido inicial de la EEPROM


inicio:                                     ;3 parpadeos del led que indica que funciona
for x =1 to 3
    high led
    pause 200
    low led
    pause 200
next

READ 0,tempbaj                              ;lee la EEPROM 0 y lo guarda en tempbaj
read 1,tempalt                              ;lee la EEPROM 1 y lo guarda en tempalt

sensar:
adcin 0, dato

serout PORTB.6, T2400, [dato]

Código:
rx
                           DEFINE osc 4
define      LCD_DREG        PORTB           ;bit de datos del LCD empezando
define      LCD_DBIT        0               ;por B.0. B.1, B.2, B.3
define      LCD_RSREG       PORTB           ;bit de registro del LCD conectar
define      LCD_RSBIT       5               ;en el puerto B.5
pause 2000
define      LCD_EREG        PORTB           ;bit de enable conectar en el
define      LCD_EBIT        4               ;puerto B.4
DEFINE      LCD_BITS 4
cmcon= 7
TRISB= 0



dato        var word                        ;crear variable dato para guardar
x           var byte
led         var portB.6





Symbol T2400 = 0
inicio:


for x =1 to 3                               ;3 parpadeos del led que indica que funcion
    high led
    pause 200
    low led
    pause 200
next

sensar:
serin PORTA.0, T2400, dato
LCDOUT $FE,1,"Temperatura Actual"         ;limpia el LCD y muestra el texto
             dato=dato/2                           ;el dato dividir para 2
LCDout $FE,$c6,dec dato,"ºC"                ;muestra el decimal de dato



end
datahsheet modulo:
http://electronicahifi.com/pdf/212st-rx04-a.pdf
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.