Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

Разделы инструкций

В сети

Пользователей: 229
Из них просматривают:
Аналоги: 142. Видео: 1. Даташиты: 50. Инструкции: 11. Новости: 3. Остальное: 1. Производители: 2. Расчёты: 1. Теги: 3. Форум: 15.
Участников: 2
Гостей: 227

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

Функции для работы с клавиатурой

Рассмотрим функции для работы с клавиатурой, организованной в виде матрицы 4x4. Данные функции также могут использоваться для обслуживания клавиатур 4х1, 4х2 и 4хЗ. Схема подключения клавиатуры представлена на рисунке 23.

 

Рис. 23. Схема подключения клавиатуры 4x4

Рис. 23. Схема подключения клавиатуры 4x4

 
Для работы С клавиатурой испатьзуют-ся библиотечные функции Keypad_Init, Keypad_Read и Keypad_Released. Описание этих функций представлено в таблицах 4,5 и 6 соответственно.

 

 Таблица 4. Описание функции Keypad_Init  

Прототип

void Keypad_Init(unsigned *port)

Возвращаемое значение

Нет

Описание

Инициализирует порт для работы с клавиатурой. Должна вызываться перед использованием других функций данной библиотеки

Требования

Нет

Пример  

Keypad_Init(&PORTB)

 

 Таблица 5. Описание функции Keypad_Read

Прототип

unsigned short Keypad_Read(void)

Возвращаемое значение

1 -16 в зависимости от нажатой клавиши и 0, если нет нажатых клавиш

Описание

Проверяет нажатие клавиши. Функция возвращает 1 -16 в зависимости от нажатой клавиши и 0, если нет нажатых клавиш

Требования

Порт должен быть предварительно проинициализирован с помощью функции Keypad_Init

Пример     

kp = Keypad_Read()

 

 Таблица 6. Описание функции Keypad_Released

Прототипunsigned short Keypad_Released(void)
Возвращаемое значениеВозвращаемое значение 1 – 16 в зависимости от клавиши
Описание

Вызов функции Keypad_Released – блокирующий: функция ждёт, пока клавиша не будет

нажата и отпущена. При отпускании функция возвращает код от 1 до 16 в зависимости от клавиши    

ТребованияПорт должен быть предварительно проинициализирован с помощью функции Keypad_Init
Примерkp = Keypad_Released()

 
Следующий программный код может быть использован для проверки клавиатуры. Он поддерживает клавиатуры с матричной организацией от 1 до 4 строк и от 1 до 4 столбцов. Код, возвращаемый библиотечными функциями, перекодируется в ASCII-коды [0..9, A..F]. Дополнительно используется однобайтовый счётчик для вывода общего количества нажатий на клавиши во второй строке ЖКИ.

 

 unsigned short kp, cnt; 
char
txt[5];
void
main() {
cnt = 0;
Keypad_Init(&PORTC);

Lcd_Init(&PORTB); // Инициализация LCD на PORTC
Lcd_Cmd(LCD_CLEAR);
// Очистка дисплея
Lcd_Cmd(LCD_CURSOR_OFF);
// Отключение курсора
Lcd_Out(
1, 1, "Key :");
Lcd_Out(2, 1, "Times:");
do
{
 kp = 0; // Ожидание нажатия клавиши
do

//закомментировать неиспользуемую функцию опроса клавиатуры kp = Keypad_Released();
//kp = Keypad_Read();
while (!kp);
cnt++; // подготовить значение для вывода
if (kp > 10)
kp +=
54;
else

kp +=
47;
// вывод его на LCD

Lcd_Chr(1, 10, kp);
WordToStr(cnt, txt);

Lcd_Out(2, 10, txt);
}
while (1);
}
// конец прораммы

   

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

При пайке деталей над горловиной кинескопа накройте ее куском материи.
Этим Вы убережёте кинескоп от случайно падающего расплавленного припоя и, следовательно, от трещин в его стекле.

Похожие инструкции