Como entender una programación del software PIC C Compiler?

Hola bueno me han pasado la sig programacion y no le entiendo mucho si hubiera alguien que me la pudiera explicar linea por linea se los agradeceria...:)

#include<16F883.h>
#fuses INTRC_IO,NOMCLR,NOWDT,NOPROTECT,PUT,NOLVP,NOBROWNOUT
#use delay(clock=8000000)

#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
#use fast_io(E)

#byte PUERTO_A=0x05
#byte PUERTO_B=0x06
#byte PUERTO_C=0x07
#byte PUERTO_E=0x09

#bit RA0=0x05.0
#bit RA1=0x05.1
#bit RA2=0x05.2
#bit RA3=0x05.3
#bit RA4=0x05.4
#bit RA5=0x05.5
#bit RA6=0x05.6
#bit RA7=0x05.7

#bit RBO=0x06.0
#bit RB1=0x06.1
#bit RB2=0x06.2
#bit RB3=0x06.3
#bit RB4=0x06.4
#bit RB5=0x06.5
#bit RB6=0x06.6
#bit RB7=0x06.7

#bit RC0=0x07.0
#bit RC1=0x07.1
#bit RC2=0x07.2
#bit RC3=0x07.3
#bit RC4=0x07.4
#bit RC5=0x07.5
#bit RC6=0x07.6
#bit RC7=0x07.7

int16 Velocidad=0;
int16 i=0;
int16 Tiempo=0;

int Bandera_1=0;
int Bandera_2=0;
int En_stop=1;

void inicializar(void)
{
setup_adc(ADC_CLOCK_INTERNAL);
setup_port_a(sAN0);
set_adc_channel(0);

set_tris_a(0b11111111);
set_tris_b(0b00000000);
set_tris_c(0b11100011);

PUERTO_B=0;
RC3=0;
RC4=0;

setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_4,255,1);
set_pwm1_duty(0);

}
void Rampa(void)
{
Velocidad=read_adc();

if(Velocidad>0)
{
Tiempo=3000/Velocidad;
}

for(i=0;i<Velocidad;i++)
{
set_pwm1_duty(i<<2);
PUERTO_B=i;
delay_ms(Tiempo);
}
}

void Stop(void)
{
set_pwm1_duty(0);
RC3=0;
RC4=0;
En_Stop=1;
PUERTO_B=0;
}

//Rutina Principal
void main (void)
{
inicializar();
while (TRUE)
{
if ((RC0==1)&&(Bandera_1==0))
{
Bandera_1=1;
if((En_Stop==11)||(En_Stop==1))
{
En_Stop=10;
RC3=1;
RC4=0;
Rampa();
}
else
{
Stop();
}
}
else
{
if(RC0==0)
{
Bandera_1=0;
delay_ms(100);
}
}
if ((RC1==1)&&(Bandera_2==0))
{
Bandera_2=1;
if((En_Stop==10)||(En_Stop==1))
{
En_Stop=11;
RC3=0;
RC4=1;
Rampa();
}
else
{
Stop();
}
}
else
{
if(RC1==0)
{
Bandera_2=0;
delay_ms(100);
}
}

}//Fin del While
}//Fin del Mai
 
Sabés algo de C?, además no especificaste para que es el programa, es más fácil para entender.

Te puedo recomendar un libro, es muy breve y está dedicado especialmente a el compilador CCS (Es el que estás usando) y Proteus. Es el siguiente:

http://www.agapea.com/libros/COMPIL...-MICROCONTROLADORES-PIC-isbn-8426714293-i.htm

Si tenés la posibilidad de comprarlo, hacelo sin dudar, vas a entender el código fácilmente.. (Anda dando vueltas por ahi ;))

Saludos!
 
Atrás
Arriba