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

Программируемый контроллер кр580вв79 с клавиатурой и дисплеем.

Функционально БИС делится на две части:

  • Клавиатурная (управляет работой клавиатуры или матрицы датчиков)

  • Дисплейная

Имеется оперативная память (восемь ячеек – восемь байтов): в режиме ввода датчиков – как обычная ОЗУ; в режиме работы с клавиатурой – как регистр FIFO.

Дисплейная часть рассчитана на работу с семисегментными индикаторами. Имеется ОЗУ для вывода данных на индикаторы (шестнадцать ячеек).

Д – выводы шины данных;

АО – шина адреса;

СS – выбор МС;

RD – строб чтения;

WR – строб записи;

СLK – сигнал для тактовых импульсов fmax = 2 mГц;

RESET – вход сброса начальной установки «1» - во всех регистрах 0;

Ucc – питание +5 В;

SND – земля;

RL0 ... RL7 – линия возврата (байт возврата при опросе клавиатуры);

SHIFT – линия сдвига;

CTRL/ - линия управления или стробирования;

SL0 ... SL3 - линия сканирования (вырабатывается сканирующий код);

DSPA0 ... DSPA3 – младший такт линии управления;

DSPB0 ... DSPB3 - старший такт линии управления;

BD – вывод бланкирования (гашения дисплея);

IRQ – вывод сигнала запроса прерывания.

Программирование кр580вв79.

Программная модель контроллера:

0000

Ячейка 0

Ячейка 1

000

0001

Ячейка 1

Ячейка 2

001

ОЗУ дисплея

ОЗУ клавиатуры / портов вывода

1111

Ячейка 15

Ячейка 8

111

Команды для управления контроллера:

  1. общие (используются во всех режимах);

  2. управляющие дисплеем;

  3. управляющие клавиатурой (портами ввода).

Тип команды

Наименование

Общие

  • установка режимов работы

  • программа очистки

  • управление частотой сканирования.

Команды управления дисплеем

  • чтение из ОЗУ дисплея

  • запись в ОЗУ дисплея

  • бланкирование – запрет записи.

Управление клавиатурой (портами ввода)

  • чтение ОЗУ клавиатуры (портов ввода)

  • установка режима ошибки – сброс прерывания.

Команды установки режимов работы.

7

6

5

4

3

2

1

0

0

0

0

Д

Д

К

К

К

Тип

команд

Управление

дисплеем

Управление

клавиатурой

Д

Д

0

0

Восьми позиционный дисплей

Ввод слева

1

0

Ввод справа

0

1

Шестнадцати позиционный дисплей

Ввод слева

1

1

Ввод справа

Пример ввода числа 245 слева:

2

2

…

4

2

4

…

5

2

4

5

…

Пример ввода числа 245 справа:

…

2

2

…

2

4

4

…

2

4

5

5

К

К

К

Примечание

0

0

0

Режим ввода с клавиатуры с обнаружением двух и более нажатых клавиш

Кодирование SL0 … SL3

0

0

1

Декодирование SL0 … SL3

0

1

0

Режим ввода с клавиатуры без блокирования ввода одновременно нажатых клавиш

Кодирование SL0 … SL3

0

1

1

Декодирование SL0 … SL3

1

0

0

Опрос восьми портов ввода

Кодирование SL0 … SL3

1

0

1

Декодирование SL0 … SL3

1

1

0

Режим стробируемого ввода

Кодирование SL0 … SL3

1

1

1

Декодирование SL0 … SL3

Кодирование – на линейное кодирование вырабатывается двоичный код (бегущий ноль).

Д екодирование – с выхода контроллера идет действительный код сканирования (бегущая 1).

Программная очистка.

7

6

5

4

3

2

1

0

1

1

0

Д

Д

Д

F

0

F – сброс регистра слова состояния и сброс сигнала запроса прерывания.

0 – бит общей очистки FIFO, ОЗУ дисплея.

Д

Д

Д

Примечание

0

0

Х

Запись в ОЗУ нулей (гашение индикаторов)

0

1

0

Запись в ОЗУ кода пробела

0

1

1

Запись в ОЗУ единиц (горение всех сегментов)

Код пробела: 20Н = 00100000В

Управление частотой сканирования.

7

6

5

4

3

2

1

0

0

0

1

Р

Р

Р

Р

Р

Р – коэффициент деления.

Условные регистры:

РУС – при А0 = 1

DAN – при А0 = 0

Пример: произвести инициализацию контроллера со следующими параметрами: произвести ввод данных с клавиатуры с блокировкой, шестнадцати позиционный дисплей, ввод слева, частота сканирования 5 кГц, частота синхронизации 2 мГц.

7

6

5

4

3

2

1

0

0

0

0

0

1

0

0

0

fclk – 2 мГц

f1 = 2000/100 = 20 кГц

f2 = fskan = 5 кГц

Кдекг = 4

INIT1

MVI A,001H

Управляющее слово

OUT РУС

MVI A,008H

Команда режима

OUT РУС

MVI A,24H

Установка частоты сканирования

OUT РУС

Чтение из ОЗУ дисплея.

7

6

5

4

3

2

1

0

0

1

1

АI

А

А

А

А

Признак

команды

Адрес ячейки

ОЗУ дисплея

АI – бит автоинкремента адресации (автоматически увеличивает адрес после каждой команды чтения).

Запись в ОЗУ дисплея.

7

6

5

4

3

2

1

0

1

0

0

АI

А

А

А

А

Пример: составить программу чтения кода символа, отображается на пять позиций дисплея.

01100101 = 65Н

MVI A,65H

OUT РУС

IN DAN ; в регистре А – содержимое ячейки 0101

Пример: составить программу для вывода «,» на вторую позицию дисплея.

01100010 = 62Н

MVI A,62H;

OUT РУС;

IN DAN;

ORI 10000000B ; установить Д7 = 1

MOV C,A;

MVI A,82H; – 10000010В

OUT РУС ; команда записи

MOV A,C;

OUT DAN;

Бланкирование – запрещение записи.

При вводе информации данные помещаются в ОЗУ ввода:

  1. режим опроса портов ввода (можно опрашивать восемь восьмиразрядных портов ввода, данные из каждого порта помещаются в ОЗУ ввода).

000

Ячейка 0

001

Ячейка 1

111

Ячейка 7

7

6

5

4

3

2

1

0

0

1

0

АI

Х

А

А

А

Адрес ячейки

ОЗУ ввода

  1. режим опроса клавиатуры, (ОЗУ организована по принципу FIFO – прочитать можно только верхушку регистра; при каждом нажатии данные записываются снизу).

0

1

0

Х

Х

Х

Х

Х

Пример: прочитать код нажатой клавиши.

MVI A,40H

OUT РУС

IN DAN