Autor Tema: Problemas datos seriales 16f88 y 16f628a  (Leído 3449 veces)

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

Desconectado seth83

  • PIC10
  • *
  • Mensajes: 20
Problemas datos seriales 16f88 y 16f628a
« en: 16 de Julio de 2011, 01:07:14 »
Que tal, tengo un lcd serial que funciona a 9600bps, si utilizo un pic 16f628a a 20mhz con salida serie por hardware funciona perfecto, solo que quise agregar un lm35 y tube que cambiar lo por un 16f88, el problema consiste en que no se como hacer para que funcione, ya intente varias cosas y en el lcd me manda puros caracteres raros

este es el codigo utilizado

Código: [Seleccionar]
@ __CONFIG _CONFIG1, _INTRC_IO & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _CCP1_RB3 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF
@ __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF

    

DEFINE OSC 8
OSCCON = %01111000 '8 Mhz
CMCON = 7 'turn comparators off
ANSEL = 0 'All digital

DEFINE HSER_BAUD 9600      ' Set baud rate
DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0
DEFINE HSER_SPBRG 12  ' 9600 Baud @ 8MHz, 0.16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

INCLUDE "modedefs.bas"

pause 1800
main:
   hserout [254, 0]
   hserout [$fe, $c0, "TEXTO"]
     goto main
end

haber si alguien pudiera hecharme una manita
« Última modificación: 16 de Julio de 2011, 01:11:34 por seth83 »

Desconectado soymoe

  • PIC18
  • ****
  • Mensajes: 456
    • El blog de Moe
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #1 en: 16 de Julio de 2011, 03:06:53 »
Que tal, tengo un lcd serial que funciona a 9600bps, si utilizo un pic 16f628a a 20mhz con salida serie por hardware funciona perfecto, solo que quise agregar un lm35 y tube que cambiar lo por un 16f88, el problema consiste en que no se como hacer para que funcione, ya intente varias cosas y en el lcd me manda puros caracteres raros

este es el codigo utilizado

Código: [Seleccionar]
@ __CONFIG _CONFIG1, _INTRC_IO & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _CCP1_RB3 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF
@ __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF

    

DEFINE OSC 8
OSCCON = %01111000 '8 Mhz
CMCON = 7 'turn comparators off
ANSEL = 0 'All digital

DEFINE HSER_BAUD 9600      ' Set baud rate
DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0
DEFINE HSER_SPBRG 12  ' 9600 Baud @ 8MHz, 0.16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

INCLUDE "modedefs.bas"

pause 1800
main:
   hserout [254, 0]
   hserout [$fe, $c0, "TEXTO"]
     goto main
end

haber si alguien pudiera hecharme una manita
Donde vas a poner el LM 35 si configurarste todas las entradas como digitales?.

Desconectado seth83

  • PIC10
  • *
  • Mensajes: 20
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #2 en: 18 de Julio de 2011, 21:06:14 »
Gracias por responder, aun no e configurado la parte de lectura, pues no me muestra nada de texto en la lcd, ese es el problema que tengo ahorita, ya probe varias cosas y nada salen puos caracteres raros, y la imagen de una flecha ->, asi esta actualmente haber si me pudieras ayudar :)

Desconectado vdiazg

  • PIC12
  • **
  • Mensajes: 68
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #3 en: 19 de Julio de 2011, 00:30:41 »
Sabes, aunque parezca algo tonto o tirado de los pelos, te hay fijado en el pinout, yo recuerdo que una vez me confie en que todos los pics de 18 pines tenian el usart en la misma ubicacion y luego me di cuenta que no siempre es asi  :?.

Pinout del 16F628


pinout del 16F88


El usart no tiene la misma ubicacion, salvo que lo fuerzes a que funcione con software.  ;-)
quiero construir un "Condensador de flujos"

Desconectado seth83

  • PIC10
  • *
  • Mensajes: 20
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #4 en: 19 de Julio de 2011, 14:23:16 »
gracias por responder, no es tonto, si me llego a pasar en algunas ocaciones XD, pero no en esta, fue lo primero que le note en el proteus donde tambien funciona, pero ya armado no deja de sacar "basura" en el lcd

Desconectado vdiazg

  • PIC12
  • **
  • Mensajes: 68
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #5 en: 19 de Julio de 2011, 17:20:21 »
Has intentado descartar la comunicacion serial con otro dispositivo, es decir si le pones un max232 al pin de TX del PIC y en vez de enviarle los datos al LCD se lo envias a la PC, para descartar, si hay comunicacion entonces, el problema es de ruido, si es asi podrias ponerle un par de transistores.
quiero construir un "Condensador de flujos"

Desconectado seth83

  • PIC10
  • *
  • Mensajes: 20
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #6 en: 20 de Julio de 2011, 02:48:49 »
no creo que sea eso, en dado caso no funcionaria ni con el 16f628a, pero todo es posible, no tendras algun ejemplo que tengas 100% probado en pbp o el hex, para enviar datos seriales?

Desconectado seth83

  • PIC10
  • *
  • Mensajes: 20
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #7 en: 20 de Julio de 2011, 22:10:55 »
Alguien sabe a que velocidad es mas preciso el ocilador interno del 16f628a??

Desconectado seth83

  • PIC10
  • *
  • Mensajes: 20
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #8 en: 21 de Julio de 2011, 02:04:53 »
Haber si alguien me puede responder esta gran solucion que me dejo bokiabierto

resulta que con este codigo funciono a la primera

Código: [Seleccionar]
DEFINE OSC 20
OSCCON =  %01101110 '8 Mhz
CMCON = 7 'turn comparators off
ANSEL = 0 'All digital
OSCTUNE = %000000

DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 129 ' 9600 Baud @ 20MHz, 0.16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

lo mas raro es que si le cambio la velocidad del osc a 4 me aparecen los textos muy rapido, si cambio el osccon como se supone debe de ser sale pura basura, si lo uso tal cual funciona a la perfeccion

Desconectado soymoe

  • PIC18
  • ****
  • Mensajes: 456
    • El blog de Moe
Re: Problemas datos seriales 16f88 y 16f628a
« Respuesta #9 en: 25 de Julio de 2011, 16:15:17 »
Haber si alguien me puede responder esta gran solucion que me dejo bokiabierto

resulta que con este codigo funciono a la primera

Código: [Seleccionar]
DEFINE OSC 20
OSCCON =  %01101110 '8 Mhz
CMCON = 7 'turn comparators off
ANSEL = 0 'All digital
OSCTUNE = %000000

DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 129 ' 9600 Baud @ 20MHz, 0.16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

lo mas raro es que si le cambio la velocidad del osc a 4 me aparecen los textos muy rapido, si cambio el osccon como se supone debe de ser sale pura basura, si lo uso tal cual funciona a la perfeccion
Lo mas probable que el LCD se sature por no ser tan rapido.


 

anything