// PIC16F84A Configuration Bit Settings
// 'C' source line config statements
#include <xc.h>
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (Power-up Timer is disabled)
#pragma config CP = OFF // Code Protection bit (Code protection disabled)
short int contador=0;
short int tabla[10] = { 0b0000000, // Numero 0
0b0000000, // Numero 1
0b0000000, // 2
0b0000000, // 3
0b0000000, // 4
0b0000000, // 5
0b0000000, // 6
0b0000000, // 7
0b0000000, // 8
0b0000000}; // 9
void main() {
// Aca la configuracion de los puertos,TRIS, etc
TRISA = 0xFF; // Puerto A como entradas
TRISB = 0; // Puerto B como salidas
PORTB = tabla[0]; // Que el display comienze con el valor de 0
while(1) // Loop principal
{
if(PORTAbits.RA2) // RA2 en 1?
{
delay_ms(10); // Espero, antirebote
contador++; // Aumento el numero en 1
if(contador==10) { contador=0; } // Si se paso a 10, lo pongo en 0
PORTB = tabla[contador]; // Muestro el valor nuevo
while(PORTAbits.RA2); // Espero que suelte el boton (asi no cuenta varias veces
}
}
}