본문 바로가기

Select translate language for this page

PC통신 HITEL 내발자국[동호회]

[참조] 키보드 인터페이스

by 컴매니아 1996. 12. 19.
반응형
안녕하세요~
저두 전에 키보드 컨트롤러를 만들어 볼려구 했어요.
저두 물론 8051로(정확히 8071)
첨 만들려구 했던 동기가 여러키를 한꺼번에 누르는
한글 타지 방법(이름은 생각 안나지만)을 보구
프로그램으로 할 필요 없이 하드웨어로 구현하는게
더 쉽다고 느꼈지 때문이었죠.

혹 지금 질문하신 분도 비슷한..(?)
근데 그때 못했습니다. 시간이 없어서.
그러다가 다시 디지탈 조이스틱을 생각했는데.
현재의 아날로그 조이스틱 보다도 키보드를
맵핑하는 방법을 생각했죠~ <== 역시 시간이 없어서 생각만..

얼마전에 키보드를 8051로 읽어야 하는 경우가 생겼습니다.
그래서 읽는 루틴만 만들었습니다.
제어하는 루틴은 그렇게 어려울꺼 같지 않습니다.
8051의 bit명령이 있으니까요.
제가 구현한 구조는 시리얼의 clk을 int0에
data를 p1.0에 연결해서 int0가 걸릴때마다
interrupt 루틴에서는 p1.0를 읽어서 쉬프트 저장하고
이 읽은 값을 16bytes Queue에 저장했죠.
그리구는 메인 루틴에서 Queue가 비었는지 검색해서
Queue로부터 하나씩 읽어서 (이때 당연히 Break Code 처리)
키 값을 사용했습니다.
그렇게 어렵지는 않으니깐 해보세요.
참고자료는 전자기술 96,6월호와 "C 시스템 프로그램밍" 이었어요
C를 썼었구요. ICC8051로 컴파일 했습니다.
제가 실험한 결과로는 한번도 Key를 잃어버리지는
않았습니다.
키보드로 명령을 내릴때는 timer를 쓰면 쉽겠죠~
모드1을 쓰면요~ 글쵸?
그럼 열심히 해보세요~ 생각보다 잘돼요~
질문 있으면 연락 주시구요~ 물어볼꺼두 없을꺼 같지만.

추위에 감기 조심하세요~
감기 걸려 크리스마스 이브에 놀러 못나가는 일이 없기를..

728x90
반응형

댓글