Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab5.pdf
Скачиваний:
12
Добавлен:
06.03.2016
Размер:
476.22 Кб
Скачать

13

4. Рекомендации по выполнению задания

Первое задание по п. 3.1 необходимо выполнять в следующей последовательности.

4.1.Включить микроЭВМ УМПК – 80М в сеть.

4.2.Нажать клавишу отыскания адреса OтA. При этом в ячейках дисплея с номерами 2 – 5 должны индицироваться сегменты d.

4.3.Ввести в микроЭВМ программу 1 с адреса 0800.

4.4.Осуществить пуск программы нажатием клавиши П.

4.5.Последовательно устанавливая коды на входном устройстве (адрес 05h) и считывая информацию с дисплея заполнить табл. 4.1 и табл. 4.2.

 

 

Таблица 4.1

 

 

 

 

Символ

Код во входном

Шестнадцатеричный

 

устройстве

код

1

2

3

 

0

 

 

 

1

 

 

 

2

 

 

 

3

 

 

 

4

 

 

 

5

 

 

 

6

 

 

 

7

 

 

 

8

 

 

 

9

 

 

 

А

 

 

 

В (малое)

 

 

 

С

 

 

 

D (малое)

 

 

 

Е

 

 

 

F

 

 

 

ПРОБЕЛ

 

 

 

H

 

 

 

L

 

 

 

Y

 

 

 

P

 

 

 

П, Л (малое)

 

 

 

О (малое нижн.)

 

 

 

_ (нижн. черта)

 

 

 

-(средн. черта)

(верхн. черта) Все сегменты

14

 

 

 

 

 

 

 

 

Окончание табл. 4.1

 

 

 

 

 

 

 

 

 

 

 

Символ

 

 

Код во входном

Шестнадцатеричный

 

 

 

 

 

устройстве

 

код

 

 

1

 

 

 

 

2

 

 

3

 

 

R (малое)

 

 

 

 

 

 

 

 

 

1 (левая)

 

 

 

 

 

 

 

 

 

О (малое верхн.)

 

 

 

 

 

 

 

 

 

R (малое верхн.)

 

 

 

 

 

 

 

 

 

" " (верхн.)

 

 

 

 

 

 

 

 

 

" " (нижн.)

 

 

 

 

 

 

 

 

 

" "

 

 

 

 

 

 

 

 

 

 

 

" = " (нижн.)

 

 

 

 

 

 

 

 

 

" U " (нижн.)

 

 

 

 

 

 

 

 

 

"└┐"

 

 

 

 

 

 

 

 

 

 

 

"┌┘"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Адрес

08Е4

 

 

 

 

Адрес

 

08Е0

 

08Е1

 

08Е2

08Е3

 

08Е5

 

Индекс

 

0

 

Л

 

А

Ч

А

 

H

 

Код B(16)B

 

 

 

 

 

 

 

F

 

 

 

 

Индекс

 

 

 

L

 

I

A

 

 

 

 

Код B(16)B

 

 

 

 

 

 

 

А

 

 

 

 

Индекс

 

 

 

 

 

Ч

H

 

Л

 

Код B(16)B

 

 

 

 

 

 

 

 

 

 

 

 

Второе задание по п. 3.2 необходимо выполнить в следующей последовательности.

4.6.Ввести программу 2 в соответствии с текстом программы.

4.7.Нажать клавишу отыскания адреса OтА, ввести адрес 08Е0 и машинный код, соответствующий последнему символу первого слова табл. 4.2, и записать в ОЗУ (кл. 3пУВ).

4.8.Аналогично п. 4.7 ввести в адреса 08Е1–08Е5 машинные коды слов табл.

4.2и записать в ОЗУ (кл. 3пУв).

4.9.Нажать клавишу отыскания адреса OтA, ввести адрес 0800 и осуществить пуск программы нажатием клавиши "П".

Третье задание по п. 3.3 необходимо выполнить в следующей последовательности.

15

4.10.Установить в программе время включенного состояния цифры на каждой ячейке дисплея, равное 1с (время задается программой задержки); проследить изменения в информации, выводимой на дисплей.

Задание по пункту 3.4 выполнять, пользуясь приведенными ниже алгоритмами и пояснениями.

4.11.Пусть длина дисплея N символов (в данном конкретном случае 6), а длина сообщения – М символов, причем N<M. Таким образом, в квазистатическом режиме (на самом деле – динамическом режиме с временным мультиплексированием) на дисплее может отображаться только N символов из М возможных. Т.е. можно считать дисплей “окном”, через которое последовательно, блоками по N символов, выводится все сообщение.

Для получения эффекта БС необходимо в течение времени Т=Т1 обеспечить вывод блока из N символов (N1, N2, N3, N4, N5, N6), а затем, по окончании времени Т1 – блока из символов N2, N3, N4, N5, N6, N7 в течение Т2=Т, затем – блока из символов N3, N4, N5, N6, N7, N8 в течение Т3=Т и т.д. При правильно подобранном времени Т визуально создается эффект перемещения сообщения по дисплею в заданном направлении (как правило, справа налево). Регулируя значение параметра Т с входного порта, легко добиться управления скоростью перемещения строки. Подпрограмма временной задержки для БС может отличаться от подпрограммы DLY.

Перемещение строки по дисплею в непрерывном режиме аналогично круговому движению символов по окружности цилиндра, на которой для наблюдателя доступна только часть из N позиций. Таким образом, сообщение оказывается как бы закольцованным и в режиме непрерывного вывода первые символы сообщения следуют сразу за последними символами. Следовательно, чтобы исключить сливание первых и последних символов необходимо добавить n служебных пробелов, и тогда полная длина сообщения будет L=n+M. Кроме того, в программе необходимо контролировать длину выводимого сообщения. Это возможно двумя способами:

1)Задание фиксированного значения L

2)Введение в формат строки служебного символа “End of Line”

(EOL). В качестве последнего может использоваться любой код. Второй вариант является предпочтительным, так как позволяет работать

со строками произвольной длины, не заботясь о предварительном задании числа символов строки.

В этом случае полная длина строки:

L'=L+EOL=M+n+EOL,

где М – число символов строки;

n – число пробелов в конце (или начале строки – по выбору программиста);

EOL – служебный символ “конец строки”.

16

4.12. Алгоритм подпрограммы вывода «окна» (window) приведен на рис. 2.7.

Задать указатель на ячейку дисплея (IndPtr)

По текущему CharPtr (указателю на элемент массива символов)

проверить символ на EOL

EOL?

да

Переместить CharPtr на

 

 

начало строки

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывести символ на табло

 

 

 

по указателю IndPtr

 

 

 

 

 

 

 

 

 

Подпрограмма временной задержки

Указать на следующий индикатор и сдвинуть указатель IndPtr

нет

Вышли из табло?

да

Выход из подпрограммы

Рис.2.7. Алгоритм подпрограммы Window

4.13. Алгоритм основной программы БС приведен на рис. 2.8.

 

17

 

Начало

Загрузить указатель массива символов CharPtr

значением «начало строки» (начальным адресом)

Ввести с входного порта P_IN параметр скорости

движения строки (счетчик повторов «окна» CNT)

Сохранить указатель на начало «окна»

 

CharPtr

 

Вывести «окно» (Window)

Восстановить указатель на начало «окна»

 

CharPtr

да

Повторить

 

вывод «окна»

 

(по CNT)

 

нет

Сместить указатель CharPtr на начало

 

«окна» (сдвинуть «окно»)

 

нет

 

CharPtr=EOL?

 

да

 

Рис. 2.8. Алгоритм программы БС

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