Muy buenas!
Soy un principiante en esto de la programación de los PICs, y estoy teniendo algunos problemas...La cuestión es que no consigo que me tenga en cuenta las entradas que yo le introduzco, es decir, da igual cual sea la entrada, que la salida siempre será la misma.
Aquí os dejo el código por si alguien quiere echarle un vistazo:
#include <16f876a.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz
#use fast_io(b)
//#use fast_io(a)
#byte port_b=0x06
///PROGRAMA
void main(void)
{
set_tris_b(0xF0); //portb como salida(RB0,las demas desactivadas)
port_b=0;
// set_tris_a(0xFF);
disable_interrupts(GLOBAL); //todas las interrupciones desactivadas
output_low(PIN_B2);
delay_ms(1000);
do {
output_high(PIN_B1); //Led on
if (input(PIN_B4)){
output_high(PIN_B2);
}
else{
output_low(PIN_B2); //Led off
}
delay_ms(300);
output_low(PIN_B1);
delay_ms(300);
} while(1);
//bucle infinito
Muchas gracias!
Soy un principiante en esto de la programación de los PICs, y estoy teniendo algunos problemas...La cuestión es que no consigo que me tenga en cuenta las entradas que yo le introduzco, es decir, da igual cual sea la entrada, que la salida siempre será la misma.
Aquí os dejo el código por si alguien quiere echarle un vistazo:
#include <16f876a.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz
#use fast_io(b)
//#use fast_io(a)
#byte port_b=0x06
///PROGRAMA
void main(void)
{
set_tris_b(0xF0); //portb como salida(RB0,las demas desactivadas)
port_b=0;
// set_tris_a(0xFF);
disable_interrupts(GLOBAL); //todas las interrupciones desactivadas
output_low(PIN_B2);
delay_ms(1000);
do {
output_high(PIN_B1); //Led on
if (input(PIN_B4)){
output_high(PIN_B2);
}
else{
output_low(PIN_B2); //Led off
}
delay_ms(300);
output_low(PIN_B1);
delay_ms(300);
} while(1);
//bucle infinito
Muchas gracias!