no to sporo wyjaśnia - choć przydałby się jeszcze schemat - ale i bez niego:
jak widać sterujesz diody LED i wyświetlacze prockiem. Pojedyńcze diody LED te po prawej prawdopodobnie bezpośrednio z pinów procka (brak schematu to zgaduję) - to wszystko powoduje, że zasilanie w czasie zarówno multipleksowania wyświetlaczy LED jak i przy zapalaniu diod LED - mocno jest zakłócane.
Jakbyś miał oscyla - to mógłbyś sobie zobaczyć jak wygląda przebieg poziomu wysokiego na portach - gwarantuję że byś się srogo zdziwił na widok panującej tam sieczki
aby temu zapobiedz właśnie stosuje się kondensatory elektrolityczne jak najbliżej nóżek zasilania - ważny tu jest też bardzo elektrolit przy tych nogach i to może być ze 100uF - skoro procek zapala tyle LEDów - czyli odbiorników, pożeraczy prądu
po dodaniu elektrolitu - nawet tak na próbę od spodu płytki bezpośrednio do pinów VCC i GND plus ten 100nF - od razu spowoduje wygładzenie poziomu napięcia stanu wysokiego i wydajności prądowej procka - to podstawa.
poza tym widzę, że masz ileś tam switchy - klawiszy - więc wykorzystujesz wejścia procesora i dobrze - ale nie widać aby one miały Pullup'y do VCC - czyli zewnętrzne rezystory. A w takim razie czy zastosowałeś wewnętrzne programowe podciągnięcie tych wejść do VCC ????? .... jeśli nie - to masz ANTENY (ściezki do klawiszy) łapiące z powietrza całe paskudztwo elektromagnetyczne które otacza procek. (tak więc włącz programowe chociaz pullupy)
.... dlaczego do tego wszystkiego jeszcze rezystor 10k podciągający RESET do VCC - chyba już nawet nie powinieneś pytać

.... wprawdzie pin RESET ma włączone na stałe podciąganie wewnętrzne ale ono bywa niewystarczające - szczególnie w środowiskach gdzie jest sporo zakłóceń. Wtedy zalecane jest dołożenie rezystora 10K - napisane jest o tym także w notach ATMEL'a. Generalnie tak jak nie ma co żałować kasy na kondensatory 100nF przy każdej nodze scalaka tak samo nie ma co żałować rezystora 10k do resetu.