Musíš si na neznámém mikrokontroléru nastavit PULL-UP rezistory pro porty, na kterých je tlačítko /tlačítka proti zemi, pokud se nejedná o matici tlačítek/ a pak už jen testuješ v nějakém čase /třeba přes přerušení časovačem nebo jen v průběhu programu voláš funkci na testování tlačítek/ stav na portech, kde jsou tlačítka připojena. Pokud tlačítko stisklé není, je tam log. 1 /z PULL-UP rezistoru/, pokud stisklé je, je tam log. 0. Ještě doporučuji udělat ochranu proti zákmitům na tlačítkách, jinak si to dělá co chce ...