Requirements: Using microcontroller 16F887 to count external pulses using T0, counting results displayed on 3 leds directly connected to 3 ports, counting limit from 000 to 255, when equal to 255, return to 0 Circuit diagram on Proteus simulation software: Figure 1. Counting external pulses using counter T0 Main program : Use PIC16F887 to count external pulses using T0.c ________________ #INCLUDE<TV_16F887.C> UNSIGNED INT8 T0, MATRAM, MACHUC; VOID MAIN() { SET_TRIS_B(0x00); SET_TRIS_C(0x00); SET_TRIS_D(0x00); SETUP_TIMER_0(T0_EXT_L_TO_H | T0_DIV_1); SET_TIMER0(0); WHILE(TRUE) { T0=GET_TIMER0(); MATRAM=MA7DOAN[T0/100]; MACHUC=MA7DOAN[T0/10%10]; IF (MATRAM==0XC0) { MATRAM=0XFF; IF (MACHUC==0XC0) MACHUC=0XFF; } OUTPUT_B(MA7DOAN[T0%10]); OUTPUT_D(MACHUC); OUTPUT_C(MATRAM); } } ________________ TV_16F887.c Library: TV_16F887.c ________________ #INCLUDE <16F887.H> #FUSES NOWDT,PUT,HS,NOPROTECT,NO