KR0174660B1 - 키스캔회로 - Google Patents
키스캔회로 Download PDFInfo
- Publication number
- KR0174660B1 KR0174660B1 KR1019960001273A KR19960001273A KR0174660B1 KR 0174660 B1 KR0174660 B1 KR 0174660B1 KR 1019960001273 A KR1019960001273 A KR 1019960001273A KR 19960001273 A KR19960001273 A KR 19960001273A KR 0174660 B1 KR0174660 B1 KR 0174660B1
- Authority
- KR
- South Korea
- Prior art keywords
- input
- key
- reset
- output
- lines
- Prior art date
Links
Classifications
-
- 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/20—Dynamic coding, i.e. by key scanning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
1. 청구범위에 기재된 발명이 속한 기술분야
매트릭스 스캔방식을 채용한 키스캔회로에 관한 것이다.
2. 발명이 해결하고자 하는 기술적 과제
키입력부와 키처리부간의 신호라인 갯수를 키의 갯수 증가와 관계없이 최소로 줄일 수 있는 키스캔회로를 제공한다.
3. 발명의 해결방법의 요지
서로 교차하는 다수의 출력라인 및 입력라인의 교차점마다 하나씩 대응되게 매트릭스 형태로 배열된 다수의 키들을 구비하는 키입력부와, 출력라인들에 하나씩 연결되는 다수의 출력단자를 가지며, 1회 키스캔동안 한번 발생되는 제1리셋트펄스의 입력에 의해 리셋트된후, 출력라인의 갯수만큼 발생되는 제1클럭펄스 입력시마다 출력단자들을 하나씩 순차적으로 인에이블시키는 링 카운터와, 1회 키스캔동안 출력라인의 갯수만큼 발생되는 제2리셋트펄스의 입력시마다 리셋트된후, 입력라인의 갯수만큼 발생되는 제2클럭펄스의 입력을 카운트하고 카운트값을 선택데이타로서 출력하는 2진 카운터와, 입력라인들에 하나씩 연결되는 다수의 입력단자를 가지며, 선택데이타에 의해 지정되는 하나의 입력단자 상태를 키데이타로서 출력하는 데이타 셀렉터를 구비한다.
4. 발명의 중요한 용도
키입력부와 키처리부간의 신호라인 갯수를 줄이는데 이용한다.
Description
제1도는 일반적인 키스캔회로도.
제2도는 본 발명에 따른 키스캔회로.
제3도는 본 발명에 따른 처리흐름도.
본 발명은 키스캔(key scan)회로에 관한 것으로, 특히 매트릭스 스캔(matrix scan)방식을 채용한 키스캔회로에 관한 것이다.
일반적으로 컴퓨터나 각종 통신기기, 가전기기등에 입력장치로서 널리 채용되고 있는 키패드(key pad), 키보드(key board)등과 같은 키입력장치는 다수의 키들을 구비하고 있다. 이러한 키입력장치는 많은 수의 키를 효율적으로 입력하기 위해 통상 매트릭스 스캔방식이라 불리우는 키스캔방식을 채용하고 있다.
제1도는 이러한 매트릭스 스캔방식을 채용한 키스캔회로의 구성예를 보인 것으로, 30개의 키들이 6행×5열의 매트릭스 형태로 배열된 키입력부(14)를 구비하는 예를 보인 것이다.
제1도를 참조하여 일반적인 키스캔회로에 대하여 살펴보면 다음과 같다. CPU(Central Processing Unit)(10)와 키입력부(14)는 출력포트(12)와 입력포트(16)를 통해 연결된다. 출력포트(12)는 5개의 출력단자(Q0∼Q4)를 가지며, 입력포트(16)는 6개의 입력단자(L0∼L5)를 가진다. 키입력부(14)는 6행×5열의 매트릭스 형태로 배열된 30개의 키와 6개의 풀업(pull up)저항(R1∼R6)를 가진다. 키입력부(14)의 각각의 키들은 출력포트(12)의 출력단자들(Q0∼Q4)에 하나씩 연결되는 출력라인들과 입력포트(16)의 입력단자들(L0∼L5)에 하나씩 연결되는 입력라인들간의 교차점에 하나씩 대응되게 위치한다. 즉, 첫번째 열에 해당하는 6개의 키 K00∼K05는 출력포트(12)의 출력단자(Q0) 라인과 입력포트(16)의 입력단자(L0∼L5) 라인들간의 교차점에 하나씩 대응되게 위치하고, 두번째 열에 해당하는 6개의 키 K10∼K15는 출력포트(15)의 출력단자(Q1) 라인과 입력포트(16)의 입력단자(L0∼L5) 라인들간의 교차점에 하나씩 대응되게 위치하며, 동일한 방식으로 다섯번째 열에 해당하는 6개의 키 K40∼K45까지 배열된다. 그리고 6개의 저항(R1∼R6)은 입력포트(16)의 입력단자(L0∼L5) 라인과 전원전압 Vcc 사이에 접속된다.
이때 키입력부(14)는 키패드 또는 키보드에 설치되며 출력포트(12) 및 입력포트(16)와 CPU(18)는 키입력부(14)로부터의 키입력을 처리하는 부분에 설치한다. 이에따라 키입력부(14)와 출력포트(12) 및 입력포트(16)간의 신호라인들, 즉 출력포트(12)의 출력단자(Q0∼Q4) 라인과 입력포트(16)의 입력단자(L0∼L5) 라인은 케이블(cable)(18)에 의해 키입력부(14)와 연결된다.
상기와 같이 구성되는 키스캔회로의 키스캔동작을 살펴보면, 먼저 출력포트(12)의 출력단자(Q0)로는 논리 로우펄스를 출력하여 인에이블(enable)시키고 나머지 출력단자(Q1∼Q4)로는 논리 하이펄스를 출력한다. 그러면 30개의 키중에서 첫번째 열에 해당하는 6개의 키 K00∼K05중에 눌려진 키가 있을 경우, 입력포트(16)의 입력단자(L0∼L5)중 눌려진 키에 대응하는 입력단자가 논리 로우가 된다. 그러므로 이러한 상태에서 입력포트(16)의 입력단자(L0∼L5)의 상태를 하나씩 순차적으로 리드하면, 키 K00∼K05중에 눌려진 키를 알 수 있게 된다. 다음에 출력포트(12)의 출력단자(Q1)로 논리 로우펄스를 출력하여 인에이블시키고 나머지 출력단자(Q0,Q2∼Q4)로는 논리 하이펄스를 출력한다. 그러면 30개의 키중에서 두번째 열에 해당하는 6개의 키 K10∼K15중에 눌려진 키가 있을 경우, 입력포트(16)의 입력단자(L0∼L5)중 눌려진 키에 대응하는 입력단자 논리 로우가 됨으로써 키 K10∼K15중에 눌려진 키를 알 수 있게 된다. 이러한 동작이 계속 세번째, 네번째, 다섯번째 열까지 이루어짐으로써 1회의 키스캔동작이 완료되고 30개의 키들중 눌려진 키입력을 처리할 수 있게 된다.
그러나 상기한 바와 같은 키스캔회로는 키입력부와 실제 키처리부 사이를 연결하는 케이블은 많은 수의 신호라인을 필요로 한다. 즉, 상기한 제1도의 예에서는 출력포트에 연결되는 신호라인은 5개이고 입력포트에 연결되는 신호라인은 6개가 됨으로써, 최소한 11개의 신호라인은 필수적으로 구비하여야만 한다. 이때 물론 전원라인등과 같은 신호라인은 별개의 문제이다. 이러한 신호라인의 갯수는 키의 갯수가 늘어나는 것에 비례하게 되어 더욱 많은 신호라인이 필요하게 되는 문제점이 있었다.
따라서 본 발명의 목적은 키입력부와 키처리부간의 신호라인 갯수를 키의 갯수 증가와 관계없이 최소로 줄일 수 있는 키스캔회로를 제공함에 있다.
이하 본 발명의 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서 구체적인 회로소자, 논리상태, 신호등과 같은 많은 특정상세들이 본 발명의 보다 전반적인 이해를 제공하기 위해 나타나고 있다. 이들 특정 상세들없이 본 발명이 실시될 수 있다는 것은 이 기술분야에서 통상의 지식을 가진자에게 자명한 것이다. 또한 하기 설명에서 본 발명의 요지를 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
제2도는 본 발명에 따른 키스캔회로도를 보인 것으로, 전술한 제1도와 마찬가지로 30개의 키들이 6행×5열의 매트릭스 형태로 배열된 키입력부(14)를 구비하는 예를 보인 것이다.
상기 제2도에서 키입력부(14)의 각각의 키들은 링(ring) 카운터(22)의 출력단자들(Q0∼Q4)에 하나씩 연결되는 출력라인들과 데이타 셀렉터(26)의 입력단자들(L0∼L5)에 하나씩 연결되는 입력라인들간의 교차점에 하나씩 대응되게 위치한다.
상기 출력라인들에 하나씩 연결되는 5개의 출력단자(Q0∼Q4)를 가지는 링 카운터(22)는 제1리셋트펄스 /WR_RESET의 입력에 의해 리셋트된후, 제1클럭펄스 /WR_CLK 입력시마다 출력단자들(Q0∼Q4)을 하나씩 순차적으로 논리 로우로 인에이블시킨다. 이때 제1리셋트펄스 /WR_RESET는 1회 키스캔동안 한번 논리 로우로 발생된다. 제1클럭펄스 WR_CLK는 제1리셋트펄스 /WR_RESET가 발생된 이후부터 출력라인의 갯수만큼, 즉 5번 논리 하이로 발생된다.
3비트 2진(binary) 카운터(24)는 제2리셋트펄스 /RD_RESET의 입력시마다 리셋트된후, 제2클럭펄스 RD_CLK의 입력을 카운트하고 카운트값을 출력단자(Q0∼Q2)를 통해 선택데이타로서 데이타 셀렉터(data selector)(26)의 선택입력단자(S0∼S2)로 출력한다. 이때 제2리셋트펄스 /RD_RESET는 1회 키스캔동안 출력라인의 갯수만큼, 즉 5번 로우로 발생된다. 그러므로 제2리셋트펄스 /RD_RESET는 한번의 제1리셋트펄스 /WR_RESET에 대하여 5번 발생되는 것이다. 제2클럭펄스 RD_CLK는 제2리셋트펄스 /RD_RESET가 발생된 이후부터 입력라인의 갯수만큼, 즉 6번 논리 하이로 발생된다.
상기 입력라인들에 하나씩 연결되는 다수의 입력단자(L0∼L5)를 가지는 데이타 셀렉터(26)는 선택데이타에 의해 지정되는 하나의 입력단자 상태를 키데이타로서 출력한다.
상기한 링 카운터(22)와 2진 카운터(24)와 데이타 셀렉터(26)는 키패드 또는 키보드에 설치되며, 케이블(28)을 통해 키처리부의 제어수단인 CPU(20)와 연결된다. 이때 케이블(28)이 최소로 구비하여야 하는 신호라인은 제1, 제2리셋트펄스 /WR_RESET, /RD_RESET와 제1, 제2클럭펄스 WR_CLK, RD_CLK와 키데이타의 전송을 위한 5개로 이루어진다.
이제 상기한 바와 같은 키스캔회로를 제어하기 위한 본 발명에 따른 CPU(20)의 처리흐름도를 보인 제3도를 참조하여 본 발명에 따른 제2도의 키스캔회로의 동작예를 상세히 설명한다. 키스캔동작을 시작하게 되면 제2도의 CPU(20)는 제3도의 (100)∼(102)단계에서 제1, 제2리셋트펄스 /WR_RESET, /RD_RESET를 논리 로우펄스로 출력한다. 그러면 링카운터(22)와 2진 카운터(24)가 리셋트됨으로써 링카운터(22)의 출력단자(Q0∼Q4)는 모두 논리 하이상태가 되고 2진 카운터(24)의 출력단자(Q0∼Q2)는 모두 논리 로우상태가 된다.
상기와 같은 상태에서 CPU(20)는 (104)단계에서 제1클럭펄스 WR_CLK를 논리 하이펄스로 출력한다. 그러면 링카운터(22)의 출력단자(Q0∼Q4)중 출력단자(Q0)만이 논리 로우로 인에이블상태가 되고 나머지 출력단자(Q1∼Q4)는 모두 논리 하이상태가 된다. 이때 2진 카운터(24)의 출력단자(Q0∼Q2)의 카운트값이 0이므로 데이타 셀렉터(26)는 입력단자들(L0∼L5)중 입력단자(L0)의 상태를 출력단자(OUT)를 통해 키데이타로서 출력하게 된다. 그러므로 키데이타는 30개의 키중에서 첫번째 열의 첫번째 행에 해당하는 키 K00가 눌려진 경우에도 논리 로우로, 눌려지지 않은 경우에는 논리 하이로 CPU(20)에 입력된다. 그러므로 CPU(20)는 (106)단계에서 이러한 키데이타 비트를 리드함으로써 키 K00의 키입력 여부를 알 수 있게 된다.
다음에 CPU(20)는 (108)단계에서 제2클럭펄스 RD_CLK를 5번 출력하였는가를 검사한다. 이때 5번이 되지 않았으면 (110)단계에서 제2클럭펄스 RD_CLK를 논리 하이펄스로 출력하고 상기 (106)단계부터 다시 수행하면, 5번이 되었으면 (112)단계를 수행한다.
따라서 상기한 (106)∼(110)단계에 의해 링카운터(22)의 출력단자(Q0∼Q4)중 출력단자(Q0)만이 논리 로우로 인에이블된 상태에서 2진 카운터(24)의 출력단자(Q0∼Q2)의 카운트값이 1씩 증가하게 됨으로써 데이타 셀렉터(26)는 입력단자들(L0∼L5)의 상태를 하나씩 출력단자(OUT)를 통해 키데이타로서 출력하게 된다. 그러므로 CPU(20)는 30개의 키중에서 첫번째 열의 6개의 키 K00∼K05중 눌려진 키를 알 수 있게 된다.
그리고 상기 (112)단계에서 CPU(20)는 제1클럭펄스 WR_CLK를 5번 출력하였는가를 검사한다. 이때 5번이 되지 않았으면 CPU(20)는 상기 (102)단계부터 다시 수행하고 5번이 되었으면 종료한다. 이때 상기 (102)∼(112)단계의 반복적인 수행에 의해 상기한 동작이 계속 두번재, 세번째, 네번째, 다섯번째 열까지 이루어짐으로써 1회의 키스캔동작이 완료되고, 30개의 키들중 눌려진 키입력을 처리할 수 있게 된다.
따라서 키입력부(14)와 실제 키처리부의 CPU(20) 사이를 연결하는 케이블(28)은 5개의 신호라인만 있으면 된다. 즉, 종래에는 30개의 키에 대해 11개의 신호라인을 필요로 하는데 반하여, 상기한 바와 같은 본 발명에 따른 키스캔회로는 5개의 신호라인만 있으면 됨으로써 신호라인의 갯수가 줄어들게 된다.
이때 신호라인의 갯수는 키의 갯수가 늘어나더라도 항상 5개만으로 키입력스캔이 가능하게 된다. 다만 이러한 경우, 링 카운터(22)와 2진 카운터(24)와 데이타 셀렉터(26)를 키의 갯수의 증가에 대응되게 변경하고, CPU(20)로부터 출력되는 신호들의 펄스 수를 변경시키면 된다.
상술한 바와 같이 본 발명은 키입력부와 키처리부간의 필수적인 신호라인의 갯수를 키의 갯수 증가와 관계없이 최소로 줄임으로써 비용을 절감시킬 수 있을 뿐만 아니라 취급이 편리하게 되는 잇점이 있다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 특허청구의 범위와 특허청구의 범위의 균등한 것에 의해 정하여져야 한다.
Claims (2)
- 매트릭스 스캔방식을 채용한 키스캔회로에 있어서, 서로 교차하는 다수의 출력라인 및 입력라인의 교차점마다 하나씩 대응되게 매트릭스 형태로 배열된 다수의 키들을 구비하는 키입력부와, 상기 출력라인들에 하나씩 연결되는 다수의 출력단자를 가지며, 1회 키스캔동안 한번 발생되는 제1리셋트펄스의 입력에 의해 리셋트된후, 상기 출력라인의 갯수만큼 발생되는 제1클럭펄스 입력시마다 상기 출력단자들을 하나씩 순차적으로 인에이블시키는 링 카운터와, 상기 1회 키스캔동안 상기 출력라인의 갯수만큼 발생되는 제2리셋트펄스의 입력시마다 리셋트된후, 상기 입력라인의 갯수만큼 발생되는 제2클럭펄스의 입력을 카운트하고 카운트값을 선택데이타로서 출력하는 2진 카운터와, 상기 입력라인들에 하나씩 연결되는 다수의 입력단자를 가지며, 상기 선택데이타에 의해 순차적으로 지정하는 하나의 입력단자 상태를 키데이타로서 출력하는 데이타 셀렉터를 구비하는 것을 특징으로 하는 키스캔회로.
- 제1항에 있어서, 상기 링 카운터와 2진 카운터 및 데이타 셀렉터와 케이블을 통해 연결되고, 상기 제1,제2리셋트펄스와 제1,제2클럭펄스를 발생하며 상기 키데이타를 입력하여 처리하는 제어수단을 더 구비하는 특징으로 하는 키스캔회로.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960001273A KR0174660B1 (ko) | 1996-01-22 | 1996-01-22 | 키스캔회로 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960001273A KR0174660B1 (ko) | 1996-01-22 | 1996-01-22 | 키스캔회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970059893A KR970059893A (ko) | 1997-08-12 |
KR0174660B1 true KR0174660B1 (ko) | 1999-04-01 |
Family
ID=19449851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960001273A KR0174660B1 (ko) | 1996-01-22 | 1996-01-22 | 키스캔회로 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0174660B1 (ko) |
-
1996
- 1996-01-22 KR KR1019960001273A patent/KR0174660B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR970059893A (ko) | 1997-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3975714A (en) | Data processing system including an LSI chip containing a memory and its own address register | |
US4695826A (en) | High accuracy digital-to-analog converter having symmetrical current source switching | |
JPS58217038A (ja) | デ−タ入力キ−ボ−ド装置 | |
JPH0378720B2 (ko) | ||
US5262971A (en) | Bidirectional shifter | |
US5349670A (en) | Integrated circuit programmable sequencing element apparatus | |
US3952289A (en) | Controller for linking a typewriter console to a processor unit | |
EP0111630B1 (en) | Flip-flop programmer using cascaded logic arrays | |
US4360913A (en) | Multiplexing I/O module | |
US4118791A (en) | Multi-level encoding system | |
US6269138B1 (en) | Low power counters | |
US4408184A (en) | Keyboard switch circuit | |
KR0174660B1 (ko) | 키스캔회로 | |
US5831556A (en) | Pin-reduced low power keyboard scanner | |
US5523755A (en) | N-key rollover keyboard without diodes | |
US4064399A (en) | Electronic calculator having keyboard for entering data | |
US4231024A (en) | Device for a digital arithmetic processing apparatus | |
US3619642A (en) | Multiphase binary shift register | |
US4404556A (en) | Bit expansion circuit | |
US5572198A (en) | Method and apparatus for routing in reduced switch matrices to provide one hundred percent coverage | |
KR0139763B1 (ko) | 리세트회로 | |
EP0254479A2 (en) | Integrated circuit programmable sequencing element apparatus and associated method | |
KR200284747Y1 (ko) | 숫자 출력 및 키보드 입력 장치 | |
US5471155A (en) | User programmable product term width expander | |
JPS6020835B2 (ja) | メモリ素子 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20011030 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |