Pro vážnější práci s jednočipovým procesorem (například ve spojení s displejem zobrazujícím menu) je třeba získávat od uživatele vstupní hodnoty i jinak, než jen pouhým stiskem ovládacích tlačítek. Tímto vstupem může být klávesnice. Protože není myslitelné připojovat každé tlačítko zvlášť na jeden bit portu vzhledem k nutnosti šetření jednotlivými piny, je nutno k zapojení klávesnice přistoupit poněkud jinak. Většinou se používá t.zv. maticové zapojení klávesnice (troufám si říci "notoricky" známé). V principu se zapojí tlačítka (např. tak, jako je na schématu) do matice řádek a sloupců. Vlastní snímání pak probíhá tak, že přivedeme-li například pouze na jeden řádek úroveň log.0, potom přečtením všech sloupců snadno zjistíme, která tlačítka v daném řádku jsou zmáčknuta. Postupným výběrem všech řádků snadno zjistíme všechna stisknutá tlačítka na klávesnici. Používáme-li bránu P0 jako vstupní nebo výstupní, musíme ji doplnit kolektorovými odpory vůči napájení (tzv. pull-up odpory).
Schéma testovacího zapojení
Uvedené testovací zapojení slouží spíše jako ilustrační příklad, jak provést základní zapojení, kdy program v procesoru "nemá nic jiného na starosti" než testovat
jednotlivé řádky a sloupce a zjišťovat případnou stisknutou klávesu. Kód klávesy je pak převeden na ASCII znak a vyslán sériovou linkou (rychlost 19200Bd, 8 bitů, bez parity, 1 stop bit). Pro otestování (připojení k PC a zobrazení dat nějakým terminálem) je
samozřejmě nutno převést úrovně linky RS232 (např. tímto převodníkem).
Praktické použití této klávesmice (resp. této rutiny) můžete nalézt u konstrukce Zařízení pro adresovatelné přehrávání zvukových záznamů.
Rutina v mikroprocesoru je velmi jednoduchá, a není v ní ošetřeno stisknutí více tlačítek (např. funkce SHIFT).
Pak by bylo nutno použít rutiny jiných autorů, které je možno najít na internetu např. na HW serveru: