Autor Tema: PICC (CCS | Hi-Tec | C18) con Pic Simulator o PROTEUS  (Leído 1959 veces)

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

Desconectado zagoaristides

  • PIC12
  • **
  • Mensajes: 99
    • deportes de contacto y fitness
PICC (CCS | Hi-Tec | C18) con Pic Simulator o PROTEUS
« en: 04 de Julio de 2007, 19:14:50 »
Bueno, este tema pretende ser una guía para quienes quieren usar el conocido simulador con compiladores de C y no con el PicBasic que trae incluido. Se aceptan comentarios de las formas con PROTEUS.
« Última modificación: 05 de Julio de 2007, 01:31:40 por zagoaristides »
Nadie nació sabiendo...Que genio ese Nadie!!!

Desconectado zagoaristides

  • PIC12
  • **
  • Mensajes: 99
    • deportes de contacto y fitness
LCD CON PICC (CCS | Hi-Tec | C18) y Pic Simulator o PROTEUS
« Respuesta #1 en: 04 de Julio de 2007, 20:12:57 »
Bueno antes que nada quiero saber si alguien intentó hacer funcionar el display LCD del Pic Simulator o el display gráfico. En lo que estoy tratando ahora no puedo con una simple rutina como:

#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=20000000)


#include <LCD.c>

void main() {
   char k;

   lcd_init();


   lcd_putc("\fReady...");

   while (TRUE) {
   
   }
}


A ver si alguien puede aportar algo sobre la configuración del Pic Simulator para el LCD o que puede estar fallando

También probé modificando la librería LCD, llamándola obviamente con otro nombre, pero no conseguí ningún resultado.

Otro intento fué:

void main()
{

   lcd_init();

   
   lcd_gotoxy (1,1); 
   lcd_putc("Ready...\n");

   while (1){
   }
 
}


Y nada...
« Última modificación: 05 de Julio de 2007, 01:31:53 por zagoaristides »
Nadie nació sabiendo...Que genio ese Nadie!!!

Desconectado zagoaristides

  • PIC12
  • **
  • Mensajes: 99
    • deportes de contacto y fitness
Input Output con CCS PICC y Pic Simulator
« Respuesta #2 en: 04 de Julio de 2007, 20:22:28 »
OTROS PROGRAMAS que trabajan con los puertos me funcionan bien, por ejemplo los outport y demás, hice varios ejemplos y otras ideas mías como para practicar:

#include <16F873.H>
#pragma fuses HS,NOWDT,NOPROTECT,NOLVP
#pragma use delay(clock=20000000)



#inline
void pulse_B0() {

     output_high(PIN_B0);
     delay_us(100);
     output_low(PIN_B0);
     delay_us(50);

}
 
#pragma zero_ram

void main(void)   
{
   int i;
   //output_high(PIN_B1);
   while (1)
   {
      if( input(PIN_B1) )
      {
         for (i=1;i<=100;++i)
         {
            pulse_B0();
            if (!input(PIN_B1))
            break;
         }
      }
      else
         output_low(PIN_B0);loscope o el
   }
}


Lo que hace es verificar en que estado está el pin B1 y si está en 1 saca por el pin B0 una onda cuadrada. Muy simple. También lo probé con comandos de fast IO y anda bien. En fin espero le sirva a alguien para practicar. Deben activar el Microcontroler View dentro de Tools, también pueden usar el Oscilloscope o el 8 x LED Board para ver la onda de salida. Configuran el microcontrolador en Options - Select Microcontroller y ajustan la frecuencia a 20M dentro de Change clock frequency.
Lo ejecutan con Simulation - Start (pueden también cambiar la velocidad en Rate, aunque no es real, de ahi que los tiempos sean us en la funcion pulse_B0).  Lo que deberían ver es que al pulsar [T] del pin B1 en Microcontroler view comienza a verse la señar en el Osciloscopio o en su defecto en la 8 x Led Board. Voy a seguir intententando con el LCD, espero comentarios. Por cierto todo se dirije a que en un par de meses pueda "controlar" un acelerómetro para medición de potencia, velocidad y más. Veremos que pasa.
« Última modificación: 05 de Julio de 2007, 01:32:05 por zagoaristides »
Nadie nació sabiendo...Que genio ese Nadie!!!