마하전자기술연구소 LOGO

제품검색 고객센터053-604-2355
기술자료실

Home > 기술자료실 기술자료실

제 목 01. 키 입력의 처리법(chattering 회피)
첨부파일


키 입력 처리 방법

【키 입력이란? 】

 컴퓨터, 특히 마이크로 컴퓨터는 직접 하드웨어와
접속되는 것이 많아, 그것들과의 접속때의 노하우가 있습니다.
여기에서는 이른바 스윗치를 마이크로 컴퓨터에 접속해, 프로그
램으로 이 입력을 실시하는 경우의 노하우를 설명합니다.


【키와의 접속 방법】

 일반적으로 스윗치는 ON때 GND 즉 제로 전위가 되도록(듯이) 접속
합니다. 그 쪽이 노이즈 등에 강해지기 때문입니다. 이것을 간단한 회로
그림으로 가리켰던 것이 밑그림입니다.
우선, 스윗치의 다른 한쪽은 접지 해, 이제(벌써) 다른 한쪽을 마이크로컴퓨터의 입력 포토에
접속합니다. 그 때 그 같은 스윗치의 단자를 수kΩ의 저항을 통해
5 Volt에 접속합니다. 이렇게 하면(자), 스윗치가 OPEN의 사이는 입력 포토
에는 5 V가 더해져 이것을 프로그램으로 명령을 사용해 읽으면(자) 「1」(이)라고
. 또 스윗치를 ON로 하면(자) 입력 포토에는 0 Volt가 더해진다
것으로 되고, 이것을 읽으면(자) 「0」(이)가 됩니다.
이것으로, 프로그램으로 입력 포토를 명령으로 읽으면(자) 스윗치의 ON/OFF의
상태에 의해, 0/1이 되어 상태의 구별이 되게 됩니다.


【어떻게 입력할까】

 프로그램의 명령으로 읽는다고 하는 것은 무슨 일입니까? 
이것은 결국, 레지스터 상태와 같은 것이 됩니다. 즉, 외부의
신호의 Hi/Low에 의해, 레지스터의 것1/0이라고 같은 것이 됩니다.
따라서 통상의 레지스터의 읽기와 완전히 같게 읽을 수가 있습니다.
PIC 시리즈의 실제의 예로 가면(자)
    
    MOVF  PORTA, W   포토 A로부터 W레지스터에 읽어들인다

    BTFSC  PORTB, 1   포토 B의 RB1에 0 입력이 있으면
               다음의 명령을 스킵 한다


【chattering】

 키 입력을 취급할 때에 언제나 말해지는 것에 「chattering」라고인가
「바운스」라고하는 말이 있습니다. 이것은 무엇인가 말하면(자), 스윗치
의 접점이 ON가 될 때, 스윗치의 가동부에 기계적인 용수철을 사용하고 있다
모아 두어 매우 단시간에 보면(자) 접점에 곧 안정되어 붙는 것은 아니고, 몇회
인가는 두 그리고로부터 안정된 상태가 됩니다. 이전은 접점이 붙거나 멀어졌다
하고 있기 (위해)때문에, 신호도 Hi와 Low의 사이를 왔다 갔다하고 있습니다.
따라서 고속의 컴퓨터로 이것을 읽어들이면(자) 0으로 1을 매우 단시간의 사이
반복하게 되어 버립니다.
이 반복의 시간은, 보통수msec입니다만, 컴퓨터의 시간부터 본다
풀고든지의 긴 시간이 되어 버리기 (위해)때문에, 0으로 1에 상당하는 처리를 바타바
타와 반복하기 (위해)때문에 매우 불안정한 동작을 하게 되어 버립니다.
이 상태를 시간 확대해 나타냈던 것이 밑그림으로, 프로그램 처리 A가 대책
없음 상태를 나타내고 있습니다.

  

이것을 개선하는 방법은, 윗 그림의 프로그램 처리 B와 같이, 일단 입력의
변화를 감지하면(자), 수msec의 타이머를 넣어 기다려, 기다린 후에 한번 더
읽어들여 감지한 상태와 같다라고 하는 것이 확인할 수 있으면(자) 처음으로 변화에 대응
하는 처리하러 진행됩니다. 만약 재차 확인했을 때에, 변화가 없는 상태이면(자)
아무것도 하지 않고 원 상태인 채이었다고 해 무시합니다.


【chattering의 지속 시간은? 】

 키의 chattering의 지속 시간은 어느 정도일까요? 이것은
키의 종류, 구조상의 종류에 의해 폭이 있습니다.
대체로 아래와 같은 지속 시간으로 생각해 처리하면, 거의 틀림없이 안정되어
처리가 된다고 생각합니다.

   1. 토글스위치     30~50 msec
   2. 키보드의 스윗치   5~10 msec
   3. 누르는 보턴 스윗치   20~30 msec
   4. 대형 토글스위치   50~100 msec
   5. 소형 릴레이 접점      3~10 msec
   6. 로터리 스윗치    3~10 msec

목록보기

www.1chip.com, www.1chip.co.kr
www.micom114.com
자료실바로가기

대구광역시 북구 산격2동 1629 산업용재관 10동 13호 (2층) / Tel. 053-604-2355 / Fax. 053-383-2354 / E-mail. maha@paran.com