소스복사하기
다운로드: [AVR]키패드 입력제어 및 디바운싱 처리하기.zip
목차 |
Ⅰ. 목 표 Ⅱ. 개발환경 Ⅲ. 실험 1. 키패드로 CLCD에 문자 입력 받기 - 실험개요 - 부품리스트 - 회로도 - 소스코드 - 실험결과 - 원리 및 동작해석 2. 키패드로 CLCD에 문자열 입력 및 디바운싱 처리하기 - 실험개요 - 부품리스트 - 회로도 - 소스코드 - 실험결과 - 원리 및 동작해석 |
본문내용 |
Ⅰ. 목 표 이 보고서에서는 AVR MCU ATmega128과 3×4 키패드, CLCD를 이용하여 키패드의 입력을 MCU로 받아 CLCD로 확인하는 실험을 진행한다. 먼저 키패드의 입력값을 한 문자 씩 CLCD로 확인해보고 키패드의 기본적인 동작과 원리를 해석해 보도록 하겠다. 그리고 두번째 실험에서는 키패드로 문자열을 입력받는 실험을 진행한다. 키를 계속 누르고 있을 때 중복입력이 되지 않도록 소프트웨어적인 디바운싱 처리기법을 적용하여 문자열을 입력받을 수 있도록 한다. 그리고 그 원리에 대해서 해석해 볼 수 있도록 하겠다. <중략> 예를 들어. 사용자가 5번을 눌렀다고 할 때 Row 0 에 ‘L’을 출력하고(1행 선택) Col 0~3 에 ‘L’이 입력되었는지 감지해봐도 1행에는 스위치가 눌린 곳이 없기 때문에 Col 0~3 은 모두 풀업된 ‘H’일 뿐이다. 그 다음 Row 1 에 ‘L’을 출력하고(2행 선택) Col 0~3에 ‘L’이 입력되었는지 감지하면, 5번 스위치가 눌리기 때문에 Col 1 에 ‘L’이 검출되면서 눌려진 키 값을 변수에 저장하고 리턴하게 된다. <중략> - 원리 및 동작해석 스위치는 한번 누르면 스위치 내부의 접점이 충격에 의하여 여러 번 진동한다. 때문에 이런 진동에 의하여 접점이 여러 번 붙었다가 떨어지게 되고 입력신호도 그만큼 중복되어 입력되게 된다. 이런 바운싱bouncing은 의도치 않은 키입력을 연속으로 야기시키기 때문에 하드웨어적이나 소프트웨어적으로 디바운싱debouncing을 처리해 주어야 할 필요가 있다. |