Rob's web

I/O-zuinig toetsenbord

Fig 1
Fig. 1.

Hobbyisten die zelf regelmatig met micro-controllers in de weer zijn, zullen gegarandeerd wel eens tegen het probleem aangelopen zijn dat een toetsenbordje hoogst noodzakelijk is. Wij geven hier twee schakelingen waarmee het mogelijk is om met behulp van slechts 6 of 7 I/O-lijnen een kompleet toetsenbord te maken.

In figuur 1 is te zien hoe met behulp van een 74HCT148 en een 74HCT138 een toetsenbordje gemaakt is met naar keuze 56 of 64 toetsen. De schakeling uit figuur 2 kan zelfs 72 toetsen adresseren met 7 1/0-lijnen. De keuze voor een van beide schakeling zal vooral afhangen van het aantal beschikbare I/O-lijnen en/of het gewenste aantal toetsen.

Fig 2
Fig. 2.

In beide schakelingen wordt met behulp van drie bits de toetsenrij gekozen. Deze 3 bits staan op de A-, B- en C-ingang van de HCT138. De bitkombinatie op deze ingangen bepaalt welke uitgang (Y0...Y7) van het IC laag wordt. Zolang er geen toets ingedrukt is, zijn de ingangen van de HCT148 (figuur 1) en de HCT147 (figuur 2) hoog. Wordt een toets ingedrukt, dan is in geïnverteerde binaire vorm op de uitgang van deze IC's te lezen welke toets ingedrukt is. De kombinatie van input- en output-bits (die bij elkaar opgeteld kunnen worden) geeft vervolgens aan welke toets ingedrukt is.

Bij de schakeling uit figuur 1 wordt de 0-ingang niet gebruikt omdat de kode die bij deze ingang hoort overeen komt met de kode die opgewekt wordt als geen toets ingedrukt is. De uitgang (pen 14) wordt bij deze schakeling gebruikt om te detekteren of een toets ingedrukt is. Bij een ingedrukte toets is deze uitgang laag. In het schema van figuur 2 geven vier enen op de uitgang aan dat geen toets ingedrukt is.