Я новичок в микроконтроллерах PIC & C и мне задана задача создать свой собственный метод сканирования клавиатуры, который работает исключительно на порту C (микроконтроллер 16F877A). В частности, программа, использующая этот метод, использует только цифры 1, 2, 4 и 5, поэтому для обеспечения эффективности метод сканера должен использовать только RC0, RC1, RC2 и RC3 в качестве назначенных входов/выходов (мне не разрешено для использования RC4-RC7). Это по существу превращает клавиатуру 4x4 в клавиатуру 2x2.Микроконтроллеры PIC: входы сканирования на клавиатуре 4x4, используя только порт C RC0-RC3 в C
Я понимаю, что в концепции сканирования есть строки портов, установленные на строки в верхнем ряду, а строки, заданные в качестве входных столбцов, - при нажатии кнопки, это считывает низкий кусочек порта для обнаружения кнопки.
К сожалению, я понятия не имею, как закодировать это на C, особенно используя указанные выше строки порта. Может ли кто-нибудь пролить свет на проблему и указать мне в правильном направлении? Спасибо!
Andrew Medico на самом деле правильно ответил на ваш вопрос.Возможно, вы захотите изменить название своего вопроса: он действительно не имеет ничего общего с клавиатурой 4x4: 3 квадранта с клавиатурой 4x4 являются «грязными» в вашем случае. Если вы назначаете Y0 Y1 Y2 Y3 вашим строкам и X0 X1 X2 X3 в столбцы: вам нужны только Y0 Y1 и X0 X1. Здесь вы можете использовать любой шаблон кода для клавиатуры 2x2. Существует много вариантов C для PIC16F877A (MPLAB, XC, HI-TECH, microC ...). Если вы ищете решение в конкретном варианте PIC-aware C, вы можете получить более точные ответы на http: //electronics.stackexchange .com –