DE4135278A1 - Verfahren und schaltkreis zum abtasten von tasten fuer ein mikrocomputersystem - Google Patents
Verfahren und schaltkreis zum abtasten von tasten fuer ein mikrocomputersystemInfo
- Publication number
- DE4135278A1 DE4135278A1 DE4135278A DE4135278A DE4135278A1 DE 4135278 A1 DE4135278 A1 DE 4135278A1 DE 4135278 A DE4135278 A DE 4135278A DE 4135278 A DE4135278 A DE 4135278A DE 4135278 A1 DE4135278 A1 DE 4135278A1
- Authority
- DE
- Germany
- Prior art keywords
- channel
- key
- circuit
- value
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/02—Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M11/00—Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
- H03M11/003—Phantom keys detection and prevention
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Verfahren
und einen Schaltkreis zum Abtasten von Tasten in einem
Mikrocomputersystem unter Verwendung eines zweiseitigen
Kanals und insbesondere auf ein Verfahren und einen
Schaltkreis zum Abtasten von Tasten, um während einer
Tastenabtastoperation einen Schaltungskurzschluß zu
verhindern und eine Tastenüberprüfung und automatische
Systemoperationen mit einer vereinfachten
Schaltkreisstruktur ausführen.
In einem herkömmlichen Schaltkreis zum Abtasten von
Tasten, der in der koreanischen Patentschrift No. 89-2 297
im Namen desselben Anmelders veröffentlicht ist, werden
Signale, die in einem Schaltkreis 3 der Tastenmatrix
festgestellt sind, an die Dateneingangskanäle D0-D2
eines Mikroprozessors 1 durch einen Multiplexer 4 geführt,
wie in Fig. 5 gezeigt ist. In Fig. 5 sind die
Ausgangskanäle P0, P1, P2 und P3 eines Mikroprozessors 1
entsprechend mit den Eingangsanschlüssen a, b, c und d des
Demultiplexers 2 verbunden. Die Impulse der
Ausgangsanschlüsse O-F des Demultiplexers 2 werden
sequentiell an jede Zeilenabtastleitung Y0 bis Y15 des
Matrixschaltkreises 3 geliefert. Danach werden die Daten
der Spaltenabtastleitungen X0 bis X7 des
Matrixschaltkreises 3 an die Eingangsanschlüsse 0-7 des
Multiplexers 4 eingegeben, dessen Ausgänge Q0-Q2 die
Dateneingangskanäle D0-D2 des Mikroprozessors 1 speisen.
Folglich erfordert der herkömmliche Schaltkreis zum
Abtasten von Tasten zusätzlich Schaltkreise, wie z. B. ein
Demultiplexer und ein Datenpuffer und erfordern einen
weiteren Schaltkreis, welcher Dioden enthält, um einen
Kurzschluß an den Kanälen zu überwachen, wenn zwei oder
mehr Tasten simultan gedrückt werden.
Daher ist es ein Ziel der vorliegenden Erfindung, ein
Verfahren und einen Schaltkreis zum Abtasten von Tasten
bereitzustellen, welche eine vereinfachte Verarbeitung der
Eingabeoperation in einem Mikrocomputer erlaubt durch die
Verwendung eines zweiseitigen Kanals, wobei keine Dioden
zur Verhinderung eines Schaltungskurzschlusses
erforderlich sind und eine Tastenüberwachung und
automatische Anschaltung des Systems mit einem
vereinfachten Schaltkreis erfolgt.
Um dieses Ziel zu erreichen, wird ein Schaltkreis zum
Abtasten von Tasten in einem Mikrocomputersystem
bereitgestellt, welcher aus einer Tastatur besteht, die
eine mXn Tastenmatrix aufweist und einem Mikrocomputer,
um die Eingabeoperation auf der Tastatur zu erkennen,
wobei der Schaltkreis zum Abtasten von Tasten umfaßt:
einen ersten Kanal, welcher m Zeilensignale direkt empfängt, die von der Tastatur über Zeilenabtastleitungen in den Mikrocomputer geführt sind;
einen ersten Speicher, um den logischen Wert zu speichern, der aus der logischen Multiplikation der M Zeilensignale, welche an den ersten Kanal gespeist werden, mit dem vorangegangenen gespeicherten logischen Wert entsteht;
einen zweiten Kanal, welcher n Spaltensignale direkt empfängt, die von der Tastatur über Spaltenabtastleitungen in den Mikrocomputer geführt sind;
ein Datenrichtungsregister, um jedes Bit von n Einheiten des zweiten Kanals zu setzen, um diesen als einen Eingangs- oder Ausgangskanal zu verwenden;
einen zweiten Speicher, um den logischen Wert zu speichern, der aus der logischen Summation der n Spaltensignale, welche an den zweiten Kanal eingegeben werden, mit den logischen Werten des Datenrichtungsregisters entsteht; und
einen Abschnitt mit pull-up-Widerständen, um einen logischen Referenzwert dem mXn Tastenmatrixschaltkreis zur Verfügung zu stellen.
einen ersten Kanal, welcher m Zeilensignale direkt empfängt, die von der Tastatur über Zeilenabtastleitungen in den Mikrocomputer geführt sind;
einen ersten Speicher, um den logischen Wert zu speichern, der aus der logischen Multiplikation der M Zeilensignale, welche an den ersten Kanal gespeist werden, mit dem vorangegangenen gespeicherten logischen Wert entsteht;
einen zweiten Kanal, welcher n Spaltensignale direkt empfängt, die von der Tastatur über Spaltenabtastleitungen in den Mikrocomputer geführt sind;
ein Datenrichtungsregister, um jedes Bit von n Einheiten des zweiten Kanals zu setzen, um diesen als einen Eingangs- oder Ausgangskanal zu verwenden;
einen zweiten Speicher, um den logischen Wert zu speichern, der aus der logischen Summation der n Spaltensignale, welche an den zweiten Kanal eingegeben werden, mit den logischen Werten des Datenrichtungsregisters entsteht; und
einen Abschnitt mit pull-up-Widerständen, um einen logischen Referenzwert dem mXn Tastenmatrixschaltkreis zur Verfügung zu stellen.
Die Aufgabe wird auch durch ein Verfahren gelöst zum
Abtasten von Tasten in einem Mikrocomputersystem mit einer
Tastatur, welche einen mXn Tastenmatrixschaltkreis
besitzt, einem ersten und zweiten Kanal, um mXn Zeilen und
Spaltensignale zu verarbeiten, einen ersten m-Bit-Speicher
und einem zweiten n-Bit-Speicher, um die logischen Werte
an dem entsprechenden ersten und zweiten Kanal zu
speichern und einem Datenrichtungsregister, welches jedes
Bit des zweiten Kanals setzt, um diesen als einen
Eingangskanal oder Ausgangskanal zu verwenden, wobei das
Verfahren zum Abtasten der Tasten folgende Schritte
beinhaltet:
Initialisieren des Mikrocomputersystems durch die Bereitstellung des ersten Kanals als ein Eingangskanal und die Zuordnung von vorbestimmten logischen Werten dem zweiten Kanal, den ersten und zweiten Speichern und dem Datenrichtungsregister;
Abtasten eines jeden Bits des Datenrichtungsregisters, wenn irgendeine Taste auf der Tastatur, welche einen mXn-Tastenmatrixschaltkreis besitzt, gedrückt wird;
Einspeichern des fortlaufenden logischen Wertes des ersten m-Bit-Speichers logisch multipliziert mit dem fortlaufenden logischen Wert des ersten Kanals, in den ersten Speicher; und
Einspeichern des fortlaufenden logischen Wertes des zweiten n-Bit-Speichers logisch summiert mit dem fortlaufenden logischen Wert des Datenrichtungsregisters, in den zweiten Speicher;
und Wiederholen des Abtastverfahrens, bis das Übertragungsbit des Datenrichtungsregisters eine logische 1 wird;
Feststellen, ob die Anzahl der logischen Nullen der fortlaufenden logischen Werte, welche in den entsprechenden Bits des ersten Speichers gespeichert sind, größer als 1 ist und ob die Anzahl der logischen Einsen der fortlaufenden logischen Werte, welche in den entsprechenden Bits des zweiten Speichers gespeichert sind, größer als 1 sind;
Fortfahren mit einem "Operation Ende"-Schritt, wenn ein Fehler festgestellt wird bei der Überprüfung, ob eine Vielzahl von Tasten gedrückt ist, für den Fall, daß in dem Verfahren zur Feststellung der Anzahl festgestellt worden ist, daß die Anzahl der logischen Einsen oder Nullen größer als 1 ist; und
Verarbeitung der Eingabeoperation durch die Berechnung des bestimmten Wertes der gedrückten Taste nach einer vorgegebenen Formel für den Fall, daß in dem Verfahren zur Feststellung der Anzahl festgestellt worden ist, daß weder die Anzahl der logischen Nullen noch der der Einsen größer als 1 ist.
Initialisieren des Mikrocomputersystems durch die Bereitstellung des ersten Kanals als ein Eingangskanal und die Zuordnung von vorbestimmten logischen Werten dem zweiten Kanal, den ersten und zweiten Speichern und dem Datenrichtungsregister;
Abtasten eines jeden Bits des Datenrichtungsregisters, wenn irgendeine Taste auf der Tastatur, welche einen mXn-Tastenmatrixschaltkreis besitzt, gedrückt wird;
Einspeichern des fortlaufenden logischen Wertes des ersten m-Bit-Speichers logisch multipliziert mit dem fortlaufenden logischen Wert des ersten Kanals, in den ersten Speicher; und
Einspeichern des fortlaufenden logischen Wertes des zweiten n-Bit-Speichers logisch summiert mit dem fortlaufenden logischen Wert des Datenrichtungsregisters, in den zweiten Speicher;
und Wiederholen des Abtastverfahrens, bis das Übertragungsbit des Datenrichtungsregisters eine logische 1 wird;
Feststellen, ob die Anzahl der logischen Nullen der fortlaufenden logischen Werte, welche in den entsprechenden Bits des ersten Speichers gespeichert sind, größer als 1 ist und ob die Anzahl der logischen Einsen der fortlaufenden logischen Werte, welche in den entsprechenden Bits des zweiten Speichers gespeichert sind, größer als 1 sind;
Fortfahren mit einem "Operation Ende"-Schritt, wenn ein Fehler festgestellt wird bei der Überprüfung, ob eine Vielzahl von Tasten gedrückt ist, für den Fall, daß in dem Verfahren zur Feststellung der Anzahl festgestellt worden ist, daß die Anzahl der logischen Einsen oder Nullen größer als 1 ist; und
Verarbeitung der Eingabeoperation durch die Berechnung des bestimmten Wertes der gedrückten Taste nach einer vorgegebenen Formel für den Fall, daß in dem Verfahren zur Feststellung der Anzahl festgestellt worden ist, daß weder die Anzahl der logischen Nullen noch der der Einsen größer als 1 ist.
Die oben angegebene Aufgabe und andere Vorteile der
vorliegenden Erfindung werden noch offensichtlicher durch
die detaillierte Beschreibung eines bevorzugten
Ausführungsbeispiels der vorliegenden Erfindung unter
Bezugnahme auf die Zeichnungen.
Fig. 1 zeigt ein schematisches Schaltkreisdiagramm,
welches ein bevorzugtes Ausführungsbeispiel des
Schaltkreises zum Abtasten von Tasten nach der
vorliegenden Erfindung darstellt;
Fig. 2 zeigt ein Flußdiagramm, welches das Verfahren zum
Abtasten von Tasten des Schaltkreises, welcher in Fig. 1
gezeigt ist, erläutert;
Fig. 3 illustriert die Operation Linksverschiebung mit
Rotation des Datenrichtungsregisters, welches in Fig. 1
gezeigt ist;
Fig. 4A und 4B zeigen in schematischen
Schaltkreisdiagrammen zwei weitere Ausführungsbeispiele
des zweiseitigen Kanals, welcher in dem Schaltkreis zum
Abtasten von Tasten des Mikrocomputersystems nach der
vorliegenden Erfindung verwendet wird.
Fig. 5 zeigt ein schematisches Schaltkreisdiagramm eines
herkömmlichen Schaltkreises zum Abtasten von Tasten.
Im folgenden wird ein bevorzugtes Ausführungsbeispiel der
vorliegenden Erfindung unter Bezugnahme auf die
Zeichnungen beschrieben.
In Fig. 1, in der ein Schaltkreis zum
Abtasten von Tasten eines Mikrocomputersystems nach der
vorliegenden Erfindung gezeigt ist, ist eine Tastatur 20
mit einem mXn-Tastenmatrixschaltkreis direkt über
Zeilenabtastleitungen 50 und Spaltenabtastleitungen 40 mit
dem Mikrocomputer 10 verbunden, ohne zusätzliche
Schaltkreise, wie z. B. den Demultiplexer des
herkömmlichen Schaltkreises vorzusehen.
Ein bevorzugtes Ausführungsbeispiel der vorliegenden
Erfindung wird im folgenden in Zusammenhang mit einer
Tastatur 20 mit einem Tastenmatrixschaltkreis, welcher aus
einer 4X4 Tastenmatrix, nämlich 16 Tasten von O-F,
aufgebaut ist, erläutert.
Ein Mikrocomputer 10 beinhaltet einen ersten Kanal PA mit
4 Bits b0, b1, b2 und b3, der ein 4-Bit-Zeilensignal über
die Zeilenabtastleitungen erhält, wenn eine Taste auf der
Tastatur 20 gedrückt wird; ein erster Speicher MA, welcher
die logischen Werte des 4-Bit-Zeilensignals speichert,
welches an den ersten Kanal PA eingespeist und, logisch
mit dem vorangegangenen, darin gespeicherten logischen
Wert multipliziert wird;
einen zweiten Kanal PB, welcher 4 Bits b0, b1, b2 und b3
besitzt, um ein 4-Bit-Spaltensignal zu empfangen, welches
von dem Keyboard 20 über die Spaltenabtastleitungen
ausgegeben wird; ein Datenrichtungsregister DDR, um jedes
Bit des zweiten Kanals PB in einen Eingangs- oder
Ausgangsmodus zu setzen; einen zweiten Speicher MB, um den
logischen Wert des 4-Bit-Spaltensignals zu speichern,
welches an den zweiten Kanal PB eingespeist wird, und
logisch mit dem logischen Wert eines jeden Bits des
Datenrichtungsregisters DDR summiert wird; einen Abschnitt
30 mit Full-up-Widerständen zur Bereitstellung eines
logischen Referenzwertes für die Tastatur 20, der an die
Tastatur 20 und ein UND-Gatter 60 gekoppelt ist. Das
UND-Gatter 60 erstellt das logische Produkt der Signale,
welche von der Tastatur ausgegeben werden, zur Verwendung
als ein Kontrollsignal, um eine automatische
Ein-Ausschaltefunktion des Mikrocomputersystems
auszuführen, oder um ein Tastenüberprüfungssignal
bereitzustellen.
Die Betriebsweise des oben beschriebenen Schaltkreises zum
Abtasten von Tasten nach der vorliegenden Erfindung wird
im folgenden detailliert unter Bezugnahme auf Fig. 2
beschrieben, die ein Flußdiagramm des Verfahrens zum
Abtasten von Tasten eines Mikrocomputersystems nach der
vorliegenden Erfindung darstellt.
Wie in Fig. 2 dargestellt, initialisiert das Verfahren zum
Abtasten von Tasten in einem Mikrocomputersystem bestimmte
Parameter, um zu überprüfen, ob eine Taste auf der
Tastatur 20 gedrückt ist. Dies wird erreicht im Schritt S601
durch das Versetzen des ersten Kanals PA in einen
ausschließlichen Eingangsmodus und durch das Bereitstellen
der Werte der entsprechenden Bits in dem zweiten Kanal PB,
den ersten und zweiten Speichern MA und MB und dem
Datenrichtungsregister DDR mit den Werten "0000", "1111",
"0000" und "1111", respektive. Hier ist jedes Bit des
zweiseitigen Kanals PB in einen Ausgangsmodus versetzt,
wenn der Wert des entsprechenden Bits des
Datenrichtungsregisters DDR 1 ist, und jedes Bit des
zweiseitigen Kanals PB ist in einen Eingangsmodus
versetzt, wenn der Wert des entsprechenden Bits des
Datenrichtungsregisters DDR Null ist.
Der Schritt S602 repräsentiert eine Benutzerfunktion. Wenn
der Benutzer einen oder mehrere Tasten im Schritt S602
drückt, fährt das Programm mit Schritt S603 weiter, um zu
überprüfen, welche Taste gedrückt ist. Im Schritt S603
wird das Datenrichtungsregister DDR auf "0001" gesetzt und
beginnt, die Tasten der ersten Spalte zu überprüfen. Diese
besondere Operation bedeutet, daß b3, b2 und b1 des
zweiten Kanals PB sich in dem Eingangsmodus befinden und
b0 sich in dem Ausgangsmodus befindet. Wenn irgendwelche
Tasten in dieser Spalte gedrückt worden sind, werden sie
im Schritt S604 gefunden, wenn der erste Kanal PA mit dem
Wert "1111", der von den Pull-up-Widerständen 30
bereitgestellt wird, verglichen wird. Wenn der erste Port
PA mit dem Wert "1111" übereinstimmt, wird festgestellt,
daß keine der Eingangskanalbits auf ein niedriges Niveau
heruntergezogen sind, also keine gedrückten Tasten in
dieser Spalte existieren. Dann fährt das Programm mit
Schritt S606 fort, worin das Datenrichtungsregister DDR
den Wert C des Übertragungsbits löscht und eine
Linksverschiebung mit Rotation (RSL) ausführt, wie in Fig.
3 gezeigt ist, um die nächste Spalte zu überprüfen.
Wenn dagegen der Schritt S604 zeigt, daß PA
unterschiedlich von "1111" ist, dann stellt der
Entscheidungsprozeß fest, daß wenigstens eine Taste im
Schritt S602 gedrückt worden ist und fährt mit Schritt S605
fort, worin der Mikroprozessor 10 zwei logische
Operationen ausführt: Als erstes wird der laufende Wert
des ersten Speichers MA mit dem logischen Wert des ersten
Kanals PA multipliziert, und danach in den Speicher MA
zurückgeschrieben und zweitens wird der laufende Wert des
zweiten Speichers MB mit dem logischen Wert des
Datenrichtungsregisters DDR summiert, und danach in den
Speicher MB zurückgeschrieben. Nach dem Schritt S605 wird
das Übertragungsbit gelöscht und eine RSL-Funktion in dem
Datenrichtungsregister DDR in Schritt S606 ausgeführt.
Schritt S607 überprüft, ob der Wert C des Übertragungsbits
gleich 1 ist. Dies passiert, wenn das
Datenrichtungsregister DDR, welches in Schritt S603 auf
"0001" gesetzt ist, vier RSL-Funktionen komplettiert hat
und alle Spalten abgetastet worden sind. Schritte S604,
S605 und S606 werden solange wiederholt, bis C = 1 ist.
Nach dem Abtasten der Tasten wird in den Schritten S608
und S609 festgestellt, wieviele, falls überhaupt, Tasten
gedrückt sind. Wenn C = 1 im Schritt S607, wird
festgestellt, ob der zweite Speicher MB noch auf "0000"
im Schritt S608 gesetzt ist. Wenn MB = 0000 im Schritt
S608, ist die Operation beendet mit dem Ergebnis,
daß keine gedrückten Tasten festgestellt sind. Wenn jedoch
MB ungleich 0000 im Schritt S608 ist, fährt die Operation
mit Schritt S609 fort, um festzustellen, ob sich ein
Doppeltastenfehler ereignet hat. Wenn mehr als eine
logische Null im ersten Speicher MA erscheint, oder wenn
mehr als eine logische 1 im zweiten Speicher MB präsent
ist, entscheidet der Schritt S609, daß mehrere Tasten
gedrückt worden sind und die Operation fährt dann mit
Schritt S610 fort, führt eine Fehlerverarbeitung aus und
schließt dann die Operation ab.
Wenn in der Zwischenzeit nur eine Null in MA und eine 1 in
MB im Schritt S609 ist, definiert der Schritt S611 den
Wert der Taste mit der Formel: 4m+n = MV, was in Schritt
S612 die Eingabe und das Beenden der Prozedur ermöglicht.
Hier bezeichnet MV den Wert der Taste, m entspricht einem
Wert von m, wenn das m-te Bit des ersten Speichers MA eine
logische Null ist und n entspricht einem Wert von n, wenn
das n-te Bit des zweiten Speichers MB eine logische 1 ist.
Zum Beispiel wenn die neunte Taste der Tastatur im Schritt
S602 gedrückt ist, wird "1011" an den ersten Kanal PA
gespeist. Dadurch wird der Wert "1111" (im Schritt S601 im
Speicher MA initialisiert) logisch mit dem Wert "1011"
(dem gegenwärtig gehaltenen Eingangswert von PA) logisch
multipliziert und das Produkt "1011" wird im ersten
Speicher MA gespeichert. Die Operation im zweiten Speicher
MB wird ausgeführt durch die logische Summation der Werte
"0000" (im Schritt S601 in MB gesetzt) mit dem Wert "0010"
(dem gegenwärtigen Status des DDR) und das Ergebnis "0010"
wird in dem zweiten Speicher MB gespeichert. Dadurch, daß
m den Wert 2 (b2) annimmt und n den Wert 1 (b1) annimmt,
wird festgestellt, daß MV den Wert 9 annimmt oder die
neunte Taste der Matrix gedrückt ist.
Darüber hinaus werden die logischen Werte der Zeilen- und
Spaltensignale, welche Werte des Zeilen-Spalten-Signals
der Taste sind, in jedem Bit des ersten und zweiten
Speichers MA und MB gespeichert durch das Abtasten der
Tasten während der Schritte S603 bis S607. Der Grund
dafür, den Wert "0001" in das Datenrichtungsregister DDR
im Schritt S603 zu schreiben, liegt darin, die Tastatur 20
von der ersten Spalte an abzutasten und dabei einen
Kurzschluß zu verhindern durch das Versetzen der Bits b3,
b2 und b1 des zweiseitigen zweiten Kanals PB in den
Eingangsmodus, wenn mehrere Tasten zur gleichen Zeit
gedrückt werden. Im Schritt S604 wird festgestellt, ob
eine Taste einer Spalte gedrückt ist, und im Schritt S605
wird das Signal, das die Position der gedrückten Taste
kennzeichnet, in jedem der Speicher MA und MB gespeichert.
Im Schritt S606 wird der Wert des Datenrichtungsregisters
DDR verschoben, um die nächste Spalte zu überprüfen und im
Schritt S607 wird überprüft, ob ein oder kein
Übertragungsbit generiert worden ist, um festzustellen, ob
ein Abtastvorgang abgeschlossen ist. Schritt S608 stellt
fest, daß keine Taste gedrückt ist, wenn der Wert des
zweiten Speichers MB unverändert ist und Schritt S609
stellt fest, ob mehr als eine Taste gedrückt ist, wenn
sich die Bitwerte des ersten und zweiten Speichers MA und
MB verändert haben. Zu dieser Zeit, wenn mehr als eine
Taste gedrückt ist, wird diese Operation als ein Fehler
oder eine Doppeleingabe im Schritt S610 verarbeitet und
wenn nur eine Taste gedrückt ist, stellt der Schritt S611
fest, welche Taste gedrückt ist. Das Verfahren zum
Feststellen, welche Taste gedrückt ist, benutzt den
Bitwert, welcher in dem ersten und zweiten Speicher MA und
MB gespeichert ist. In dem Beispiel von Fig. 1 ändert sich
der Bitwert in der Sequenz 0 4 8 C. Diese vereinfach
te Struktur zeigt,daß sich der Bitwert mit Vielfachen von
4 verändert. Wenn das Bit b0 des ersten Speichers MA sich
an der Bitspalte b0 des zweiten Kanals PB verändert, wird
der Taste der Wert 0 zugeordnet nach der Formel MV = 4 m +
n. Wenn das Bit b1 des ersten Speichers MA sich an der
gleichen Bitspalte wie oben verändert, wird der Wert der
Taste mit der Zahl "4" festgelegt. Nach dem gleichen
Verfahren wird für den Fall, daß das Bit b2 des MA und das
Bit b1 des MB sich verändern, festgelegt, daß 4 x 2 + 1 =
9, da m = 2 und n = 1 in der Formel ersetzt werden, was
bedeutet, daß die neunte Taste gedrückt ist.
Zwei weitere Ausführungsformen des Schaltkreises zum
Abtasten von Tasten des Mikrocomputersystems nach der
vorliegenden Erfindung werden in den Fig. 4A und 4B
gezeigt. Diese Ausführungsbeispiele verwenden
Open-Kollektor und Open-Drain Transistoren, die
entsprechend entlang der Spaltenabtastleitungen
positioniert sind, anstelle eines zweiseitigen Kanals PB
in dem Mikrocomputer, wodurch der gleiche Effekt wie bei
dem zweiseitigen Kanal erzielt wird.
Die Funktionsweise der Ausführungsbeispiele ist derart,
daß wenn ein Signal von hohem Pegel an den Eingangskanal
eines Inverters angelegt wird, der Kollektor des
Transistors offen ist und wenn ein Signal von niedrigem
Pegel als Eingangssignal verwendet wird, der Kollektor des
Transistors einen niedrigen Pegel annimmt, um den Wert
richtig in das Datenrichtungsregister zu schreiben, ebenso
wie in dem zweiseitigen Kanal, wodurch
Schaltungskurzschlüsse verhindert werden.
Weiterhin, wie in Fig. 1 gezeigt, wird durch das
Hinzufügen eines UND-Gatters 60 an den Ausgang des
Schaltkreises zum Abtasten von Tasten in jedem
Ausführungsbeispiel der vorliegenden Erfindung ein
logisches Produkt der logischen Signale, welche an jeden
Kanal angelegt werden, als ein Kontrollsignal verwendet,
um das System automatisch anzuschalten, wann immer eine
Taste gedrückt wird oder zur Verwendung einer
Verarbeitungsfunktion für die Eingabe.
Claims (11)
1. Schaltkreis zum Abtasten von Tasten für ein
Mikrocomputersystem bestehend aus einer Tastatur (20) mit
einem Schaltkreis für eine mXn-Tastenmatrix und einem
Mikrocomputer (10) zur Erkennung von Tastenoperationen
auf der Tastatur, wobei der Schaltkreis zum Abtasten der
Tasten enthält:
einen ersten Kanal (PA), der direkt m Zeilensignale von der genannten Tastatur (20) über Zeilenabtastleitungen in dem genannten Mikrocomputer (10) empfängt;
einen ersten Speicher (MA), um den logischen Wert der m Zeilensignale zu speichern, der aus der logischen Multiplikation der Eingangssignale des ersten Kanals (PA) und dem fortlaufend gespeicherten logischen Wert entsteht;
einen zweiten Kanal (PB), der n Spaltensignale direkt von der genannten Tastatur über Spaltenabtastleitungen in dem genannten Mikrocomputer (10) empfängt;
ein Datenrichtungsregister (DDR), um jedes Bit von n Einheiten des genannten Kanals (PB) zu setzen, um diesen als einen Eingang oder einen Ausgang zu verwenden;
einen zweiten Speicher (MB), um den logischen Wert von n Spaltensignalen zu speichern, der aus der logischen Summierung der Eingangssignale des genannten zweiten Kanals (PB) mit dem logischen Wert in dem genannten Datenrichtungsregister (DDR) entsteht; und
einen Abschnitt (30) mit Pull-up-Widerständen, um einen logischen Referenzsignalwert für den genannten Schaltkreis der mXn-Tastenmatrix zur Verfügung zu stellen.
einen ersten Kanal (PA), der direkt m Zeilensignale von der genannten Tastatur (20) über Zeilenabtastleitungen in dem genannten Mikrocomputer (10) empfängt;
einen ersten Speicher (MA), um den logischen Wert der m Zeilensignale zu speichern, der aus der logischen Multiplikation der Eingangssignale des ersten Kanals (PA) und dem fortlaufend gespeicherten logischen Wert entsteht;
einen zweiten Kanal (PB), der n Spaltensignale direkt von der genannten Tastatur über Spaltenabtastleitungen in dem genannten Mikrocomputer (10) empfängt;
ein Datenrichtungsregister (DDR), um jedes Bit von n Einheiten des genannten Kanals (PB) zu setzen, um diesen als einen Eingang oder einen Ausgang zu verwenden;
einen zweiten Speicher (MB), um den logischen Wert von n Spaltensignalen zu speichern, der aus der logischen Summierung der Eingangssignale des genannten zweiten Kanals (PB) mit dem logischen Wert in dem genannten Datenrichtungsregister (DDR) entsteht; und
einen Abschnitt (30) mit Pull-up-Widerständen, um einen logischen Referenzsignalwert für den genannten Schaltkreis der mXn-Tastenmatrix zur Verfügung zu stellen.
2. Schaltkreis zum Abtasten von Tasten in einem
Mikrocomputersystem nach Anspruch 1, worin der Wert der
Tasten der ersten Spalte mit jeder Zeile des Schaltkreises
der Tastenmatrix der genannten Tastatur (20) um Vielfache
von 4 erhöht wird.
3. Schaltkreis zum Abtasten von Tasten für ein
Mikrocomputersystem nach Anspruch 1, worin der genannte
Schaltkreis der mXn-Tastenmatrix aus einem Schaltkreis
für eine 4X4-Tastenmatrix besteht.
4. Schaltkreis zum Abtasten von Tasten für ein
Mikrocomputersystem nach Anspruch 1, worin an den
genannten Schaltkreis für die Tastenmatrix ein UND-Gatter
(60) hinzugefügt ist.
5. Schaltkreis zum Abtasten von Tasten für ein
Mikrocomputersystem nach Anspruch 1, worin der genannte
zweite Kanal (PB) mit biloren Transistoren vom
Open-Collector-Typ ausgebildet ist.
6. Schaltkreis zum Abtasten von Tasten für ein
Mikrocomputersystem nach Anspruch 1, worin der genannte
zweite Kanal (PB) mit MOS-Transistoren vom
Open-Drain-Typ ausgebildet ist.
7. Verfahren zum Abtasten von Tasten eines Mikrocomputers
mit einer Tastatur (20), welche einen Schaltkreis für eine
mXn-Tastenmatrix besitzt; einem ersten und zweiten Kanal
(PA, PB) zur Verarbeitung von mXn Zeilen- und
Spaltensignalen; einem ersten m-Bit-Speicher (MA) und
einem zweiten n-Bit-Speicher (MB), um die logischen Werte,
welche an den ersten und zweiten Kanälen (PA und PB)
anliegen, zu speichern, und einem Datenrichtungsregister
(DDR), um jedes Bit des genannten zweiten Kanals (PB) zu
setzen, der als ein Eingang oder als ein Ausgang verwendet
wird, wobei das genannte Verfahren zum Abtasten der Tasten
folgende Schritte aufweist:
- a) Initialisieren des genannten Mikrocomputersystems durch die Festlegung, daß der genannte erste Kanal (PA) nur als ein Eingang verwendet wird und Schreiben von vorbestimmten logischen Werten in den genannten zweiten Kanal (PB), den genannten ersten und zweiten Speicher (MA und MB) und das genannte Datenrichtungsregister (DDR);
- b) Abtasten eines jeden Bits des genannten Datenrichtungsregisters (DDR), wenn eine Taste der genannten mXn-Matrixtastatur gedrückt ist;
- c) Speichern des logischen Produkts, bestehend aus dem
fortlaufenden logischen Wert des genannten ersten
m-Bit-Speichers (MA) und dem fortlaufenden logischen Wert
des genannten ersten Kanals (PA), in dem ersten Speicher
(MA);
Speichern der logischen Summe, bestehend aus dem fortlaufenden logischen Wert des genannten zweiten n-Bit-Speichers (MB) und dem fortlaufenden logischen Wert des genannten Datenrichtungsregisters (DDR), in dem zweiten Speicher (MB), und
Wiederholen des Abtastprozesses bis das Übertragungsbit des Datenrichtungsregisters (DDR) den Wert 1 annimmt; - d) Feststellen, ob die fortlaufende Anzahl der logischen
Nullen in dem genannten ersten Speicher (MA) größer ist
als 1 und ob die fortlaufende Anzahl der logischen Einsen
in dem genannten zweiten Speicher (MB) größer als 1 ist;
und, wenn festgestellt worden ist, daß die Anzahl der Nullen und Einsen in den Speichern größer als 1 ist, Verarbeitung von Fehlern und Beenden der Operation, oder
wenn festgestellt worden ist, daß die Anzahl der Nullen und Einsen in den Speichern nicht größer als 1 ist, Verarbeiten der Eingabeoperation und Berechnen des Wertes der Taste nach einer vorbestimmten Formel.
8. Verfahren zum Abtasten von Tasten in einem
Mikrocomputer nach Anspruch 7, worin der genannte
Initialisierungsprozeß die Schritte enthält: Festlegen des
genannten ersten Kanals (PA) als einen ausschließlichen
Eingangskanal und Festlegen des genannten zweiten Kanals
(PB) als einen ausschließlichen Ausgangskanal.
9. Verfahren zum Abtasten von Tasten eines Mikrocomputers
nach Anspruch 7, worin in dem genannten Berechnungsschritt
der Wert für die Taste nach der Formel 4m+n = MV
erhalten wird. (m entspricht dem Stellenwert der Null im
Speicher MA und n entspricht dem Stellenwert der EINS
im Speicher MB; MV ist der Wert der Taste).
10. Verfahren zum Abtasten von Tasten eines
Mikrocomputers nach einem der Ansprüche 7 bis 9, den
folgenden weiteren Schritt enthaltend:
Feststellen, ob der fortlaufende Eingangswert des ersten Kanals (PA) mit einem vorbestimmten logischen Wert, der in der Initialisierungsphase festgelegt worden ist, übereinstimmt und, falls er übereinstimmt, Ausführen der folgenden Operationen:
Löschen des Übertragungsbits des Datenrichtungsregisters (DDR) und Ausführen einer Linksverschiebung mit Rotation auf den Bit-Wert des zweiten Kanals (PB), oder
wenn die beiden Werte nicht übereinstimmen, Fortfahren mit Schritt c).
Feststellen, ob der fortlaufende Eingangswert des ersten Kanals (PA) mit einem vorbestimmten logischen Wert, der in der Initialisierungsphase festgelegt worden ist, übereinstimmt und, falls er übereinstimmt, Ausführen der folgenden Operationen:
Löschen des Übertragungsbits des Datenrichtungsregisters (DDR) und Ausführen einer Linksverschiebung mit Rotation auf den Bit-Wert des zweiten Kanals (PB), oder
wenn die beiden Werte nicht übereinstimmen, Fortfahren mit Schritt c).
11. Verfahren zum Abtasten von Tasten eines Mikrocomputers
nach einem der Ansprüche 7 bis 10, den folgenden
weiteren Schritt enthaltend:
Feststellen- ob der fortlaufende logische Wert des zweiten
Speichers (MB) mit dem genannten vorbestimmten logischen
Wert, welcher in der Initialisierungsphase festgelegt
worden ist, übereinstimmt und Beenden der Operation, falls
er übereinstimmt, oder, falls er nicht übereinstimmt,
Fortfahren mit Schritt d).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019900017286A KR930005841B1 (ko) | 1990-10-27 | 1990-10-27 | 마이크로_콤퓨터시스템의 키스캔회로 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4135278A1 true DE4135278A1 (de) | 1992-04-30 |
DE4135278C2 DE4135278C2 (de) | 1992-11-05 |
Family
ID=19305267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4135278A Granted DE4135278A1 (de) | 1990-10-27 | 1991-10-25 | Verfahren und schaltkreis zum abtasten von tasten fuer ein mikrocomputersystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US5264845A (de) |
JP (1) | JP2567167B2 (de) |
KR (1) | KR930005841B1 (de) |
DE (1) | DE4135278A1 (de) |
GB (1) | GB2249205B (de) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5621402A (en) * | 1993-07-21 | 1997-04-15 | Advanced Micro Devices, Inc. | Keypad scanner |
US5486824A (en) * | 1994-10-05 | 1996-01-23 | Motorola, Inc. | Data processor with a hardware keyscan circuit, hardware keyscan circuit, and method therefor |
US5552781A (en) * | 1994-10-31 | 1996-09-03 | Ford Motor Company | Fault tolerant method of decoding an electronic key system |
US5554985A (en) * | 1995-06-14 | 1996-09-10 | United Microelectronics Corporation | Method for scanning keypad architecutre employing power source and ground of digital electronic devices |
US6744386B2 (en) | 2000-06-02 | 2004-06-01 | Thomson Licensing, S.A. | Prevention of incompatible keyboard selections from being entered during power initialization |
HUP0303866A3 (en) * | 2000-12-04 | 2008-03-28 | Nova Chem Inc | Foamed cellular particles of an expandable polymer composition |
US7386882B2 (en) * | 2001-06-29 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Key pad decoder |
US10037857B2 (en) * | 2012-09-19 | 2018-07-31 | Duckychannel International Co, Ltd. | Light emitting keyboard |
TWI602085B (zh) * | 2015-12-14 | 2017-10-11 | 聯陽半導體股份有限公司 | 鍵盤裝置及其按鍵狀態的偵測方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3519360A1 (de) * | 1984-07-24 | 1985-10-24 | Alps Electric Co., Ltd., Tokio/Tokyo | Verfahren zur ausgabe von daten aus einer eingabetastatur |
EP0242953A1 (de) * | 1986-03-10 | 1987-10-28 | Amp Incorporated | Multiplexsystem |
DE3910863A1 (de) * | 1988-04-04 | 1989-10-12 | Fluke Mfg Co John | Verfahren und tastatur-eingabegeraet zur eingabe digitaler daten |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5477534A (en) * | 1977-12-02 | 1979-06-21 | Matsushita Electric Ind Co Ltd | Digital input circuit |
FR2641656B1 (fr) * | 1988-12-20 | 1991-08-02 | Bull Sa | Procede de brouillage de l'identification d'une touche d'un clavier non code, et circuit pour la mise en oeuvre du procede |
US5059974A (en) * | 1989-02-02 | 1991-10-22 | Acer Incorporated | Method for determining phantom switch condition |
-
1990
- 1990-10-27 KR KR1019900017286A patent/KR930005841B1/ko not_active IP Right Cessation
-
1991
- 1991-09-27 US US07/766,777 patent/US5264845A/en not_active Expired - Lifetime
- 1991-10-22 JP JP3273930A patent/JP2567167B2/ja not_active Expired - Fee Related
- 1991-10-25 GB GB9122714A patent/GB2249205B/en not_active Expired - Fee Related
- 1991-10-25 DE DE4135278A patent/DE4135278A1/de active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3519360A1 (de) * | 1984-07-24 | 1985-10-24 | Alps Electric Co., Ltd., Tokio/Tokyo | Verfahren zur ausgabe von daten aus einer eingabetastatur |
EP0242953A1 (de) * | 1986-03-10 | 1987-10-28 | Amp Incorporated | Multiplexsystem |
DE3910863A1 (de) * | 1988-04-04 | 1989-10-12 | Fluke Mfg Co John | Verfahren und tastatur-eingabegeraet zur eingabe digitaler daten |
Non-Patent Citations (2)
Title |
---|
US-Z.: IBM Technical Disclosure Bulletin, Vol. 24, No. 9 Februar 1982, S. 4688, 4689 * |
US-Z.: IBM Technical Disclosure Bulletin, Vol. 27, No. 5, Oktober 1984, S. 2779, 2780 * |
Also Published As
Publication number | Publication date |
---|---|
GB9122714D0 (en) | 1991-12-11 |
JPH04299722A (ja) | 1992-10-22 |
KR930005841B1 (ko) | 1993-06-25 |
GB2249205B (en) | 1994-07-27 |
DE4135278C2 (de) | 1992-11-05 |
JP2567167B2 (ja) | 1996-12-25 |
GB2249205A (en) | 1992-04-29 |
KR920008613A (ko) | 1992-05-28 |
US5264845A (en) | 1993-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2556822C2 (de) | Monolithische hochintegrierte Halbleiterschaltung | |
DE3587137T2 (de) | Inhaltsadressierbarer speicher. | |
DE69123952T2 (de) | Rechneradressierungseinrichtung | |
DE4206286C2 (de) | Speicherzugriffssystem und Verfahren zum Ausgeben eines digitalen Datenstromes | |
DE4007223A1 (de) | Schaltkreis zum speichern und uebertragen eines logischen signales | |
DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
DE3832440A1 (de) | Testschaltungseinrichtung | |
DE2440389A1 (de) | Vorrichtung zum verschieben von digitalen informationen in datenverarbeitungsgeraeten | |
DE2946502A1 (de) | Verfahren und schaltungsanordnung zur digitalen auswertung von analogsignalen grosser amplitudendynamik | |
DE2247534B2 (de) | Additions- und Subtraktionsvorrichtung | |
DE1524111C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE4135278A1 (de) | Verfahren und schaltkreis zum abtasten von tasten fuer ein mikrocomputersystem | |
DE3880300T2 (de) | Tastatur mit geistertasten-feststellung. | |
DE1240686B (de) | Anordnung zur Unterdrueckung der Darstellung von fuer den Wert einer Zahl bedeutungslosen Ziffern in einer elektronischen Ziffernrechenmaschine | |
DE3888218T2 (de) | Dateneingabegerät mit Tastendruck. | |
DE2446646B2 (de) | Schaltung zur eingabe eines eine eingetastete taste des tastenfeldes charakterisierenden eintastsignals in einen elektronischen rechner | |
DE69905238T2 (de) | Einrichtung zur vollständigen Diagnose eines Treibers | |
DE3818097C2 (de) | ||
DD145972A5 (de) | Einrichtung zur feststellung der l enge beliebiger schieberegister | |
DE3786748T2 (de) | Programmierbare logische Anordnung. | |
DE3422287C2 (de) | ||
DE3828289C2 (de) | ||
DE3333862C2 (de) | ||
DE69626625T2 (de) | Verfahren, um redundante fehlerhafte Adressen in einer Speicheranordnung mit Redundanz zu erkennen | |
DE2337084A1 (de) | Tasteneingabeschaltung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110502 |