TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: carlos5820 en 14 de Enero de 2013, 11:54:47
-
hola alguien me puede ayudar a programar pic 16f84a
como programar pic 16f84a pues no se de programacion
tiene conectados dos pulsadores en RB0,RB1
Siempre que se activa 1 vez RB0------------------RB4 enciende el led (destella ) 1 vez durante 1 sg
Siempre que se activa 1 vez RB1------------------RB4 enciende el led (destella) 2 veces de la siguiente manera: ON 1sg OFF 4sg ON 1sg
Y CUAL SERIA EL CIRCUITO ADECUADO Y LOS COMPONENTES ELECTRÓNICOS QUE LLEVARIA
ESTE DISEÑO
-
Hola, bienvenido al foro ;-)
Te diria que arranques viendo estos links
Iniciación a los PIC: lo imprescindible para comenzar (http://www.todopic.com.ar/foros/index.php?topic=13320.0)
Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A (http://www.todopic.com.ar/foros/index.php?topic=24720.0)
-
A mayores de lo que te han dicho, aprende a programar en C que es más sencillo y potente que el asembler y usa los tutoriales del foro para aprender a utilizarlo en un PIC.
-
Es muy subjetivo ;-)
Yo creo que el 16f84 es el micro para aprender todo, hay mucho en la web dando vueltas sobre este uc.
Y creo que es el indicado para iniciarse.
Si lo que quieres es iniciarte en micros te diria que empieces viendo de programar el ASM, al menos algunos programas así ya sabes como es el lenguaje nativo de los micros.
Y luego si puedes pasarte al C, pero de entrada empezaria con ASM ;-)
-
Antes de nada, creo que no deberías intentar programar el PIC16F84A. Es un chip obsoleto que cuesta mucho más que otros más avanzados.
Hay modelos como el PIC16F628A que tienen más capacidades, son más baratos y son compatibles pin a pin con el PIC16F84A.
Why the PIC 16F84 is now obsolete (http://www.finitesite.com/d3jsys/16F628.html)
Saludos.
-
Amigo aquí te daré un código para que lo utilices en lenguaje C de Mikro C, es mucho más fácil que el lenguaje Ensamblador.
//Mi página web aquí te la dejo: http://tecno-ingenia.com/
char estado1=1, estado2=1; //Variables
void main(){ //Abre el ciclo principal
portb=0; //Coloca todo los puertos B del pic en estado off
trisb=0b00000011; //Coloca el puerto B0 y B1 como entrada y los demás como salida
while(1){ //Bucle "Infinito"
if (Button(&PORTB,0,1,0)) estado1=0; //Si se pulsa el botón B0.
if (estado1==0 && Button(&PORTB,0,1,1)){ //Cuando se libera el botón en B0
portb.f4=1; //Enciende el led ubicado en el puerto B4
delay_ms(1000); //Espera 1 segundo
portb.f4=0; //Apaga el led ubicado en el puerto B4
estado2=1; //Se sale del ciclo
} //Fin del ciclo
if (Button(&PORTB,1,1,0)) estado2=0; //Si se pulsa el botón B1.
if (estado2==0 && Button(&PORTB,1,1,1)){ //Cuando se libera el botón en B1
portb.f4=1;
delay_ms(1000);
portb.f4=0;
delay_ms(4000); //Espera 4 segundos
portb.f4=1;
delay_ms(1000);
portb.f4=0;
estado2=1;
}
} //Cierra el ciclo "Infinito"
} //Cierra el ciclo principal
Visítame en mi página web para conseguir más circuitos y proyectos.
http://tecno-ingenia.com (http://tecno-ingenia.com)
-
Un compilador de C sencillo y gratuito es el CC5X:
http://www.bknd.com/cc5x
Saludos.