KR930005841B1 - 마이크로_콤퓨터시스템의 키스캔회로 및 그 방법 - Google Patents

마이크로_콤퓨터시스템의 키스캔회로 및 그 방법 Download PDF

Info

Publication number
KR930005841B1
KR930005841B1 KR1019900017286A KR900017286A KR930005841B1 KR 930005841 B1 KR930005841 B1 KR 930005841B1 KR 1019900017286 A KR1019900017286 A KR 1019900017286A KR 900017286 A KR900017286 A KR 900017286A KR 930005841 B1 KR930005841 B1 KR 930005841B1
Authority
KR
South Korea
Prior art keywords
value
port
bit
memory
key
Prior art date
Application number
KR1019900017286A
Other languages
English (en)
Other versions
KR920008613A (ko
Inventor
권순돈
김현수
Original Assignee
삼성전자 주식회사
강진구
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사, 강진구 filed Critical 삼성전자 주식회사
Priority to KR1019900017286A priority Critical patent/KR930005841B1/ko
Priority to US07/766,777 priority patent/US5264845A/en
Priority to JP3273930A priority patent/JP2567167B2/ja
Priority to GB9122714A priority patent/GB2249205B/en
Priority to DE4135278A priority patent/DE4135278A1/de
Publication of KR920008613A publication Critical patent/KR920008613A/ko
Application granted granted Critical
Publication of KR930005841B1 publication Critical patent/KR930005841B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/02Digital 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys
    • H03M11/003Phantom keys detection and prevention

Abstract

내용 없음.

Description

마이크로 콤퓨터시스템의 키스캔회로 및 그 방법
제1도는 종래의 마이크로콤퓨터의 키스캔회로를 도시한 개략회로도.
제2도는 본 발명에 의한 마이크로콤퓨터의 키스캔회로의 일 실시예를 도시한 개략회로도.
제3도는 제2도에 도시된 마이크로콤퓨터의 키스캔방법을 도시한 플로우챠트도.
제4도는 제2도에 도시한 방향설정레지스터의 RSL 수행을 나타내는 개략도.
제5a 및 b도는 본 발명에 의한 마이크로콤퓨터시스템의 키스캔회로에 적용되는 쌍방향포트의 타실시예들을 도시한 개략회로도.
* 도면의 주요부분에 대한 부호의 설명
10 : 마이크로콤퓨터 20 : 키패드
30 : 풀업레지스터 40 : 열스캔라인
50 : 행스캔라인 60 : 앤드게이트
DDRB : 방향설정레지스터 MA,MB : 제1 및 제2메모리
PA,PB : 제1 및 제2포트
본 발명은 쌍방향포트를 사용하는 마이크로콤퓨터시스템에 적용되는 키스캔방식에 관한 것으로 , 특히 키스캔시 회로단락방지용의 다이오드가 불필요하고, 간단한 회로의 구성으로 키체크 또는 자동으로 시스템을 동작시키는 기능을 실현하는데 사용되는 마이크로콤퓨터시스템의 키스캔회로 및 그 방법에 관한 것이다.
종래에는 본 출원인의 대한민국특허 제89-2297호에 개시되어 있는 바와같이, 키매트릭스회로에서 감지된 신호를 멀티플랙서를 걸쳐 마이크로프로세서의 데이타 입력포트에 연결하고 있다. 이때 제1도에 도시된 바와같이, 마이크로프로세서(A)의 출력포트(P0-P3)를 디멀티플렉서(B)의 입력단(a,b,c,d)에 연결하고, 디멀티플렉서(B)의 출력단(O-F)에서 순차적으로 하강펄스를 매트릭스회로(M)의 행스캔라인(Y0-Y15)에 출력하며, 매트릭스회로(M)의 열스캔라인(X0-X7)에 대한 데이타를 버퍼(C)를 통해 마이크로프로세서(A)의 데이타입력포트(D0-D2)에 입력하여 키보드를 스캔하기 위하여, 상기 매트릭스회로(M)의 열스캔라인(X0-X7)에 대한 데이타를 멀티플렉서(C)의 입력단(0-7)에 입력하고 그 출력(Q0-Q2)을 마이크로프로세서(A)의 데이타입력포트(D0-D2)에 입력하도록 구성된다. 따라서, 종래에는 키보드로부터 키스캔을 하기 위하여 디멀티플렉서 및 데이타버퍼등의 부가회로가 필요하였으며, 또한, 포트를 직접 구동시켜서 키를 체크하게 되며, 두 키이상 누를때에 포트가 회로적으로 단락되는 것을 방지하기 위하여 다이오드의 부가적인 회로가 필요하게 되는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출한 것으로 쌍방향포트를 사용하는 마이크로콤퓨터등에 보다 쉽게 키를 처리하는 키스캔회로 및 그 방법을 제공함으로써 키스캔시 별도의 회로단락방지용의 다이오드가 불필요하게 되고, 간단한 회로의 구성으로써 키체크 또는 자동으로 시스템을 온시키는 기능을 실현함을 목적으로 하고 있다.
상기한 목적을 달성하기 위하여, 본 발명은 m×n 키매트릭스회로를 갖는 키패드와, 상기 키패드로부터의 키잉동작을 인식하는 마이크로콤퓨터로 구성된 마이크로콤퓨터시스템의 키스캔회로에 있어서, 상기 마이크로콤퓨터내에 상기 키패드로부터의 m개의 행신호(row signal)를 행스캔라인을 통해 직접 받아들이는 입력전용 제1포트와 ; 상기 제1포트에 입력되는 m개의 행신호의 논리값과 그때까지 제1메모리에 저장된 논리값과의 논리곱된 값을 저장하는 제1메모리와 ; 상기 마이크로콤퓨터내에 상기 키패드로부터의 n개의 열산호(column signal)를 열스캔라인을 통해 직접 받아들이는 입출력겸용의 쌍방향 제2포트와 ; 상기 제2포트의 n개의 각 비트가 입력용인지 출력용인지를 세팅해주는 방향설정레지스터(data direction register)와 ; 상기 제2포트에 입력된 n개의 열신호의 논리값과 상기 방향설정레지스터의 각 비트에 셋팅된 논리값들의 논리합된 값을 저장하는 제2메모리 ; 및 상기 m×n키매트릭스회로에 기준논리신호값을 공급하는 풀업레지스터부를 포함하는 것을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로를 제공함을 특징으로 하고 있다.
또한, 본 발명은 상기한 목적을 달성하기 위하여, m×n키매트릭스회로를 갖는 키패드와, m×n의 행신호 및 열신호를 처리하기 위한 단방향 제1포트 및 쌍방향 제2포트와, 상기 제1 및 제2포트에 대응하는 논리값을 저장하는 n비트 제1메모리 및 m비트 제2메모리와, 상기 쌍방향 제2포트에 대응하여 그 포트의 각 비트에 입출력용도를 지정해주고 방향설정레지스터를 포함하는 마이크로콤퓨터시스템의 키스캔방법에 있어서, 상기 제1 및 제2포트, 상기 제1 및 제2메모리와, 상기 방향설정레지스터에 소정의 논리값을 설정함으로써 상기 마이크로콤퓨터시스템을 초기화하는 과정과 ; 상기 m×n키매트릭스회로를 갖는 키패드의 어느키가 눌러졌을때 상기 방향설정레지스터의 각 비트별로 스캔하는 과정과 ; 상기 제1포트에 입력된 현재 값이 상기 초기화 풀업된 논리값과 동일한지를 판단하여, 동일한 경우에는 캐리비트를 클리어하고 제1포트비트값을 좌측으로 1비트만큼 시프트시키며, 동일하지 않을 경우에는 n비트 제1메모리의 현재 논리값과 제1포트의 현재 논리값을 논리곱하여 그 값을 제1메모리에 저장하고, m비트 제2메모리의 현재 논리값과 방향설정레지스터의 현재 논리값을 논리합하여 그 값을 제2메모리에 저장한 다음, 캐리비트를 클리어하고 상기 방향설정레지스터의 비트값을 1비트만큼 좌측으로 시프트시키는 과정들을 캐리비트가 1이 될때까지 반복하는 과정과 ; 상기 캐리비트가 1이 되면, 제2메모리의 현재 논리값이 상기 초기화 단계에서 설정된 소정의 논리값과 동일한지를 판단하여, 동일한 경우에는 작업종료단계를 진행하고, 동일하지 않은 경우에는 제1메모리에 저장되어 있는 현재 논리값들의 0의 갯수가 1보다 큰지 아닌지를 판단하거나 또는 제2메모리에 저장되어 있는 현재 논리값들의 1의 갯수가 1보다 큰지 아닌지를 판단하여 그 갯수가 1보다 크면 복수의 키가 눌려졌음을 체크한 후 에러처리하고 작업종료단계로 진행하며, 그 갯수가 1보다 크지 않으면 소정의 계산식에 의해 확정된 키값을 계산하여 키처리하는 과정을 포함하는 것을 특징으로 하는 마이크로콤퓨터시스템의 키스캔방법을 제공하고 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예에 대해서 상세하게 설명할 것이다.
제2도는 본 발명에 의한 마이크로콤퓨터시스템의 키스캔회로를 도시한 개략회로도이다.
제2도에 의하면, 본 발명에 의한 마이크로콤퓨터시스템의 키스캔회로는 종래와 같이 부가적인 디멀티플렉서등의 회로를 접속함이 없이 m×n키매트릭스회로를 갖는 키패드(20)를 행스캔라인(50) 및 열스캔라인(40)을 통해 마이크로콤퓨터(10)에 직접 연결하고 있다. 단지, 본 발명의 바람직한 일 실시예에서는 m×n키매트릭스회로를 4×4키매트릭스 즉 O에서 F까지의 16개의 키로 구성된 키매트릭스회로를 갖는 키패드(20)에 국한하여 설명하기로 한다. 제2도에 의하면, 상기 마이크로콤퓨터(10)에는 상기 4×4키패드(20)로부터 어느 한 키가 눌려지면 4비트의 행신호를 행스캔라인을 통해 받아들이는 4비트(b0∼b3)의 입력전용 제1포트(PA)와 ; 상기 제1포트(PA)에 입력되는 4비트의 행신호의 논리값과 그때까지 제1메모리에 저장된 논리값과의 논리곱된 값을 저장하는 제1메모리(MA)와 ; 상기 키패드(20)로의 4비트의 열신호를 열스캔라인을 통해 출력하는 4비트(b0∼b3)의 입출력 겸용의쌍방향 제2포트(PB)와, 상기 제2포트의 각 비트가 입력용으로 사용되는지 출력용으로 사용이 되는지를 세팅해주는 방향설정레지스터(DDRB), 및 상기 제2포트(PB)에 입력된 4비트의 열신호의 논리값과 상기 방향설정레지스터(DDRB)의 각 비트에 셋팅된 논리 값들의 논리합한 값을 저장하는 제2메모리(MB)를 포함하고 있다. 그리고, 본 발명에 의한 키스캔회로는 키매트릭스회로로 구성된 키패드(20)에 기준논리신호값을 공급하는 풀업레지스터부(30)가 접속되어 있다. 또한, 키패드(20)로부터 출력되는 신호를 논리곱하기 위한 앤드게이트(60)가 키패드와 출력단에 부가적으로 설치하여, 그 논리곱된 제어신호를 상기 마이크로시스템의 자동 온오프 제어기능을 구현하거나, 또는 키체크신호를 공급하는데 사용할 수 있는 것이다.
본 발명에 따라서 상기와 같이 구성된 마이크로콤퓨터시스템의 키스캔회로의 동작을 제3도의 플로우챠트를 참조하면서 상세하게 설명하기로 한다.
제3도는 본 발명에 의한 마이크로콤퓨터시스템의 키스캔방법을 도시한 플로우챠트도이다.
제3도에 의하면, 본 발명에 의한 마이크로콤퓨터시스템의 키스캔방법은 4×4키매트릭스회로를 갖는 키패드(20)와 4비트 행신호 및 열신호를 처리하기 위한 단방향 제1포트(PA) 및 쌍방향 제2포트(PB)와, 상기 제1 및 제2포트(PA,PB)에 대응하여 논리값을 저장하는 4비트의 제1 및 제2메모리(MA,MB)와, 상기 제2포트(PB)에는 그 포트의 각 비트별 입ㆍ출력용도를 지정해주는 방향설정레지스터(DDRB)를 포함하는 마이크로콤퓨터시스템에서 상기 방향설정레지스터(DDRB)의 논리값을 적절히 설정함으로써, 상기 키패드(20)에서 2키 이상 누룰때의 회로가 쇼트되는 것을 방지해주고 회로쇼트방지용 다이오드등의 부가적인 회로가 불필요한 키스캔방법이다.
제3도에 의하면, 본 발명에 의한 마이크로콤퓨터시스템의 키스캔방법은 S601단계에서 각 포트(PA,PB) 및 각 메모리 (MA,MB)와 방향설정레지스터(DDRB)의 각 비트에 소정의 논리값을 설정함으로써 상기 마이크로콤퓨터시스템의 상기 키패드(2)에서 키가 눌려짐에 따라 키눌림을 체크하도록 초기화하고 있다. 즉, 상기 단계(S601)에서는 제1포트(PA)는 입력전용으로 되어있고, 제2포트의 각 비트를 '0000'으로 하여 전부 논리 "φ" 가 출력되고 있다. 제1메모리(MA)에는 '1111', 제2메모리(MB)에는 '0000'을 초기값 설정하고, 방향설정레지스터(DDRB)의 각 비트에 '1111'을 설정하여 제2포트의 각 비트가 출력모드로 지정되도록 초기화 한다. 다기 말하면, 쌍방향 제2포트(PB)의 각 비트는 상기 방향설정레지스터(DDRB)의 비트값이 '1'일때는 출력모드로 지정되고 '0'일때는 입력모드로 지정되도록 하고 있다.
다음, 임의의 키가 눌러지면 S602단계를 수행하며, 눌린키가 어느 키인지를 체크하기 위하여 S603단계에서는 키패드(20) 첫번째 열부터 체크하기 위하여제2포트 방향설정레지스터에 '0001'을 세팅한다. 예를들면, 상기 S602단계에서 키 '0'을 눌렀다하면, 상기 방향설정레지스터 (DDRB)의 각 비트는 '0001'의 값으로 부터 제2포트(PB)의 b0비트의 열부터 스캔하게 된다. 또한, 제2포트(PB)의 b3 내지 b1비트는 입력용으로 되고 b0비트만이 출력용으로 변경된다.
그 다음, S604단계에서는 제1포트(PA)의 입력된 비트값이 풀업레지스터에 의한 '1111' 값과 같은지를 판단하고, 그 판단결과 동일한 경우 이열에는 눌린키가 없음을 판단하고 제4도에 도시된 바와같이 다음 열을 체크하기 위하여 방향설정레지스터(DDRB)의 캐리비트값 C를 클리어하고 그 DDRB의 비트값을 좌측으로 1비트만큼 시프트한다(S606). 즉 이 단계(S606)에서는 RSL(Rotate Shift Left)을 수행한다. 한편, 상기 S604단계에서 제1포트(PA)에 입력된 논리값이 '1111' 이 아니면 상기 S602단계에서 키가 눌려졌음을 판단하고(S604), 상기 제1메모리 (MA)에는 현재까지 제1메모리 (MA)에 저장된 논리값과 제1포트(PA)의 논리값을 논리곱한 논리값을 제1메모리(MA)의 각비트에 저장하고, 상기 제2메모리(MB)에는 현재까지 제2메모리 (MB)에 저장된 논리값과 상기 방향설정레지스터(DDRB)의 각 비트의 논리값을 논리합한 논리값을 제2메모리(MB)의 각 비트에 저장한다 (S605). 그 다음, 상기 S606단계로 진행하여 방향설정레지스터(DDRB)의 캐리를 클리어하고 RSL을 수행한다. 다음, 캐리비트(C)가 '1'이 될때까지 상기 S604, S605 및 S606단계를 반복 수행한다(S607).
다음, 상기 S607단계에서 C=1이 되면 제2메모리(MB)의 각 비트값이 '0000'임을 판단한다(S608). 상기 S608단계에서 MB=0000이면 아무키도 눌려지지 않은 것으로 판단하여 작업을 종료하고(END), 상기 S608 단계에서 MB=0000이 아니면, S609단계로 진행하여 제1메모리(MA)의 각 비트(b0∼b3)의 논리값이 '0'인 갯수가 1보다 큰지를 판단하거나 또는 제2메모리(MA)의 각 비트(b0∼b3)의 논리값이 '1'인 갯수가 1보다 큰지를 판단한다. 상기 S609단계에서 MA의 0의 갯수 >1이거나 또는 MB의 1의 갯수 >1이면 상기 S602단계에서 2개 이상의 키가 눌려진 것으로 판단하여 에러처리를 하고(S610) 작업을 종료한다(END).
한편, 상기 S609단계에서 MA의 0의 갯수 또는MB 의 1의 갯수가 1일때는 S611단계로 진행하여 다음과 같은 소정의 계산식 2n+1+m=MV에 의하여 눌려진 키값을 확정하여(S611), 키입력(Key in) 처리를 한후 (S612) 작업을 종료한다.
상기 계산식에서 MV는 확정된 키값이고, n은 제1메모리(MV)의 n번째 비트값이 '0'일때의 n값이고, m은 제2메모리 (MB)의m번째 비트값이 '1'일때의 m값을 나타낸다. 예를들면, S602단계에서 9번 키가 눌려졌을 경우에는 제1포트(PA)에는 '1011'이 입력되어 제1메모리(MA)에는 초기화 단계(S601)에서 설정된 '1111'의 값과 현재 제1포트(PA)에 입력된 '1011'의 값과 논리곱을 취한값 '1011'이 제1메모리(MA)에 저장된다. 또한 제2포트(PB)에는 초기화단계(S601)에서 설정된 '0000'의 값과 방향설정레지스터(DDRB)의 현재값 '0010'과 논리합을 취한값 '0010'이 제2메모리(MB)에 저장된다. 따라서 n=2, m=1가 되어 상기 계산식으로부터 확정된 키값은 MV=9를 얻을 수 있고, 9번 키가 눌려졌음을 처리하게 되는 것이다.
다시 말하면, 상기 단계S603 내지 S607에서는 키를 스캔하여 제1메모리(MA) 및 제2메모리(MB)의 각 비트에는 그 키의 행열신호값인 행신호 및 열신호의 논리값을 저장하게 된다. 또한, 단계 S603에서 방향설정레지스터 (DDRB)에 '0001'을 설정하는 것은 키패드(20) 첫번째 열부터 스캔하기 위한 것으로 쌍방향 제2포트(PB)의 비트 b3 내지 b1을 입력모드로, 지정함으로써 2개 이상의 키가 동시에 눌릴경우 회로적인 쇼트를 방지하기 위한 것이다. S604단계에서는 각 열의 키눌림을 체크하고, S605단계에서는 상기 각 메모리(MA,MB)에 눌려진 키위치에 대한 신호를 저장한다. 상기 S606단계에서는 다음열을 체크하기 위하여 방향설정레지스터 (DDRB)의 값을 시프트시키며, S607단계에서 캐리발생여부를 체크하여 스캔완료 여부를 판단한다. 상기 S608단계에서 제2메모리(MB)의 값이 변하지 않았으면 아무키도 눌리지 않았음을 체크하며, S609단계에서는 제1메모리(MA) 또는 제2메모리(MB)의 비트값이 변한경우, 2키 이상이 눌렸나를 판별한다. 이때 2키이상 눌렸다고 판단되면 에러 또는 이중키 처리를 하고(S610), 한키만이 눌렸다고 판단되면, 즉 입력된 유효키가 한키로 판단되면 어느키가 눌렸는가를 산출한다(S611).
여기서, 어느키가 눌렸는가를 산출하는 방법은 제1메모리(MA) 및 제2메모리(MB)에 저장된 비트값으로부터 산출될 수 있다. 즉, 제2도를 예로할 때 0→4→8→C의 순으로 변한다. 이때 2의 승수로 변하게 하면 구성이 용이해진다. 이때,제2포트(PB)의 비트 0(b0)열에서 제1메모리(MA)의 비트 0(b0)가 변하면 그대로 '0'값으로 키값이 확정된다. 만일, 제1메모리(MA)의 비트 1(b1)이 변했으면 키값은 '4'로확정된다.
동일한 방법으로 MA의 비트 2(b2)와 MB의 비트 1(b1)이 변한 경우 상기 계산식에 n=2, m=1을 대입하면 23+1=9 즉 9번키를 눌렀음을 알게 되는 것이다.
본 발명에 의한 마이크로콤퓨터시스템의 키스캔회로의 다른 실시예로써, 제5도에 도시된 바와같이 마이크로콤퓨터의 제2포트(PB)와 같은 쌍방향포트를 사용하는 대신에 열스캔라인에 대응하여 오픈컬렉터타입(opem collector type) 또는 오픈드레인타입(open drain type)의 트랜지스터를 사용하여도 쌍방향포트와 동일한 효과를 가질 수 있다. 이에 대한 동작설명으로 인버터의 입력단에 '1'이 입력되면 트랜지스터의 컬렉터는 오픈되고, '0'이 입력되면 트랜지스터의 컬렉터에는 로우신호가 입력되어, 쌍방향포트의 경우와 같이 방향설정레지스터의 값을 적절히 설정함으로써 회로적으로 쇼트(단락)를 방지 할 수 있다.
또한, 제2도에 도시한 바와같이, 본 발명에 의한 마이크로콤퓨터시스템의 키스캔회로의 출력단에 앤드게이트를 부가함으로써 각 포트에 공급되는 논리값들의 논리곱신호를 키를 누르면 자동으로 시스템이 온되도록 하는 기능 또는 키처리해주는 기능을 위한 제어신호를 사용할 수 있다.
이상으로 상술한 바와같이 본 발명에 의한 마이크로콤퓨터시스템의 키스캔회로 및 그 방법은 간단하게 쌍방향포트의 DDR(data direction register) 또는 오픈컬렉터타입의 트랜지스터등의 논리값을 적절히 설정함으로써 2개이상의 키를 누를 경우 발생되는 회로단락을 방지해줄 뿐만아니라 주변회로를 최소화하는 효과가 있다.

Claims (9)

  1. m×n키매트릭스회로를 갖는 키패드와 상기 키패드로부터의 키잉동작을 인식하는 마이크로콤퓨터로 구성된 마이크로콤퓨터시스템의 키스캔회로에 있어서, 상기 마이크로콤퓨터내에 상기 키패드로부터의 m개의 행신호를 행스캔라인을 통해 직접 받아들이는 입력전용 제1포트와 ; 상기 제1포트에 입력되는 m개의 행신호의 논리값과 그때까지 제1메모리에 저장된 논리값과의 논리곱된 값을 저장하는 제1메모리와 ; 상기 마이크로콤퓨터내에 상기 키패드로부터의 n개의 열신호를 열스캔라인을 통해 직접 받아들이는 입출력겸용의 쌍방향 제2포트와 ; 상기 제2포트의 n개의 각 비트가 입력용인지 출력용인지를 셋팅해주는 방향설정레지스터와 ; 상기 제2포트에 입력된 n개의 열신호의 논리값과 상기 방향설정레지스터의 각 비트에 셋팅된 논리값들의 논리합된 값을 저장하는 제2메모리 ; 및 상기 m×n키매트릭스회로에 기준논리신호값을 공급하는 풀업레지스터부를 포함하는 것을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로.
  2. 제1항에 있어서, 상기 키패드내의 키매트릭스회로는 각행의 첫번째 열의 키값이 2의 승수로 증가하는 관계를 갖는 것을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로.
  3. 제1항에 있어서, 상기 m×n키매트릭스회로는 4×4키매트릭스회로로 구성함을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로.
  4. 제1항에 있어서, 상기 키매트릭스회로의 출력단에 앤드게이트를 추가로 포함함을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로.
  5. 제1항에 있어서, 상기 제2포트는 오픈컬렉터타입의 바이폴라 트랜지스터로 구성됨을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로.
  6. 제1항에 있어서, 상기 제2포트는 오픈드레인타입의 MOS트랜지스터로 구성됨을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로.
  7. m×n 키매트릭스회로를 갖는 키패드와, m×n의 행신호를 처리하기 위한 단방향 제1포트 및 쌍방향 제2포트와, 상기 제1 및 제2포트에 대응하여 존리값을 저장하는 n비트 제1메모리 및 m비트 제2메모리와, 상기 쌍방향 제2포트에 대응하여, 그 포트의 각 비트에 입출력용도를 지정해주는 방향설정레지스터를 포함하는 마이크로콤퓨터시스템의 키스캔방법에 있어서, 상기 제1 및 제2포트, 상기 제1및 제2메모리와, 상기 방향설정레지스터에 소정의 논리값을 설정함으로써 상기 마이크로콤퓨터시스템을 초기화하는 과정과 ; 상기 m×n키매트릭스회로를 갖는 키패드의 어느 키가 눌러졌을때 상기 방향설정레지스터의 각 비트별로 스캔하는 과정과 ; 상기 제1포트에 입력된 현재 값이 상기 초기화 단계에서 설정된 소정의 논리값(풀업저항값)과 동일한지를 판단하여, 동일한 경우에는 캐리비트를 클리어하고 제1포트 비트값을 좌측으로 1비트만큼 시프트시키며, 동일하지 않을 경우에는 n비트 제1메모리의 현재 논리값과 제1포트의 현재 논리값을 논리곱하여 그 값을 제1메모리에 저장하고, m비트 제2메모리의 현재 논리값과 방향설정레지스터의 현재 논리값을 논리합하여 그 값을 제2메모리에 저장한 다음, 캐리비트를 클리어하고 상기 방향설정레지스터의 비트값을 1비트만큼 좌측으로 시프트시키는 과정들을 캐리비트가 1이 될때까지 반복하는 과정과 ; 상기 캐리비트가 1이 되면, 제2메모리의 현재 논리값이 상기 초기화단계에서 설정된 소정의 논리값과 동일한지를 판단하여, 동일한 경우에는 작업종료단계를 진행하고, 동일하지 않은 경우에는 제1메모리에 저장되어 있는 현재 논리값들의 0의 갯수가 1보다 큰지 아닌지를 판단하거나 또는 제2메모리에 저장되어 있는 현재 논리값들의 1의 갯수가 1보다 큰지 아닌지를 판단하여 그 갯수가 1보다 크면 복수의 키가 눌려졌음을 체크한 후 에러처리하고 작업종료단계로 진행하며, 그 갯수가 1보다 크지 않으면 소정의 계산식에 의해 확정된 키값을 계산하여 키처리하는 과정을 포함하는 것을 특징으로 하는 마이크로콤퓨터시스템의 키스캔방법.
  8. 제7항에 있어서, 상기 초기화과정은 상기 제1포트를 입력전용으로 지정하는 과정과 상기 제2포트를 출력전용으로 지정하는 과정을 포함하는 것을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로.
  9. 제7항에 있어서, 상기 키처리과정에서는 다음의 계산식 :
    2n+1+m=MV
    (여기서, n은 제1메모리의 n번째 비트값이 '0'일때의 n값이고, m은 제2메모리의 m 번째 비트값이 '1'일때의 m값이며, MV는 확정된 키값을 나타낸다)에 따라서 키값을 산출하는 단계를 포함함을 특징으로 하는 마이크로콤퓨터시스템의 키스캔회로.
KR1019900017286A 1990-10-27 1990-10-27 마이크로_콤퓨터시스템의 키스캔회로 및 그 방법 KR930005841B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1019900017286A KR930005841B1 (ko) 1990-10-27 1990-10-27 마이크로_콤퓨터시스템의 키스캔회로 및 그 방법
US07/766,777 US5264845A (en) 1990-10-27 1991-09-27 Key scan circuit and method in a microcomputer system
JP3273930A JP2567167B2 (ja) 1990-10-27 1991-10-22 マイクロコンピュータシステムのキースキャン回路及びその方法
GB9122714A GB2249205B (en) 1990-10-27 1991-10-25 Key scan circuit and method of operating the same
DE4135278A DE4135278A1 (de) 1990-10-27 1991-10-25 Verfahren und schaltkreis zum abtasten von tasten fuer ein mikrocomputersystem

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
KR920008613A KR920008613A (ko) 1992-05-28
KR930005841B1 true KR930005841B1 (ko) 1993-06-25

Family

ID=19305267

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900017286A KR930005841B1 (ko) 1990-10-27 1990-10-27 마이크로_콤퓨터시스템의 키스캔회로 및 그 방법

Country Status (5)

Country Link
US (1) US5264845A (ko)
JP (1) JP2567167B2 (ko)
KR (1) KR930005841B1 (ko)
DE (1) DE4135278A1 (ko)
GB (1) GB2249205B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
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 聯陽半導體股份有限公司 鍵盤裝置及其按鍵狀態的偵測方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5477534A (en) * 1977-12-02 1979-06-21 Matsushita Electric Ind Co Ltd Digital input circuit
JPS6132127A (ja) * 1984-07-24 1986-02-14 Alps Electric Co Ltd キーボードのキーコード出力装置
US4833672A (en) * 1986-03-10 1989-05-23 Amp Incorporated Multiplex system
US4906993A (en) * 1988-04-04 1990-03-06 John Fluke Mfg. Co., Inc. Keyboard scanner apparatus and method
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

Also Published As

Publication number Publication date
GB9122714D0 (en) 1991-12-11
KR920008613A (ko) 1992-05-28
GB2249205A (en) 1992-04-29
JP2567167B2 (ja) 1996-12-25
DE4135278A1 (de) 1992-04-30
GB2249205B (en) 1994-07-27
JPH04299722A (ja) 1992-10-22
DE4135278C2 (ko) 1992-11-05
US5264845A (en) 1993-11-23

Similar Documents

Publication Publication Date Title
US4023023A (en) Field selection data operating device
US5394031A (en) Apparatus and method to improve programming speed of field programmable gate arrays
US5642114A (en) Variable length code decoder using a content addressable memory with match inhibiting gate
KR930005841B1 (ko) 마이크로_콤퓨터시스템의 키스캔회로 및 그 방법
US5155698A (en) Barrel shifter circuit having rotation function
US4459681A (en) FIFO Memory device
US4831571A (en) Barrel shifter for rotating data with or without carry
US3274566A (en) Storage circuit
US5220323A (en) Keyboard apparatus having ghost key sensing function
US4058673A (en) Arrangement for ciphering and deciphering of information
US4348737A (en) Multiple-function programmable logic arrays
JP3512939B2 (ja) 疑似乱数発生回路及び双方向シフトレジスタ
US4326290A (en) Means and methods for monitoring the storage states of a memory and other storage devices in a digital data processor
US3374468A (en) Shift and rotate circuit for a data processor
US4727476A (en) Simulation and security device for data entry keyboard
US4570215A (en) Input/output device for programmable controller
US5130940A (en) Barrel shifter for data shifting
JPH0361276B2 (ko)
US5003202A (en) Coincidence extendable programmable logic device
US4945537A (en) Maximum length linearly occurring code sequence generator
US4128872A (en) High speed data shifter array
EP0075623A1 (en) Digital device with interconnect matrix
US5969648A (en) Quaternary signal encoding
US4989224A (en) Coincidence circuit
US4660217A (en) Shift register

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030530

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee