Autor Tema: MPLAB ¿Como empezar?  (Leído 4399 veces)

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

Desconectado masacre

  • PIC10
  • *
  • Mensajes: 9
MPLAB ¿Como empezar?
« en: 09 de Julio de 2008, 03:50:22 »
Hola gente, bueno estoy aprendiendo o eso intento a hacer un programa para controlar unos led y un lcd, lo que pasa es que no se como hacerlo. Y por mucho que busco no encuentro como hacerlo seria con el micro 18f4620. Lo que busco es una guía en español (en ingles no lo entiendo :() o unas intrusiones para ir cogiendolo y  hacerme una idea. Gracias
1+1= 10.

Desconectado vszener

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2395
Re: MPLAB ¿Como empezar?
« Respuesta #1 en: 09 de Julio de 2008, 04:16:51 »
Buenas,

Si quieres realizar el código en lenguaje C es fácil, creas un proyecto mediante el project wizard y en la ventana de seleccionar el lenguaje, seleccionas el C18.

Te digo el C18 ya que veo que quieres trabajar con un PIC  de dicha familia, en caso de querer trabajar con otro compilador, por ejemplo en CCS, deberás ir a la página web del fabricante y descargarte el plug-in que te integra el CCS en MPLAB.

Una vez integrado el CCS en MPLAB, haces igual que antes, en la ventana de seleccionar el lenguaje, buscas el CCS y ha realizar el programa en sí.

PD: Por cierto, este blog que es interesante, hay temas de como realizar proyectos en MPLAB desde cero, eso sí, en ASM, pero es muy parecido: Aqueronte MPLAB IDE.
PPDD: Si vas a usar el C18, deberás añadir el archivo .lkr correspondiente a tu microcontrolador a tu proyecto.

Suerte!!! ;)
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado masacre

  • PIC10
  • *
  • Mensajes: 9
Re: MPLAB ¿Como empezar?
« Respuesta #2 en: 09 de Julio de 2008, 04:38:10 »
Gracias por contestar, todo lo que dices ya lo tengo echo pero lo que no se realmente seria los comandos a poner para que encienda o apague los led por ejemplo.

#include <p18f4620.h>

#define   ON         1
#define   OFF         0

#define LEDROJO      PORTEbits.RE0


void main (void)
{
TRISE = 0b00000000;
LEDROJO = ON;
}


Se que seria algo a si pero no se como hacerlo para el LCD parpadeos y similares.
« Última modificación: 09 de Julio de 2008, 05:16:55 por masacre »
1+1= 10.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: MPLAB ¿Como empezar?
« Respuesta #3 en: 09 de Julio de 2008, 09:43:43 »
Tu no sabes las instrucciones que se usan para el PIC.

En este mismo foro, tienes muchos ejemplos para ello, y también tema dedicado para aprender CCS desde 0
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado masacre

  • PIC10
  • *
  • Mensajes: 9
Re: MPLAB ¿Como empezar?
« Respuesta #4 en: 09 de Julio de 2008, 09:56:38 »
Hola, yo he puesto eso y funciona, solo se enciende el LED pero funciona  :-)
¿Dónde puedo sacar las intrusiones para los PIC?¿Y los ejemplos donde están?
Gracias por la ayuda.
1+1= 10.

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: MPLAB ¿Como empezar?
« Respuesta #5 en: 09 de Julio de 2008, 10:22:11 »
Masacre, bienvenido al foro!
Toda esa información la consigues en este mismo subforo.
Aquí en este hilo hay un índice que te puede ser muy útil:
http://www.todopic.com.ar/foros/index.php?topic=14634.0
Te recomiendo el "Microcursillo en C" para CCS o el "C18 desde cero"... seguro te ayudarán muchísimo.
Ok saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: MPLAB ¿Como empezar?
« Respuesta #6 en: 09 de Julio de 2008, 11:00:43 »
Además de lo que te recomienda firepic, que es un buen consejo, te adjunto dos archivos relacionados con el CCS

Aclaro que hace rato que lo tengo en la PC y no se de dónde lo saqué. Si el creador de los siguiente ficheros se siente ofendido por no haberle pedido permiso antes de publicarlo, no tiene más que pedirle a algún moderador de este subforo, que lo saque. El mismo lo puede hacer en forma privada.

Desde ya, muchas gracias si lo dejan compartir.

http://www.mediafire.com/?emdzdbwmnuj

http://www.mediafire.com/?tutgns4byzb
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado masacre

  • PIC10
  • *
  • Mensajes: 9
Re: MPLAB ¿Como empezar?
« Respuesta #7 en: 10 de Julio de 2008, 03:21:22 »
Muchas gracias por la información   :), voy a echarle un ojo y os cuento.
1+1= 10.

Desconectado masacre

  • PIC10
  • *
  • Mensajes: 9
Re: MPLAB ¿Como empezar?
« Respuesta #8 en: 10 de Julio de 2008, 09:38:02 »
Bueno mas o menos ya voy haciendo algo  :) :) ¿Que os parece?

Código: [Seleccionar]
#include <p18f4620.h>
#include <delays.h>

#define ON 1
#define OFF 0

#define LEDROJO LATEbits.LATE0
#define LEDAMARILLO LATEbits.LATE1
#define LEDVERDE LATEbits.LATE2
#define PULSADOR1 PORTDbits.RD2
#define PULSADOR2 PORTDbits.RD3
#define PULSADOR3 PORTDbits.RD4



void main (void)

{
TRISD = 0b00011111;
TRISE = 0b00000000;
OSCCON = 0b01111100;
OSCTUNEbits.PLLEN = 1;


while(1)
{
if (PULSADOR1==0)
{
LEDROJO = ON;
LEDAMARILLO = OFF;
LEDVERDE = OFF;
}
else if (PULSADOR2==0)
{
LEDROJO = OFF;
LEDAMARILLO = ON;
LEDVERDE = OFF;
}
else if (PULSADOR3==0)
{
LEDROJO = OFF;
LEDAMARILLO = OFF;
LEDVERDE = ON;
}
else
{
LEDROJO = ON;
Delay10KTCYx(250);
LEDROJO = OFF;
Delay10KTCYx(250);
LEDAMARILLO = ON;
LEDVERDE = ON;
}
}
}


Después de buscar mucho y probar más aun, me he quedado atacado. Tengo el siguiente problema con el LCD y es que en vez de mostrarme el texto que quiero me salen unos caracteres extraños. ¿Por que sale eso así?
Código: [Seleccionar]
#include <p18f4620.h>
#include <xlcd.h>
#include <delays.h>

unsigned char BusyXLCD( void );
void main (void)
{
Delay10KTCYx (200);
OpenXLCD (EIGHT_BIT & LINES_5X7);
WriteCmdXLCD( CURSOR_OFF );
putrsXLCD(" 546 ");
}

//RUTINAS TIMER DISPLAY
void DelayFor18TCY (void) //rutina de inicio de LCD
{
Nop();
Nop();
  Nop();
Nop();
    Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
Nop();
}

void DelayPORXLCD (void) //rutina de inicio de LCD
{
Delay10KTCYx (12); //15 ms 60
return;

}

void DelayXLCD (void) //rutina de inicio de LCD
{
Delay10KTCYx (4); //5 ms 20
return;
}


« Última modificación: 14 de Julio de 2008, 03:21:59 por masacre »
1+1= 10.