#include <16f877a.h>
#fuses xt,nowdt
#use delay(clock=4000000)
//Declaracion de variables globales
#define LED pin_b0//Nombra a pin_b0 como Led
#define LED1 pin_b1
//#define Retardo delay_ms(500)//Nombra a delay_ms() como Retardo
void main(void)
{
set_tris_a(0b11111111);
set_tris_b(0b00000000);
//////////////////////////////////////////
while(true)
{
if(input(pin_A1)==1)
{
delay_ms(30);
if(input(pin_A1)==1)
{
output_toggle(LED);
while(input(pin_A1)==1);
//////////////////////////////////////////
if (input(pin_A2)==1)
{
delay_ms(30);
if (input(pin_A2)==1)
{
output_toggle(LED1);
while(input(pin_A2)==1);
//////////////////////////////////////////
}
}
}
}
}
}Bienvenido judio :mrgreen:
Mira en el foro hay mucha informacion sobre la programacion en ccs, ademas aqui (http://www.youtube.com/watch?v=50I_-GGpPeU) podras encontrar cientos de video tutoriales de C y ccs :mrgreen:
Te voy a recomendar este (http://www.alfaomega.com.mx/interiorProducto.php?seccion_product_id=4989) libro que esta bien para iniciarse! ademas en internet hay mucho material.
Saludos
Hola y bienvenido al foro!!! he modificado tu codigo para que funcione de la manera correcta.
y aqui te dejo un video que he grabado para que veas que funciona.... (Lo he probado con otro pic pero en el 16f877a va igual ;)) si de verdad te gusta este mundo aprende, lee y cuando tengas una duda pregunta. Habrá mucha gente que te quiera ayudar pero tienes que tener interes en ello. Lo que yo he hecho hoy contigo es raro que se vea en el foro con neofitos como tu, pero espero que este empujoncito te ayude a seguir con los PIC con ilusión. Un saludo!!! :mrgreen:
#include <16f877a.h>
#fuses xt,nowdt
#use delay(clock=4000000)
//Declaracion de variables globales
#DEFINE retardo 250 // Retardo de 250ms
void main(void)
{
set_tris_a(0b00001110);
set_tris_b(0b11111110);
///////////////////////////////////////////////////////////////////////////////////////////////////
while(true)
{
///////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////// BLOQUE PARA CISTERNA /////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
if(((input(PIN_A1) == 0) && (input(PIN_A2)==0)) && (input(PIN_A3)==1)) // ES A1 = A2?
output_high(pin_b0); // ENCIENDE BOMBA PORQE LA CISTERNA ESTA LLENA 3/3
else if(((input(PIN_A1) == 1) && (input(PIN_A2) ==0)) && (input(PIN_A3)==1))
output_high(pin_b0); // ENCIENDE BOMBA PORQE LA CISTERNA TIENE 2/3
else if(((input(PIN_A1) == 1) && (input(PIN_A2) ==1)) && (input(PIN_A3)==1))
output_high(pin_b0); // ENCIENDE BOMBA PORQE LA CISTERNA TIENE 2/3 AUNQUE A NADA DE LLEGAR A 1/3
else if(((input(PIN_A1) == 1) && (input(PIN_A2) ==1)) && (input(PIN_A3)==0))
output_low(pin_b0); // APAGA BOMBA PORQUE LA CISTERNA LLEGO A 1/3 DE NIVEL DE AGUA
//
// SE SUPONE QUE ESTE CODIGO QUE ESTA EN LOS COMENTARIOS DE ABAJO DEBERIA HACER LO MISMO QUE EL CODIGO DE ARRIBA
// if ((input(PIN_A1)==1) && (input(PIN_A2)==1) && (input(PIN_A3)==0))
// output_low(pin_b0);
// else
// output_high(pin_b0);
///////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////// BLOQUE PARA TINACO ///////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////
if(((input(PIN_E0) == 0) && (input(PIN_E1)==0)) && (input(PIN_E2)==1))
output_high(pin_b1);
else if(((input(PIN_E0) == 1) && (input(PIN_E1) ==0)) && (input(PIN_E2)==1))
output_high(pin_b1);
else if(((input(PIN_E0) == 1) && (input(PIN_E1) ==1)) && (input(PIN_E2)==1))
output_high(pin_b1);
else if(((input(PIN_E0) == 1) && (input(PIN_E1) ==1)) && (input(PIN_E2)==0))
output_low(pin_b1);
///////////////////////////////////////////////////////////////////////////////////////////////////
}
}