Hola
Senores, soy nuevo en esto de los pics, compre el 18f2550, ahora lo que estoy aciendo es un programa rotacional que cambiara de jiro al leer un bit del puerto b, PORTB.F0, siendo 0 rota a la derecha, siendo 1(5v) rota a la izquierda, total que cuando lo debuggeo en el mikro C si funciona, pero en la practica el puerto no recoge el 1 en el PORTB.F0
La manera de como genero el 0 o el 1, es con una resistencia de 4.7k en serie a un pushboton normalmente abierto que va a tierra, osea que cuando se pone push botton cerrado el voltaje en PORTB.F0 es 0 asi rota de una forma y de lo contrario rota de la otra, que puede estar mal ???
void main()
{
TRISA=0X00; //como salidas
TRISB=0XFF; //como entradas
while(1) //siclo infinito
{
int=sapo;
sapo=PORTB.F0;
if(sapo==0xFF) //evaluamos si el bit 0 de el puerto b como entrada esta en 0, si es asi se ejecuta el while
{
//rota a la izquierda
PORTA=1; //0000 0001
Delay_ms(20);
PORTA=2; //0000 0010
Delay_ms(20);
PORTA=4; //0000 0100
Delay_ms(20);
PORTA=8; //0000 1000
Delay_ms(20);
PORTA=16; //0001 0000
Delay_ms(20);
PORTA=32; //0010 0000
Delay_ms(20);
}
if(sapo==0x00) //si la patita 1 del puerto b es 1(5v) ahar rota ala derecha
{
//rota a la derecha
PORTA=32; //0010 0000
Delay_ms(20);
PORTA=16; //0001 0000
Delay_ms(20);
PORTA=8; //0000 1000
Delay_ms(20);
PORTA=4; //0000 0100
Delay_ms(20);
PORTA=2; //0000 0010
Delay_ms(20);
PORTA=1; //0000 0001
Delay_ms(20);
}
}
}