2014-12-30 10 views
-2

키패드를 스캔하지만 RC0-3을 사용하는 자체 루틴을 만들지 묻는 메시지가 표시됩니다. 1,2,4,5가 맞다면 4x4 키패드에서 2x2 배열입니다. 내가 사용하는 키패드는 PORTC에 연결된 4x4 키패드입니다.이 작업을 수행하는 방법에 대해 궁금합니다. 나는이 사실을 가르쳐주지 못했지만 아직 작품의 큰 부분을 차지하고 있습니다. 해결책을 얻지 못하면 좋을 것이지만, 올바른 방향으로 나를 밀어 붙이는 설명이 더 많아서 스스로 할 수 있습니다. PIC Microcontrollers: Scan inputs on a 4x4 Keypad, using only Port C RC0-RC3 in C 기본적으로이 질문이지만 거기에 대한 답변은 실제로 도움이되지 않으므로 직접이 질문을하러 갈 것이라고 생각했습니다. 도움이 될 것입니다!C에서 PIC - RC0-3을 사용하여 자체 키패드 스캔 루틴 만들기

답변

0

이전에 링크 한 질문에서 "1,2,4,5"는 키패드 범례를 나타내며 그 값은 수신 한 비트 값과 관련이없는 경우가 많습니다. 각 출력 (행)에 "1"비트를 차례로 (또는 반전 된 논리의 경우 "0") 쓰고 열 입력의 높은 비트 (반전 된 논리가 낮은 비트)를 찾습니다. 나중에 조회 테이블을 사용하여 키톱에 쓰여지는 것에 대해 걱정할 필요가 있습니다. 루프 솔루션이 아닌 인라인 솔루션을 원한다면 2x2 키 매트릭스 또는 4x4 키를 사용하는지 여부는 상관 관계가 없습니다.

키패드가 실제로 2x2 인 경우 행렬 일 필요는 없지만 배선 및 코딩 모두 2 비트 및 2 비트 대신 입력으로 사용되는 4 비트를 사용하면 더 간단해질 수 있습니다.

4x4 키보드를 다시 배선하지 않으면 2x2 하위 집합에 RC0,1 및 RC4,5가 사용됩니다.

+0

정확히 내가 생각한 것, 그것이 이미 배선되어 있기 때문에, 사양은 우리가 RC0-3을 사용해야한다고 말했고, 완성 된 제품을 보여줄 것이며, 실제 PIC 시뮬레이터에서만 대학에서의 마지막 1 년 과정입니다. 그래서 실제 PIC 시뮬레이터에 있다면 행과 열을 원하는대로 변경할 수 있습니까? 편집 : 그냥 진짜 PIC 시뮬레이터에 놀이를했다, 내가 원한다면 열쇠를 와이어 수 있습니다, 그럼 내 다음 질문은 입력으로 RC0-1 및 RC2-3 입력으로 어떻게 설정합니까? 고마워요 :) – Joeliomason

+0

@ user2988392 전체 장치 및 코드를 시뮬레이션 한 다음 질문을 묻는대로 포트 할당을 설정합니다. 출력은 RC0,1, 입력은 RC2,3입니다. 비현실적인 상황에서 이상한 질문이 보입니다. 위에서 언급했듯이 2x2 행렬을 사용하는 이유는 무엇입니까? 반면에 4x4 행렬은 최종 프로젝트에 너무 부담이되지 않을까요? –

+0

@ user2988392 "** 포트 C 및 TRISC 레지스터 ** 포트 C는 8 비트 폭의 양방향 포트입니다 .TRISC 레지스터의 비트가 핀의 기능을 결정합니다. 다른 포트와 마찬가지로 로직 1이 TRISC Register는 적절한 포트 핀을 입력으로 구성합니다. " –