Poniżej nieco przerobiony Twój kod z funkcjonalnością jakiej oczekujesz.
Dodana zmienna "blokada" - przy takiej obsłudze przycisku jak miałeś, to przy pojedynczym naciśnięciu to licznik naciśnięć mógłby nabić nawet kilka przyciśnięć więc dodałem blokadę, która powoduje, że przy jednym nawet długim przyciśnięciu zostanie naliczony 1 impuls.
Natomiast w funkcji "button_do" dodałem licznikową zwłokę wyświetlania wyniku 5000ms po czym diody z wynikiem zgasną i układ czeka na kolejne naciśnięcia. Zwłoka na wyświetlanie nie blokuje działania programu.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.