contador

ola pessoal,
estou com uma duvida, preciso fazer contagem com microcontrolador, ao todo vai ter 4 sensores vou precisar contar os pulso ai fiz o codigo abaixo para contar fiz apenas com duas portas para teste, o contador armazena a contagem em uma unica variavel, porem o codigo está com bug, alguem poderia analisar o codigo e dizer se estou fazendo da maneira correta.
obrigado a todos
estou com uma duvida, preciso fazer contagem com microcontrolador, ao todo vai ter 4 sensores vou precisar contar os pulso ai fiz o codigo abaixo para contar fiz apenas com duas portas para teste, o contador armazena a contagem em uma unica variavel, porem o codigo está com bug, alguem poderia analisar o codigo e dizer se estou fazendo da maneira correta.
obrigado a todos
- Código: Selecionar todos
// LCD module connections
sbit LCD_RS at RB5_bit;
sbit LCD_EN at RB4_bit;
sbit LCD_D4 at RB3_bit;
sbit LCD_D5 at RB2_bit;
sbit LCD_D6 at RB1_bit;
sbit LCD_D7 at RB0_bit;
sbit LCD_RS_Direction at TRISB5_bit;
sbit LCD_EN_Direction at TRISB4_bit;
sbit LCD_D4_Direction at TRISB3_bit;
sbit LCD_D5_Direction at TRISB2_bit;
sbit LCD_D6_Direction at TRISB1_bit;
sbit LCD_D7_Direction at TRISB0_bit;
// End LCD module connections
int estado=0;
int estado1=0;
int teste = 0;
int teste1 = 0;
char to_LCD[6];
char to_LCD1[6];
void PWM(){
PWM2_Start();
PWM2_Init(35000);
PWM2_Set_Duty(127);
}
void main() {
trisc.rc0 = 1;
trise.re0 = 1;
PWM();
LCD_Init();
LCD_Out(1, 1, "Entrada");
LCD_Out(2, 1, "Saida");
Lcd_Cmd(_LCD_CURSOR_OFF);
while(1) {
if (portc.rc0 == 1){
teste++;
intToStr(teste, to_LCD);
LCD_Out(1, 9, to_LCD);
//delay_ms(100);
while(portc.rc0 == 1);
}
if (porte.re0 == 1){
teste1++;
intToStr(teste1, to_LCD1);
LCD_Out(2, 9, to_LCD1);
while(porte.re0 == 1);
}
}
}