buenas estoy tratando hacer un programa el cual al contrar 20 pulsos por el pin RA4 me desactive el puerto B por un tiempo. este es el codigo que llevo hasta el momento, muchas gracias por la ayuda
...
Código:
void main( void ){
char TEST = 20; // Constante TEST = 20
//Configuración de puertos.
OSCCON = 0b01110110; //Oscilador interno a 4MHz
ANSEL = 0; //Configura portA como digital
ANSELH = 0; //configura los demas puertos como digitales
TRISA = 0xFF; // PORTA is input
TRISB = 0x00; // PORTb is out
TRISC = 0xFF; // PORTC is input
TRISD = 0xFF; // PORTD is input
TRISE = 0xFF; // PORTE is input
PORTA = 0;
PORTB = 0;
PORTC = 0;
PORTD = 0;
PORTE = 0;
OPTION_REG = 0; //Activación de las resistencias PULL-UP del puerto B.
OPTION_REG.F5 = 1; // Contador TMR0 recibe los pulsos por el pin RA4
OPTION_REG.F3 = 1; // Valor del pre-escalador 1:1
TMR0 = 0; // Reiniciar el temporizador/contador TMR0
do {
PORTB = 0b00001111;
if (TMR0 == TEST) // ¿Coincide el número en el temporizador con la constante TEST?
PORTB = 0b00000000; // Números coinciden. Poner el RB en cero
Delay_ms(3000); // Tiempo de retardo de 3000mS
}
while (1); // Quedarse en el bucle infinito
}