TODOPIC

Microcontroladores PIC => dsPIC => Mensaje iniciado por: Goodfrey en 08 de Febrero de 2012, 15:23:30

Título: dsPIC30F4013 + CCS Encendido de Led
Publicado por: Goodfrey en 08 de Febrero de 2012, 15:23:30
Hola Amigos estoy empezando con este nuevo lenguaje y con el dsPIC30F4013 quisiera saber si alguien me puede orientar a como se maneja este dispositivo haciendo el uso del Compilador CCS, estoy algo confundido con el manejo de los puertos, Ya que el PORTB tiene hasta RB12 y no he manejado registros mayores a 8 bits...

Por eso quisiera que me ayudaran mas o menos a por lo menos encender un led y guiarme por hay para empezar a practicar con ese dispositivo espero de su ayuda...

Código: [Seleccionar]

#include <30F4013.h>

#device adc=10
// #include <math.h>

#FUSES XT_PLL16                  //Cristal Oscilador con PLL 16X
#FUSES NOPUT                     //No Power Up Timer
#FUSES NOBROWNOUT                //No brownout reset
#FUSES NOPROTECT                 //Codigo No Protegido de lectura
#FUSES NOWDT                     //No Watch Dog         
#FUSES MCLR                      //Master Clear Habilitado

#define LED   PIN_B0   // output

void main()
{
   set_tris_b(0b00000000);

}

Título: Re: dsPIC30F4013 + CCS Encendido de Led
Publicado por: agauss en 17 de Mayo de 2012, 00:33:53
Hola Goodfrey, en la plantilla de programa que muestras tan solo estas configurando el puerto para ser usado como salida (todo el puerto B), falta colocar el comando que hace activar alguno de los pines de este puerto. Algo muy sencillo con un cristal de 4Mhz y sin usar el PLL y que haria solamente hacer destellar un LED colocado sobre el BIT0 de este puerto RB0 seria algo como esto:

Código: [Seleccionar]
#include <30F4013.h>
#fuses XT,PUT,NOBROWNOUT,NOPROTECT,NOWDT,MCLR
#use delay(clock=4000000)

void main(void)
{
   set_tris_b(0xFFFE);

   while(TRUE)
   {
      output_toggle(B0);
      delay_ms(500);
   }
}

Espero haberte sido de ayuda. Saludos...