Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MUK_KR_Altera_2011.doc
Скачиваний:
38
Добавлен:
09.02.2015
Размер:
14.64 Mб
Скачать

3.9. Организация памяти

Принципиальная схема памяти изображена на рис. 3.23: 573РФ2 – ПЗУ объемом 2 K  8 бит, 537РУ10 – ОЗУ объемом 2K  8 бит. Выбор ПЗУ производится значением сигнала = 0, а выбор ОЗУ – значением сигнала= 0. Адресные сигналыBA10–0 подаются непосредственно на адресные входы БИС и обеспечивают адресацию 2K 8-разрядных ячеек памяти от адреса 0000h до адреса 07FFh для ПЗУ и от адреса 0800h до адреса 0FFFh для ОЗУ (см. табл. 3.12). Чтение ПЗУ и ОЗУ производится значением сигнала = 0, а запись данных в ОЗУ – сигналом= 0. Обычно под стек

Рис. 3.23. Схема подключения памяти

отводится часть ОЗУ, занимающая старшие адреса, поэтому инициализацию стека следует производить командой LXI SP,1000h.

Данные D7–0 должны подаваться с системной шины данных BD7–0 через приемопередатчик (см. рис. 1.3). При обращении CPU к другим устройствам (пульт управления, плата расширения системы) этот приемопередатчик должен быть выключен, поэтому следует правильно определить управляющий приемопередатчиком сигнал .

3.10. Дисплей

Пульт управления (ПУ) состоит из клавиатуры и дисплея. Значения параметров Ti и vj задаются с клавиатуры. Дисплей выполняется на базе 5-разрядного 7-сегментного светодиодного индикатора АЛС328В (рис. 3.24, а–г). Cхема контроллера дисплея приведена на рис. 3.24, д.

разряд 1 – индикация числа (периодTi),

разряды 2 и 3 – индикация направления b/F («–» – back, «+» – Forward) и числа (скоростьvj* ),

разряды 4 и 5 – индикация направления b/F и числа (скоростьvj),

где vj*– предыдущее значение скорости цели, vj – текущее значение скорости. Постоянный прямой ток через сегмент Imax = 10 мА.

Таблица 3.14

Функции управляющих сигналов

Вход

Значение

MODE

1 – HEX код

Z-состояние – код B

0 – дисплей погашен

0 –загрузка

1 –нет загрузки

Принципиальная схема и схема подключения дисплея изображены на рис. 3.24. Управление дисплеем производится при помощи специализированной микросхемы ICM7218C [4] как обычным внешним устройством. Для конфигурации схемы драйвера необходимо на вход MODE подать одно из трех логических состояний (см. табл. 3.14).

Таблица3.15

Коды управляющих катодов светоизлучающих диодов

Порт внешнего

устройства

Линии

данных

Унитарный

код

Номер разряда

20h

0

0

0

00000001

D1

21h

0

0

1

00000010

D2

22h

0

1

0

00000100

D3

23h

0

1

1

00001000

D4

24h

1

0

0

00010000

D5

25h

1

0

1

00100000

D6

26h

1

1

0

01000000

D7

27h

1

1

1

10000000

D8

Управление драйвером дисплея происходит согласно сигналам кода данных ID и адреса разряда DA (см. табл. 3.15–3.16).

Например, на пятый разряд необходимо вывести число 3. Для этого на шину записывается код пятого разряда 100, а на шинукод числа «3» – 0011.

MVI

A, 0011b

OUT

24h

Переменные: TN = 1, 2, 3, 4 (период зондирующих импульсов);

– VS1 = (знак предыдущей скорости);

– VN1 = 0, 1, .., 7 (модуль предыдущей скорости);

– VS2 = (знак текущей скорости);

– VN2 = 0, 1, ..., 7 (модуль текущей скорости);

– DN = 0, 1, 2, 3, 4 (номер разряда дисплея).

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

ОЗУ резервируются 2 ячейки памяти. Первая ячейка (с адресом 0803h) соответствует предыдущему направлению, вторая (с адресом 0804h) – предыдущей скорости.

Рис. 3.24. Контроллер 5-разрядного 7-сегментного дисплея

DN1

DN2

DN3

DN4

DN5

TN

VS1

VN1

VS2

VN2

20h

21h

22h

23h

24h

– катоды (OUTport)

803h

804h

– адрес ячейки памяти

Процесс вычисления значения разряда дисплея происходит следующим образом: если нажата клавиша скорости, значение которой лежит в пределах 0…7, то код нажатой клавиши отправляется непосредственно по адресу требуемого разряда дисплея.

LDA

804h

; извлечение кода предыдущего значения скорости

OUT

22h

; вывод значения предыдущего значения скорости на дисплее

MOV

A,C

; запись нового значения скорости

STA

804h

OUT

24h

Таблица 3.16

Таблица преобразования значений данных

в код символа

Код символа

Символ

HEX

Код B

0

0

0

0

0

0

0

0

0

1

1

1

0

0

1

0

2

2

0

0

1

1

3

3

0

1

0

0

4

4

0

1

0

1

5

5

0

1

1

0

6

6

0

1

1

1

7

7

1

0

0

0

8

8

1

0

0

1

9

9

1

0

1

0

A

1

0

1

1

b

E

1

1

0

0

C

H

1

1

0

1

d

L

1

1

1

0

E

P

1

1

1

1

F

<пустой>

Если была нажата клавиша периода (1100…1111), то значение кода клавиши необходимо уменьшить на 11, чтобы отобразились на дисплее символы от «1» до «4».

MOV

A,C

SUI

11

OUT

20h

Если же нажата клавиша направления «–»(код 1000), то для отображения символа «b» (=1011) необходимо прибавить 3 к коду клавиши. Если была нажата клавиша «+»(код 1001), то для отображения «F»(=1111) к коду нажатой клавиши необходимо прибавить 6.

LDA

803h

; извлечение кода предыдущего направления

OUT

21h

; вывод значения предыдущего направления на дисплее

MOV

A,C

; модификация значения текущего направления

CPI

8h

JZ

L1

ADI

6h

; была нажата клавиша «+»

JMP

L2

L1:

ADI

3h

; была нажата клавиша «–»

L2:

STA

803h

OUT

23h

; вывод символа на дисплей

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