#include <16F877A.h> #use delay(clock=4000000) #use rs232 (baud = 4800, xmit=PIN_C6, rcv=PIN_C7) int velocidade; int angulo ; int i; int r; int c; void main() { setup_adc_ports (RA0_analog); setup_adc (adc_clock_internal); set_adc_channel (0); setup_timer_0 (RTCC_EXT_L_TO_H | RTCC_DIV_1); setup_timer_1 (RTCC_EXT_L_TO_H | RTCC_DIV_1); output_low (PIN_B3); // garantir que o sinal de podes ler esta a zero while (true) { set_timer0 (0); output_high (PIN_B0); delay_ms(4500); velocidade= get_timer0(); output_low(PIN_B0); angulo = read_adc(); delay_ms(500); if (bit_test(input_b(),1)) //pedido de interrupção { set_timer1 (0); //RESET TIMER 1 for (i=0; i<8 ; i++) { r= bit_test(velocidade,i); if (r) output_high(PIN_D7); if (!r) output_low(PIN_D7); output_high (PIN_B3); //envio do sinal podes ler @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // here is my but i9 got a clock o pin b7 i have a clock to increase //timer 1 but its in a infinite loop do { output_high (PIN_B7); output_low(PIN_B7); c=get_timer1(); }while (i<=c); @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //delay_ms(2000); }; //finalização output_low (PIN_B3); // reset do podes ler };