TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ElVale en 11 de Diciembre de 2008, 01:15:39

Título: Problema simulando el RS232 del 16f688 en proteus a 20MHz
Publicado por: ElVale en 11 de Diciembre de 2008, 01:15:39
Al simular el siguiente código en Proteus, la virtual terminal se me queda en negro y no muestra nada, sin embargo el pin A0 si parpadea bien.

Código: [Seleccionar]
#include <16F688.H>
#fuses HS, NOWDT, NOBROWNOUT, PUT, NOMCLR
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C4, rcv=PIN_C5, ERRORS)

//===================================
void main()
{
   printf("Hello World \n\r");

   WHILE (1)
   {
      output_high(PIN_A0);
      delay_ms(1000);
      output_low(PIN_A0);
      delay_ms(1000);
   }
}

Ahora, si cambio el reloj del procesador a 8 MHz y hago el respectivo cambio en el Processor Clock Frequency en Proteus, el RS232 simula perfecto y el A0 también parpadea bien. Es decir

Código: [Seleccionar]
#include <16F688.H>
#fuses HS, NOWDT, NOBROWNOUT, PUT, NOMCLR
#use delay(clock=8000000)
#use rs232(baud=9600, xmit=PIN_C4, rcv=PIN_C5, ERRORS)

//===================================
void main()
{
   printf("Hello World \n\r");

   WHILE (1)
   {
      output_high(PIN_A0);
      delay_ms(1000);
      output_low(PIN_A0);
      delay_ms(1000);
   }
}
(http://img355.imageshack.us/img355/3936/dibujozi7.jpg) (http://imageshack.us)
(http://img355.imageshack.us/img355/dibujozi7.jpg/1/w659.png) (http://g.imageshack.us/img355/dibujozi7.jpg/1/)

Entonces ¿por qué el rs232 funciona bien a 8 MHz y no a 20 MHz?? será un bug del CCS? estoy usando la versión 4.068.

Si hay alguien que haya trabajado con el RS232 del 16f688 a 20 MHz le agradecería que pueda proveer el código.
Título: Re: Problema simulando el RS232 del 16f688 en proteus a 20MHz
Publicado por: Giovanny en 11 de Diciembre de 2008, 02:08:51
en las propiedades del microcontrolador dentro de proteus , te aseguraste de cambiar la frecuencia de operacion, a la vez que cambiaste el  programa principal en ccs?. de no ser asi, puedes ser ese el problema.

Saludos
Título: Re: Problema simulando el RS232 del 16f688 en proteus a 20MHz
Publicado por: ElVale en 16 de Diciembre de 2008, 17:10:08
Claro hermano, cada vez que cambiaba la frecuencia en CCS la cambiaba en las propiedades del pic en proteus, la prueba es que el pin A0 parpadea cada segundo a 20 MHz, pero el RS232 no funciona a esa frecuencia. Aun y si no la cambiara eso saldría algo en la Virtual Terminal aunque sean garabatos extraños, pero el problema es que no sale nada de nada, se queda en negro.
Título: Re: Problema simulando el RS232 del 16f688 en proteus a 20MHz
Publicado por: ElVale en 16 de Diciembre de 2008, 21:29:00
como que el CCS estaba mal instalado porque reinstalé y ya funciona
Título: Re: Problema simulando el RS232 del 16f688 en proteus a 20MHz
Publicado por: Giovanny en 17 de Diciembre de 2008, 15:48:41
me alegra. ;) eso ya estaba extraño.  :D
Título: Re: Problema simulando el RS232 del 16f688 en proteus a 20MHz
Publicado por: PalitroqueZ en 17 de Diciembre de 2008, 16:31:02
en las propiedades del microcontrolador dentro de proteus , te aseguraste de cambiar la frecuencia de operacion, a la vez que cambiaste el  programa principal en ccs?. de no ser asi, puedes ser ese el problema.
Saludos

y no solamente del pic, el virtual terminal también tiene sus propiedades, allí sale el baudeaje y todas las opciones para una comunicación serial rs232