Autor Tema: AYUDA CON PIC16F84 Y MAX232!!  (Leído 3516 veces)

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

Desconectado manex_1987

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1127
AYUDA CON PIC16F84 Y MAX232!!
« en: 05 de Octubre de 2003, 06:02:00 »
Hola!
Antes de nada, que no resulte tan alarmante el mensaje. Necesito vuestra ayuda. Estoy probando mi recien adquirido MAX232 con el ordenador. Como primerizo programa , he puesto lo siguiente: (PBP)

include "modedefs.bas"
f var byte
label1:
for f=1 to 100
serout porta.0,T2400,[#f,"-"]
pause 100
next f
pause 1000
goto label1

Consiste en que envíe un número del 1 al 100 en orden ascendente más un guión de separación. Para mi asombro , esto es lo que recibo en el hyperterminal, y algo parecido recibo en el programa RS232 que alguien expuso en este foro (no me acuerdo del nombre).

8 à9-1-1@1,10 1 1,16 à10 à18 à18 2-à21 à2 23 24 à2 26 à2 à28!29 à30 à30 à32 à30
 3 3 30 à3 à38 à3 40 à à4!40 44 à4 46 à40 à48 à4  0 à-à0 4 à 6 à 8  60 61 à
62 à60  6 66 à6 à6 à69 70-71 à70 à73 à74 à7 70 à77 à7 7 þ à à84 à 8 bþ90 à
91 à9,93 à94 à9 96 à97 à9 à99!1`0 1 à2!à3 à4 à à6!7-8 à9-10 1 1-10 à14 à1,16 à1
18!à18 à20 21 à2-2 20 à2 2!20 à28-2 30 30-32 à30 34 à3 36 à30 à38 3 à40 40 à
4 40 à44 à4 46 à40 48 48 0  à à0 à à 6 à57 à8 à8 60 à61 à6 à6,6 6 66 à67
à6 6 à70,71 à70 à7-7 7 70 à77 à7 à79 à8-80 à ù84 ,80 àþþ88 9-91 à92 à93 à90
9 96 à97 à9 99 à1`` 1 à2 à3 à4 à à6!7-8 à9 à10 à1 à1,10 à14 à1,16 à10 à18 à18,à2
0 21 22 à23 à24 2 26 à27 à2 29 30 à30-3 à30 à3 3 30 à30 38!à3,40 40 4-40 à44 à
 6 à40 48!à48,0-0 à-0 à4 à   8 à9 60 61 à6 6 64 à6 66 à6 à6 69 70 70-70 à7-
à7 7,70 à77 à78 79 à8- 80 à84 à8,80 à8-þ9!91 à9-93 94 à9 96 à97 à9 9 1`` 1 à
2!à3 à4 à à6!7-8 à9 à10  à1-10 à14 à1,1 à1 18 18,20 à21!à2!20 à24 à2 26 à27 à2
8 2 30 31 30 30 à34 à3 30 à30 38 à3 à40 40 à4-40 44 à,40 4 48!à49 0!à1 à,0 à
 6 à57 à8 9 60 61 à6 6 64 à6 66 à6 à68 à6 70 à70 à70 à73 à74 à7,70 à77 à78

---------Y paro de contar-------------

Si todo está bien, supongo que la secuencia deberia ser la de 1-2-3-4-5-6-7-8-9-10-11-12-13-14-15... hasta 100 y vuelta a empezar , no es verdad?
Si en el código hubiera algun fallo, agradecería que me lo corrigierais, y si pudierais adjuntarme algun procedimiento bastante fiable para I/O de datos del PIC al PC, estaría más que agradecido.

Saludos a tod@s.


Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: AYUDA CON PIC16F84 Y MAX232!!
« Respuesta #1 en: 05 de Octubre de 2003, 09:21:00 »
En primer lugar identifica tu versi"on de compilador, es posible que segun la version pueda tener algun bug. En principio tu codigo esta bien pero el modificador # no parece funcionar del todo bien.

Bueno yo te invito a probar el for que tu has hecho desde 48 hasta 57.  Deberias ver los numeros de 0 al 9. Bueno esto es ago para empezar.

for f=48 to 57

 serout porta.0,T2400,[f,"-"]

next f

Esto deberia enviar 0-1-2-3-4-5-6-7-8-9- .  Si funciona bien, el hardware esta bien y ahora nos centramos en la programacion unicamente.

Despues quizas deberias probar con serout2 que es un comando desarrollado con posterioridad y quizas no falle la conversion.

Intentare probar tu codigo igual que lo tienes en un microcontrolador.

Saludos
Ricky
Madrid (Espana)(lo siento el teclado es americano y no tiene la tilde sobre la n)

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: AYUDA CON PIC16F84 Y MAX232!!
« Respuesta #2 en: 05 de Octubre de 2003, 09:22:00 »
En primer lugar identifica tu versi"on de compilador, es posible que segun la version pueda tener algun bug. En principio tu codigo esta bien pero el modificador # no parece funcionar del todo bien.

Bueno yo te invito a probar el for que tu has hecho desde 48 hasta 57.  Deberias ver los numeros de 0 al 9. Bueno esto es ago para empezar.

for f=48 to 57

 serout porta.0,T2400,[f,"-"]

next f

Esto deberia enviar 0-1-2-3-4-5-6-7-8-9- .  Si funciona bien, el hardware esta bien y ahora nos centramos en la programacion unicamente.

Despues quizas deberias probar con serout2 que es un comando desarrollado con posterioridad y quizas no falle la conversion.

Intentare probar tu codigo igual que lo tienes en un microcontrolador.

Saludos
Ricky
Madrid (Espana)(lo siento el teclado es americano y no tiene la tilde sobre la n)

Desconectado manex_1987

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1127
RE: AYUDA CON PIC16F84 Y MAX232!!
« Respuesta #3 en: 05 de Octubre de 2003, 13:23:00 »
Y una pregunta al respecto: Por qué me da error cuando intento asignar a una variable por ejemplo el texto "abcde"? Es posible enviar texto mediante MAX232 en vez de tener que mandar codigos ascii separados?Es que en el manual del PBP no lo explica bien... (En 5 miserables lineas qué podía explicar sobre las cadenas de caracteres...)

Saludos!

Desconectado zaibey

  • PIC10
  • *
  • Mensajes: 2
RE: AYUDA CON PIC16F84 Y MAX232!!
« Respuesta #4 en: 15 de Octubre de 2005, 00:01:00 »
Holaque tal, probe losdoscodigos q se posteraon y no puedo establecer la comunicacion, nomando nada a lahyperterminal, me podrian decir que diagrama emplean para la conexion, laverdad no se aque se deba que no envio nada saludos

Desconectado RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2060
RE: AYUDA CON PIC16F84 Y MAX232!!
« Respuesta #5 en: 15 de Octubre de 2005, 09:24:00 »
Que tal menax_1987 y RGL!

Mira menax en cuanto a tu programa:

include "modedefs.bas"
f var byte
label1:
for f=1 to 100
serout porta.0,T2400,[#f,"-"]
pause 100
next f
pause 1000
goto label1

Con el lazo for next envias los numeros decimales del 0 al 100, a la computadora, pero recuerda que los numeros que van del 0 al 31  en decimal corresponden a los caracteres no imprimibles por lo cual no podras verlos. reviza aqui en la tabla ascii para que veas los caracteres que deberias ver del 32 al 100.
http://www.lookuptables.com/

para resolver el problema se me ocurre que donde va el serout coloques esto.

Serout porta.0,T2400,["f","-"] de esta manera deberia mostrarte en la computadora los caracteres ascii correspondientes desde el 0 al 100!!!. Sonrisa Gigante

Pruebalo y nos comentas.

Lo otro es que debes chequear el formato en que envias los mensajes que debe ser 8N1, y que la velocidad de la computadora este en 2400 y no a 9600 que lo trae por defecto.
Lo otro que podrias hacer para verificar que el hardware esta bien, es por ejemplo que envies lo siguiente:

 serout porta.0,T2400,["hola"] ; si te aparece el texto hola todo esta bien!loco

Saludos

Desconectado zaibey

  • PIC10
  • *
  • Mensajes: 2
RE: AYUDA CON PIC16F84 Y MAX232!!
« Respuesta #6 en: 17 de Octubre de 2005, 22:26:00 »
Hola que tal, oigan aqui ya hablan del codigo en especifico ya lo probe asi como lo ponen y no envio nada, ni siquiera basura, me podrian decir cual es el diagrama de conexion que ocupan, pq la programacion q hago es la misma q postean y es con max232 y pic16f84a en teoria deberia de funcionar, espero su respuesta muchas gracias

Desconectado RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2060
RE: AYUDA CON PIC16F84 Y MAX232!!
« Respuesta #7 en: 18 de Octubre de 2005, 13:49:00 »
Que tal zaibey!

Aqui tienes el diagrama de conexiones del max 232 junto con las conexiones para el DB-9

http://chaokhun.kmitl.ac.th/~kswichit/MAX232/MAX232.htm

Saludos

Desconectado aldobm

  • PIC10
  • *
  • Mensajes: 2
Re: AYUDA CON PIC16F84 Y MAX232!!
« Respuesta #8 en: 13 de Marzo de 2007, 20:28:45 »
Primero en proteus pon el clock en 4Mhz en el pic que uses y revisa si la velocidad de transmision es igial a la del pic,por lo general es de 2400!!!


 

anything