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

4. Создание макроэлементов в символьном редакторе

Пакет позволяет заменить синтезированные схемы макроэлементами, выполненными в символьном редакторе. Создадим макроэлемент делителя на 4, 5, 6 Div46_74 (рис. 4.1), для чего выполним указанную далее последовательность действий:

○ вызываем файл Div46_74.gdf;

○ вызываем созданный файл для редакции (File\CreatevDefault Symbol\Edit (рис. 4.1, a);

○ оставляем только те сигналы, которые будут востребованы в общей схеме для соединения с остальными макроэлементами схемы (убираем Q4, Q5N, Q7N, Q[3..0] и LN);

○ видоизменяем схему, внося во входные и выходные сигналы знаки, необходимые для правильного понимания работы элемента, а именно:

○ для входа X1 вводим символ, подчеркивающий импульсное воздействие – X1 \ Enter Pinstub \ в строку <same as above> вводим символ «v» сначала шрифтом 7, а затем шрифтом 12 (рис. 4.1, б);

○ поворачиваем символ на 90 и сдвигаем влево (рис. 4.1, в);

○ повторяем процедуру для сигнала CLK;

○ около динамических входов подписываем сигналы X1 и С (clk);

○ заменяем название входного сигнала X2N на X2, на вход вводим символ инверсного сигнала (кружок);

○ заменяем название выходного сигнала P4 на P4N и вводим символ инверсного сигнала (кружок).

На рис. 4.1, г представлен макроэлемент в символьном редакторе, файл которого Div46_74.sym затем помещается в каталог вместе с файлом Div46_74.gdf.

a

б

г

в

Рис. 4.1. Этапы создания макроэлемента в символьном редакторе

5. Инициализация микроконтроллера

Цель инициализации – задание определенных параметров работы имитатора до момента нажатия клавиш, а именно: задание вершины стека, запись в регистр делителей на M1i и M1j данных для обеспечения скорости v0 = 0, периода T1, выполнение команды EI разрешения прерываний и вывод на дисплей исходной информации (значений T1 и v0 = 0).

Программа инициализации имитатора

LXI

SP,1000h

; указатель вершины стека

MVI

A,dLT1

; младший байт данных для счетчиков M1i

OUT

port_dLT

; в регистр младшего байта счетчиков M1i

MVI

A,dMT1

; старший байт данных для счетчиков M1i

OUT

port_dMT

; в регистр старшего байта счетчиков M1i

MVI

A,dLV0

; младший байт данных для счетчика M1j

OUT

port_dLV

; в регистр младшего байта счетчика M1j

MVI

A,dMV0

; старший байт данных для счетчика M1j

OUT

port_dMV

: в регистр старшего байта счетчика M1j

Программа инициализации памяти для обслуживания дисплея

MVI

A,1

OUT

20h

; запись в первый разряд дисплея (для индикации T1)

OUT

24h

; запись в пятый разряд дисплея (для индикации v1)

STA

804h

; запись в ячейку ОЗУ текущего значения v1

SUB

A

; создание нуля в аккумуляторе

OUT

22h

; запись в третий разряд числа (для индикации

; скорости v0)

MVI

A,11

OUT

21h

; запись во второй разряд числа (для индикации

; направления –)

MVI

A,0Fh

OUT

23h

; запись в четвертый разряд числа (для индикации

; направления +)

STA

802h

; запись в ячейку ОЗУ предыдущего направления

Программа разрешения прерываний

MVI

A,0Bh

SIM

; разрешение прерываний по входу RST7,5

EI

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