![](/user_photo/2706_HbeT2.jpg)
- •ПОДКЛЮЧЕНИЕ К МИКРОЭВМ ДИСПЛЕЯ СЕМИСЕГМЕНТНЫХ ИНДИКАТОРОВ
- •Кафедра информационно-измерительной техники
- •ПОДКЛЮЧЕНИЕ К МИКРОЭВМ ДИСПЛЕЯ СЕМИСЕГМЕНТНЫХ ИНДИКАТОРОВ
- •Таблица 2.1
- •Таблица 2.2
- •Рис. 2.5. Схема подключения дисплея к микроЭВМ
- •Программа 2
- •4. Рекомендации по выполнению задания
- •Список рекомендуемой литературы
- •ПОДКЛЮЧЕНИЕ К МИКРОЭВМ ДИСПЛЕЯ СЕМИСЕГМЕНТНЫХ ИНДИКАТОРОВ
![](/html/2706/288/html_4P7oTLtx5u.Ska5/htmlconvd-wGZ_ir14x1.jpg)
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 |
|
|
|
П, Л (малое) |
|
|
|
О (малое нижн.) |
|
|
|
_ (нижн. черта) |
|
|
|
-(средн. черта)
(верхн. черта) Все сегменты
![](/html/2706/288/html_4P7oTLtx5u.Ska5/htmlconvd-wGZ_ir15x1.jpg)
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 – служебный символ “конец строки”.
![](/html/2706/288/html_4P7oTLtx5u.Ska5/htmlconvd-wGZ_ir17x1.jpg)
16
4.12. Алгоритм подпрограммы вывода «окна» (window) приведен на рис. 2.7.
Задать указатель на ячейку дисплея (IndPtr)
По текущему CharPtr (указателю на элемент массива символов)
проверить символ на EOL
EOL? |
да |
Переместить CharPtr на |
|||
|
|
начало строки |
|||
|
|
|
|
||
нет |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вывести символ на табло |
|
|
|
||
по указателю IndPtr |
|
|
|
||
|
|
|
|
|
|
Подпрограмма временной задержки
Указать на следующий индикатор и сдвинуть указатель IndPtr
нет
Вышли из табло?
да
Выход из подпрограммы
Рис.2.7. Алгоритм подпрограммы Window
4.13. Алгоритм основной программы БС приведен на рис. 2.8.
![](/html/2706/288/html_4P7oTLtx5u.Ska5/htmlconvd-wGZ_ir18x1.jpg)
|
17 |
|
Начало |
Загрузить указатель массива символов CharPtr |
|
значением «начало строки» (начальным адресом) |
|
Ввести с входного порта P_IN параметр скорости |
|
движения строки (счетчик повторов «окна» CNT) |
|
Сохранить указатель на начало «окна» |
|
|
CharPtr |
|
Вывести «окно» (Window) |
Восстановить указатель на начало «окна» |
|
|
CharPtr |
да |
Повторить |
|
вывод «окна» |
|
(по CNT) |
|
нет |
Сместить указатель CharPtr на начало |
|
|
«окна» (сдвинуть «окно») |
|
нет |
|
CharPtr=EOL? |
|
да |
|
Рис. 2.8. Алгоритм программы БС |