necesito hacer un gran proyecto que tiene un gran programa, y me gustaria saber como tengo que hacer para poder conseguir que si toco un pulsador de la interrupcion RB4 por ejemplo me salga un 1 para que se encienda un led por otro puerto.
este es el codigo que llevo yo hecho me podrian decir como modificarlo para poder conseguir tal fin.
#include "16f877.h"
#byte pb=6
#byte pa=5
//#byte pc=7
#byte pd=8
#use delay(clock=4m) //OJOOOOO PONER ANTES ESTE COMANDO PARA EL LCD
#include "mipant4bit.c"
#int_rb
int lectura();
int conta=0;
int pb1;
void main()
{
set_tris_d(0);
pb=0;
pd=0;
set_tris_b(0b11110000);
switch (lectura)
{
case 0b00010000:
pd= (0b11111111);
break;
case 0b00100000:
pd= (0b01010101);
break;
case 0b01000000:
pd= (0b10101010);
break;
case 0b10000000:
pd= (0b10000111);
break;
}
enable_interrupts(global);
enable_interrupts(int_rb);
}
//-------------------------------------------------------------------------
//---------------------lectura de las teclas-----------------------------
int teclas()
{
int pb1=0;//variable dnd guardamos lo q hay en pb una vez sepamos que hay un 1 en cualquier entrada
int lectura;//guardamos lo que hay en pb
lectura=input_b();
delay_ms(20);
if(!bit_test(lectura,4)) bit_set(pb1,4);//si el bit0=1 se guarda en pb=0
else if(!bit_test(lectura,5)) bit_set(pb1,5);//si el bit2=1 se guarda en pb=0
else if(!bit_test(lectura,6)) bit_set(pb1,6);//si el bit2=1 se guarda en pb=0
else if(!bit_test(lectura,7)) bit_set(pb1,7);//si el bit3=1 se guarda en pb=0
//hacmos un bucle para estar siempre mirando si se tocan los botones
while(input_b()==lectura&&conta<200)
{
delay_ms(20);
conta++;
}
return pb1;//devolvemos lo guardado en la variable pb1
}