Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
686.docx
Скачиваний:
85
Добавлен:
24.04.2019
Размер:
6.68 Mб
Скачать

4.6.1 Регистр клавиатуры kb

Адрес 080000H. Значение после сброса xxxx1111B (полная конфигурация)

и xxxx0000B (упрощенная конфигурация).

Таблица 15. Регистр клавиатуры KB

Таблица 16. Назначение битов регистра KB

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

Если при старте программы записать в тетраду COL регистра KB ненулевое

значение, а затем его считать, то в полной конфигурации будет считано

записанное значение, а в упрощенной – нули.

В полной конфигурации ПЛИС работа с клавиатурой может быть

организована по прерыванию: 6-й бит (KB) регистра ENA заведен на вход

внешнего прерывания INT0 МК ADuC812. Внешнее прерывание будет

возникать, как только на клавиатуре будет нажата хоть одна клавиша (любая).

Таким образом, чтобы работать с клавиатурой по ее собственному прерыванию,

необходимо:

 Разрешить прерывание от клавиатуры (6-й бит регистра ENA должен

быть «1»);

 Настроить внешнее прерывание INT0 так, чтобы оно работало по спаду,

а не по уровню (регистр специального назначения TCON);

 Разрешить внешнее прерывание INT0 (бит EX0 = 1 в регистре

специального назначения IE);

 Написать обработчик внешнего прерывания INT0;

 Переключатели SW3 должны быть в положении OFF, а 5-й бит регистра

ENA (ПЛИС) должен быть «1»;

 Написать алгоритм сканирования клавиатуры.

206

Биты

Поле

Описание

0..3

COL

Поле предназначено для сканирования клавиатуры (колонки

матрицы). Сканирование производится посредством записи

логического «0» в один из разрядов поля. В полной

конфигурации ПЛИС из этой тетрады считывается записанное

ранее в нее значение. В упрощенной конфигурации всегда

возвращается «0».

4..7

ROW

Поле предназначено для считывания данных с клавиатурной

матрицы (строки). Если ни одна из кнопок в строке не нажата,

все биты поля ROW содержат логические «1». Если кнопка

нажата и на ее колонку подан логический «0», то в поле ROW

также появится логический «0».

7

6

5

4

3

2

1

0

R

R

R

R

R/W

R/W

R/W

R/W

ROW

COL

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]