Hola a todos, estoy haciendo unos programas antes de meterle el programa que en realidad quiero hacer.. para volver a coger el truquillo a esto de los PIC.
El programa es muy sencillo, apaga o enciende un Led segun si el boton esta pulsado o no. Les dejo el codigo:
#include <pic18f4550.h>
#define PORTBIT(adr,bit)((unsigned)(&adr)*8+(bit))
static bit LED @ PORTBIT(PORTA,1);
static bit MCLR @ PORTBIT(PORTE,3);
static bit polsador @ PORTBIT(PORTB,3);
void main(void)
{
PORTA=0; // RESET A TODOS LOS PINES DE PORTA
TRISA=0xFD; // Ponemos como salida(0) el bit de RA1(donde va conectado el LED)
PORTB=0; //RESET A TODOS LOS PINES DE PORTAB
TRISB=0x08; //Ponemos como entrada(1) el bit RB3(donde va el pulsador)
while(1){
if(polsador==0) // si no esta pulsado, led encendido
LED=1;
else // si esta pulsado, led apagado.
LED=0;
}
}
A ver si ustedes ven lo que ocurre. El programa lo simulo en proteus en la placa de pic que tengo (18f4550). El led se enciende a la perfeccion pero cuando le doy al pulsador no consigo apagarlo.
Les agradeceria mucho que me ayuden. Gracias de antemano.