Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорная техника.doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
6 Мб
Скачать
☆

Слово состояние контроллера.

Для чтения слово состояния: IN РУС.

7

6

5

4

3

2

1

0

DU

S/E

0

U

F

N

N

N

Количество символов в FIFO (количество заполненных ячеек)

F – флаг: «1» - FIFO заполнено полностью.

U – флаг переопустошения: при попытке чтения из пустого FIFO/

0 – флаг переполнения FIFO: если FIFO заполнено и поступает новый код.

S/E – флаг ошибки многократного нажатия.

DU – флаг: ОЗУ дисплея недоступно – вырабатывается после выполнения общих команд (после команды очистки).

Методы ввода данных с клавиатуры.

  1. с использованием опроса прерывания.

  2. с программным опросом слова состояния.

С использованием опроса прерывания.

В контроллере есть вывод (IRQ) на котором установлена «1», при нажатии клавиши – это сигнал для микропроцессора, что надо ввести код нажатой клавиши.

При переходе к подпрограмме обслуживания прерывания код читается из FIFO. По команде возврата из подпрограммы, запрос прерывания сбрасывается.

ORG XXXXH

VVOD

PUSH PSW

MVI A,40H

OUT РУС

Чтение FIFO

IN DAN

Чтение кода клавиши

CALL OBR

Подпрограмма обработки кода

POP PSW

EI

RET

VVOD2

IN РУС

Ввод слово состояния

ANI 00001111B

Выделение младшего разряда

JZ VVOD2

Цикл ожидания

MVI A,40H

OUT РУС

IN DAN

В (А) код нажатой клавиши

Достоинство – отсутствие дополнительных аппаратных затрат.

Недостаток – программа зацикливается пока не нажата клавиша.

Пример: шести позиционный дисплей, клавиатура из двадцати четырех клавиш.

0

1

2

3

Q1

Q2

4

5

6

7

Q3

Q4

8

9

А

В

Q5

Q6

С

D

E

F

Q7

Q8

A7

A6

A5

A4

A3

A2

A1

A0

HEX

Примечание

1

1

1

1

1

1

1

0

FE

Регистр данных DAN

1

1

1

1

1

1

1

1

FF

Регистр управляющего слова РУС

Так как на дисплее шесть индикаторов – то режим кодирования, надо подключить дешифратор.

Код клавиши

Название

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

…

…

0

0

0

0

1

0

0

0

8

…

…

0

0

0

0

1

1

1

1

F

0

0

0

1

0

0

0

0

Q1

0

0

0

1

0

0

0

1

Q2

…

…

0

0

0

1

0

1

1

1

Q8