TODOPIC

Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: pajaro en 16 de Julio de 2009, 10:40:04

Título: Proteus 7- ERROR 132 - CCS - LCD "salida doble" - *S O L U C I O N A D O*
Publicado por: pajaro en 16 de Julio de 2009, 10:40:04
Hola amigos

programando en ccs es posible obtener una salida doble, en la simulación de isis.
Es posible obtener la misma salida del LCD en virtual terminal, ambas a la vez .

Un saludo.
Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: PalitroqueZ en 16 de Julio de 2009, 12:17:40
puedes colocar un circuito ejemplo, es que no entiendo :(

Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: jhozate en 16 de Julio de 2009, 13:50:14
si entiendo bien, seria mandar los mismos datos al lcd y al virtual terminal y ya..no?
Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: pajaro en 16 de Julio de 2009, 13:56:14
hola Amigo

tiene un pic 16F877A con un LCD4x20 20Mz, archivo comprimido

en ccs :

Código: CSS
  1. ...
  2. ....
  3. int n;
  4.  
  5. void main()
  6. {
  7.  
  8.  
  9. pulsa_Px(input(P1),input(P2),2,2,n)
  10.  
  11. }
  12.  
  13.  
  14. ...
  15. ..
  16.  
  17. int pulsa_Px(int px,int py,int pospulx,int pospuly,int n)
  18.   {
  19.   printf(lcd_putc,"Dentro de funcion \n");
  20.    while(py==0)
  21.      {
  22.      printf(lcd_putc,"Dentro de while \n");
  23.  
  24.  
  25.     if(px==1)
  26.      {printf(lcd_putc,"Dentro de if \n");
  27.       //delay_ms(30);
  28.       n=n+1;
  29.       lcd_gotoxy(pospulx,pospuly);
  30.       printf(lcd_putc,"%02u",n);
  31.      }
  32.     }
  33.     printf(lcd_putc,"salio de while \n");
  34.    
  35.     return(n);
  36.   }
  37.  
  38. ..
  39. ...


temenos esa función que la llamamos desde dentro del main()

en proteus queremos que lo saque por el lcd y por el teminal de forma que si tenemos el lcd en un sitio y el terminal en otro por los dos dipositivos se vea lo mismo.

Como es eso posible...

Saludos PalitroqueZ.

------------------------


Asi es Jhozate,... estas en lo cierto..

Un saludo



Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: MLO__ en 18 de Julio de 2009, 14:42:07
Solo debes poner:

Código: [Seleccionar]
printf("dato que sale por el serial o terminal virtual\r\n");
printf(lcd_putc,"dato que sale por la LCD");

Saludos

Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: pajaro en 18 de Julio de 2009, 15:39:30
hola amigo MLO

Gracias por tu respuesta, pero me tira un error si uso : printf("Dentro de while \n");
me dice :

error 132 stdout no definida (may be missing #USE RS232)::

no entiendo lo que pide.

Un saludo, amigo.
Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: KALLITOS en 18 de Julio de 2009, 21:43:29
Hola pajaro, antes de usar rs232 debes poner lo siguiente:

Código: CSS
  1. #use delay(clock=4000000)    ///para 4Mhz
  2. #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

el use delay debe estar antes del use rs232 para que el compilador realice calculos del baud rate.

Saludos.
Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: MLO__ en 18 de Julio de 2009, 21:48:46
eexxaaactamenteeee  :mrgreen:
Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: pajaro en 19 de Julio de 2009, 20:21:28
hola amigos..


Esta es mi cabecera,

Código: CSS
  1. ////////////////////////////////////////////////////////////////////////////////////
  2.  
  3. #include <16F877A.h>               ///   libreria para el manejo del pic16f877a
  4. #use delay(clock=20000000)          ///   declara  la frecuencia del cristal
  5. #fuses HS,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT
  6. ////////////////////////   librerias a usar  ///////////////////////////////////////
  7. #include <lcd420.c>
  8. #include <ds1307_+.c>
  9. #include <menu.c>
  10. #include <fun_menu_config.c>
  11. #include <menu_config.c>
  12.  
  13. ////////////////////// Configuracion de puertos ////////////////////////////////////
  14. #use fast_io(A)
  15. #use fast_io(B)
  16. #use fast_io(C)                     ///   con esta instruccion evitamos que
  17. #use fast_io(D)                     ///   se este configurando cada vez que usamos
  18. #use fast_io(E)                     ///   alguna instruccion de entrada o salida
  19.                    
  20. #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
  21.  
  22. #byte portc = 7                     /// se definen direcciones de memoria
  23. #byte portd = 8
  24. ////////////////////// definicion pulsadores //////////////////////////////////////
  25. #define P1 PIN_A0
  26. #define P2 PIN_A1
  27. #define P3 PIN_A2
  28. #define P4 PIN_A3
  29. ////////////////////// deficion de variables ///////////////////////////////////  
  30.  
  31. ...
  32. ..
  33. .


pero me tira un error que me esta volviendo loco,
no localizo lo que le ocurre..

Un saludo,y gracias por su cooperacion.
Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble" *RESUELTO*
Publicado por: pajaro en 31 de Agosto de 2009, 11:37:06
          //////////////////////////////////////////////////////////......
          ///
          ///        :)        S O L U C I O N A D O           ;-)
          ///
          //////////////////////////////////////////////////////////......


El caso parece ser que cuando se hace uso de la sentencia "#USE" , se debe colocar al principio de la cabecera, de no ser asi al compilar tira el error anterior.

Lo unico que hice fue quitarlo de donde lo tenía y ponerlo al principio de la cabecera, debajo de la definición de Clock, asi se quedan los "#use" juntos.

El codigo quedaria como se muestra más abajo, entonces funciona y no se queja el compilador.


Un saludo.


Código: CSS
  1. ////////////////////////////////////////////////////////////////////////////////////
  2.  
  3. #include <16F877A.h>                ///   librería para el manejo del pic16f877a
  4. #use delay(clock=20000000)          ///   declara  la frecuencia del cristal
  5. #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
  6.  
  7. #fuses HS,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT
  8.  
  9.  
  10. ////////////////////////   librerias a usar  ///////////////////////////////////////
  11. #include <lcd420.c>
  12. #include <ds1307_+.c>
  13. #include <menu.c>
  14. #include <fun_menu_config.c>
  15. #include <menu_config.c>
  16.  
  17. ////////////////////// Configuracion de puertos ////////////////////////////////////
  18. #use fast_io(A)
  19. #use fast_io(B)
  20. #use fast_io(C)                     ///   con esta instrucción evitamos que
  21. #use fast_io(D)                     ///   se este configurando cada vez que usamos
  22. #use fast_io(E)                     ///   alguna instruccion de entrada o salida
  23.                    
  24.  
  25.  
  26. #byte portc = 7                     /// se definen direcciones de memoria
  27. #byte portd = 8
  28. ////////////////////// definicion pulsadores //////////////////////////////////////
  29. #define P1 PIN_A0
  30. #define P2 PIN_A1
  31. #define P3 PIN_A2
  32. #define P4 PIN_A3
  33. ////////////////////// deficion de variables ///////////////////////////////////  
  34.  
  35. ...
  36. ..
  37. .




Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble"
Publicado por: MLO__ en 31 de Agosto de 2009, 11:39:03
Código: CSS
  1. #use delay(clock=4000000)    ///para 4Mhz
  2. #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

Título: Re: Proteus 7- ISIS - CCS - LCD "salida doble" *S O L U C I O N A D O*
Publicado por: pajaro en 31 de Agosto de 2009, 11:53:12
HOLA MLO_

Nuestro amigo no dijo nada de que tenian que estar juntos, y al principio de cabecera.

Otro hilo que deberia de abrir es: "Prioridad de sentencias y Orden de llamada de las mismas ".

Un saludo.