Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Обработчик прерывания от клавы 4х4 в CPU188

 Ответить Ответить
Автор
Сообщение
alex_i Смотреть выпадающим
Новичок
Новичок


Присоединился: 22 Июнь 2004
Online Status: Offline
Публикации: 5
Свойства публикации Свойства публикации   Ответить, цитируя автора - alex_i Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Обработчик прерывания от клавы 4х4 в CPU188
    Опубликовано: 24 Июнь 2004 12:33

Какое прерывание и как использовать (пишу на C++) для обработки матричной клавиатуры 4х4 без использования внешних драйверов в CPU188?

Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 24 Июнь 2004 21:24

На мой взгляд, лучше всего для этого подходит прерывание от таймера.

Инженер-системотехник
+7 (916) 477 3925
Наверх
_Oleg_ Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Июнь 2004
Online Status: Offline
Публикации: 1
Свойства публикации Свойства публикации   Ответить, цитируя автора - _Oleg_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Июнь 2004 11:54

А существует ли возможность использовать прерывание, а не опрос порта клавиатуры по таймеру?

Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Июнь 2004 12:09

Вообще, для этой цели служит драйвер Matrixk.com. Если нужно напрямую, то это зависит то того, как реализована работа с портом матричной клавиатуры в их прошивке ПЛИС S20. Напишите запрос в Фаствел или  в Прософт, там постараются помочь.

Инженер-системотехник
+7 (916) 477 3925
Наверх
Bobby Смотреть выпадающим
Новичок
Новичок


Присоединился: 12 Июль 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 2
Свойства публикации Свойства публикации   Ответить, цитируя автора - Bobby Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 12 Июль 2004 18:18
В схеме P55 цифровые входы побайтно можно привязать к прерыванию (например к INT3). Тогда любое изменение  в этом байте будет вызывать прерывание.
Наверх
Максим Ананских Смотреть выпадающим
Действительный член
Действительный член
Аватар

Присоединился: 14 Май 2003
Online Status: Offline
Публикации: 770
Свойства публикации Свойства публикации   Ответить, цитируя автора - Максим Ананских Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Июль 2004 19:06

Нет, вопрос был не о том. Имелся в виду порт клавиатуры, а не UNIO48.

Как мне рассказали в Фаствел, прошивка S20 сама опрашивает состояние матричной клавиатуры и кладет в порт по адресу 082h. При изменении состояния генерируется прерывание, если в старший разряд 082h записать 1. Это прерывание можно вывести на линию INT4, записав в 4 и 5 разряды регистра источника прерывания 08Dh нули (прерывание от S20).

На прерывании INT4 висит драйвер matrixk.com, который преобразует коды клавиш в соответствии с таблицей и затем складывает в буфер клавиатуры. Но вместо него это прерывание может использовать и пользовательская программа.

Инженер-системотехник
+7 (916) 477 3925
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz