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í
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:

Stránka 1.pokud by nefungoval odkaz na stránce, rutinu naleznete zde
Stránka 2.pokud by nefungoval odkaz na stránce, rutinu naleznete zde

Tyto dvě cizí rutiny jsem ovšem netestoval, proto nevím, zda fungují. V případě problémů jsou v jejich zdrojových kódech uvedeni autoři.



Ke stažení jsou tyto soubory:

Velikost 28 kByte  Schéma testovacího zapojení (*.jpg) a zdrojový kód mojí rutiny

Vytisknout stránku

Zpátky Zpátky
© DH servis 2002 -