- •ПОДКЛЮЧЕНИЕ К МИКРОЭВМ ДИСПЛЕЯ СЕМИСЕГМЕНТНЫХ ИНДИКАТОРОВ
- •Кафедра информационно-измерительной техники
- •ПОДКЛЮЧЕНИЕ К МИКРОЭВМ ДИСПЛЕЯ СЕМИСЕГМЕНТНЫХ ИНДИКАТОРОВ
- •Таблица 2.1
- •Таблица 2.2
- •Рис. 2.5. Схема подключения дисплея к микроЭВМ
- •Программа 2
- •4. Рекомендации по выполнению задания
- •Список рекомендуемой литературы
- •ПОДКЛЮЧЕНИЕ К МИКРОЭВМ ДИСПЛЕЯ СЕМИСЕГМЕНТНЫХ ИНДИКАТОРОВ
8
НаМД
|
D0 |
|
|
|
|
|
|
|
|
|
|
|
РгСк |
Q 0 |
|
|
|
|
|
|
|
|
|
D 0 |
|
|
|||||
|
D1 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
D 1 |
|
Q 1 |
|||||
|
D2 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
D 2 |
|
|
|||||
|
D3 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
D 3 |
|
Q 2 |
|||||
|
D4 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
D 4 |
|
|
|||||
|
D5 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
D 5 |
|
Q 3 |
|||||
|
D6 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
D 6 |
|
|
|||||
|
D7 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
D 7 |
|
Q 4 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
O E |
|
|
|
Q 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
S T B |
|
Q 6 |
|||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
От СхДШ А |
|
||||||||
|
|
|
|
|
|
(адрес 07h) |
|
||||||||
|
D0 |
|
|
|
|
|
|
|
|
|
|
|
РгСг |
Q 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
D 0 |
|
|
|
||||
|
D1 |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
D 1 |
|
|
Q 1 |
||||
|
D2 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
D 2 |
|
|
|
||||
|
D3 |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
D 3 |
|
|
Q 2 |
||||
|
D4 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
D 4 |
|
|
|
||||
|
D5 |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
D 5 |
|
|
Q 3 |
||||
|
D6 |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
D 6 |
|
|
|
||||
|
D7 |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
D 7 |
|
|
Q 4 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
O E |
|
|
|
Q 5 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
S T B |
|
Q 6 |
|||||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
От СхДШ А |
|
||||||||
|
|
|
|
|
|
(адрес 06h) |
|
|
|
|
|
R10-R15 |
+5 B |
||||||
|
|
|
|
||||||||
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
VT9 |
|||
1 |
|||||||||||
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
VT10 |
||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
VT11 |
|
|
|||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|||||
1 |
|
|
|
|
|
|
|
VT12 |
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
1
VT13
1
VT14
1
HG5 |
HG4 |
HG3 |
HG2 |
HG1 |
HG0 |
|
|
|
|
R2-R9 |
VT1 |
R16-R23 a |
|
VT2 |
|
|
VT3 |
b |
|
VT4 |
c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
d |
|
|
|
VT5 |
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VT6 |
|
|
|
|
|
|
e |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
f |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
VT7 |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
VT8 |
|
|
|
|
|
|
g |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2.5. Схема подключения дисплея к микроЭВМ
9
Включение индикатора и его сегментов при записи единицы в соответствующие разряды выглядит так:
|
Для регистра РBГBСBГB |
|
Номер разряда регистра |
|
сегментов дисплея …………………..0 1 2 3 4 5 6 7 |
|
Включенный сегмент …………………...a b c d e f g h |
|
Для регистра РBГBСBК |
B |
BНомер разряда регистра |
|
цифр дисплея ………………………….0 1 2 3 4 5 6 7 |
|
Включаемая цифра дисплея …………….0 1 2 3 4 5 - - |
|
Сигналы заведены на регистр РBГBСBГB и РBГBСBКB (К580ИР82) так, что при |
поступлении на вход STB сигнала выборки от дешифратора адреса данные с МД, подключенной по входам D0–D7, записываются в регистр и появляются на его входах Q0–Q7. Таким образом, например, при записи в регистр сегментов числа 0000 0110 отпираются транзисторные ключи VT2 и VT3, а при записи в регистр сканирования РBГBСBКB числа 0010 0000 отпирается транзисторный ключ VT14, и ток проходит по цепи +5В–VT14–HG1–b и c–VT2 и VT3 – земля, при этом в крайней левой ячейке дисплея высветится 1. Если теперь с помощью программы высвечивать по очереди все ячейки, записывая их код в регистр и включая необходимую цифру с помощью регистра РBГBСBКB, то при достаточно высокой частоте переключений можно получать устойчивое изображение информации на дисплее.
Приведем простую программу включения сегментов пятой ячейки дисплея с помощью кода, задаваемого со входного устройства микроЭВМ
(программа 1). |
|
|
|
|
|
|
|
|
|
Программа 1 |
|
|
|
Адрес |
Машинный |
Метка |
Мнемокод |
Комментарий |
|
|
|
Код |
|
|
|
|
|
0800 |
3Е 20 |
|
МVI А, 20 |
Загрузить в аккумулятор код- |
||
|
|
|
|
указатель на |
пятую |
ячейку |
|
D3 07 |
|
|
дисплея (0010 0000) |
|
|
0802 |
|
OUT |
Включить пятую ячейку |
|||
|
DB 05 |
|
SCAN |
дисплея |
|
|
0804 |
CNT |
IN |
Считать код символа из |
|||
|
D3 06 |
|
PORT_IN |
входного устройства |
|
|
0806 |
|
OUT DSP |
Записать код символа в регистр |
|||
|
C3 04 08 |
|
|
сегментов дисплея |
|
|
0808 |
|
JMP CNT |
Продолжить |
опрос |
входного |
|
|
|
|
|
устройства |
|
|
10
Программа 1 позволяет за счет изменения кода на входном устройстве (адрес 05h) включать различные сегменты пятого индикатора дисплея.
При необходимости вывода на дисплей алфавитно-цифрового слова, представляющего собой набор символов, каждый из которых должен отображаться в своем фиксированном знакоместе дисплея, используется мультиплексный режим вывода. В этом режиме символы, образующие слово, выводятся на дисплей через один и тот же регистр последовательно, символ за символом, каждый в свое знакоместо. В любой момент времени, таким образом, в регистре сегментов находится код только одного, текущего символа. При этом в регистре сканирования находится код-указатель на знакоместо символа. За счет подбора времени индикации символа (подпрограмма временной задержки между сменой символов) обеспечивается режим, при котором на дисплее формируется устойчивое изображение символьного слова.
На рис. 2.6 приведен алгоритм программы, обеспечивающей мультиплексный режим работы дисплея (программа 2).
Рис. 2.6 Схема алгоритма программы мультиплексного режима индикации в микроЭВМ
11
Коды символов алфавитно-цифрового слова хранятся в последовательных ячейках памяти с адресами 08E0 – 08E5. При этом предполагается, что код для вывода в нулевую ячейку дисплея записан по адресу 08E0. Начальный адрес подпрограммы временной задержки 08F0.
Программа 2
Адрес |
Машинный |
Метка |
Мнемокод |
Комментарий |
|
|
|
|
Код |
|
|
|
|
|
|
0800 |
AF |
DSO |
XRA A |
Очистить |
аккумулятор |
(через |
|
|
|
|
|
операцию |
|
"исключающее |
|
0801 |
21 Е5 08 |
СNT1 |
LXI H, 08Е5 |
или") |
|
|
|
Указать |
на |
адрес |
ячейки |
||||
|
|
|
|
памяти с кодом цифры для |
|||
0804 |
16 20 |
|
MVI D, 20 |
пятой ячейки дисплея |
|
||
|
Загрузить указатель на пятую |
||||||
0806 |
7Е |
CNT2 |
MОV A, M |
ячейку дисплея |
|
|
|
Извлечь |
из |
ОЗУ |
через |
||||
|
|
|
|
указатель |
HL код очередного |
||
0807 |
D3 06 |
|
OUT DSP |
символа |
|
|
|
|
Записать |
его |
в |
регистр |
|||
0809 |
7A |
|
MOV A, D |
сегментов дисплея |
|
||
|
Загрузить |
в |
аккумулятор |
||||
080A |
D3 07 |
|
OUT SCAN |
указатель на ячейку дисплея |
|||
|
Включить ячейку дисплея |
||||||
080C |
1F |
|
RAR |
Указать на следующую ячейку |
|||
080D |
57 |
|
MOV D, A |
дисплея |
|
|
|
|
Сохранить указатель на ячейку |
||||||
080E |
3E 03 |
|
MVI A, 03 |
дисплея в регистре D |
|
||
|
Загрузить |
в |
аккумулятор |
||||
|
CD F0 08 |
|
CALL DLY |
параметр временной задержки |
|||
0810 |
|
Вызвать программу временной |
|||||
|
AF |
|
XRA A |
задержки |
|
|
|
0813 |
|
Очистить |
аккумулятор |
(через |
|||
|
|
|
|
операцию |
|
"исключающее |
|
|
D3 07 |
|
OUT SCAN |
или") |
|
|
|
0814 |
|
Выключить |
все |
ячейки |
|||
|
2D |
|
DCR L |
дисплея |
|
|
|
0816 |
|
Сдвинуть указатель НL на код |
|||||
|
B2 |
|
ORA D |
следующего символа |
|
||
0817 |
|
Все ли сообщение выведено? |
|||||
0818 |
C2 06 08 |
|
JNZ CNT 2 |
Если нет, продолжать |
|
||
081B |
C3 01 08 |
|
JMP CNT 1 |
Если да, то начать сначала |
|
|
|
12 |
|
|
|
|
|
Подпрограмма временной задержки «DLY» |
||
Адрес |
Машинный |
Метка |
Мнемокод |
Комментарий |
|
|
Код |
|
|
|
|
08F0 |
F5 |
DLY |
PUSH |
Сохранить в стеке содержимое |
|
|
|
|
PSW |
аккумулятора и регистра флагов |
|
08F1 |
С5 |
|
PUSH B |
Сохранить в стеке данные из |
|
08F2 |
0E FF |
L2 |
MVI C, FF |
регистров В и С |
|
Загрузить в регистр С параметр |
|||||
08F4 |
0D |
L1 |
|
задержки |
|
DCR C |
Уменьшить счетчик С на 1 |
||||
08F5 |
C2 F4 08 |
|
JNZ L1 |
Пока С не равен 0, идти на L1 |
|
08F8 |
3D |
|
DCR A |
Уменьшить счетчик А на 1 |
|
08F9 |
C2 F2 08 |
|
JNZ L2 |
Пока A не равен 0, идти на L2 |
|
08FC |
С1 |
|
POP B |
Восстановить |
содержимое |
08FE |
F1 |
|
POP PSW |
регистров В и С |
|
|
Извлечь из стека |
содержимое |
|||
08FD |
C9 |
|
RET |
аккумулятора и регистра флагов |
|
|
Возврат в основную программу |
3.Задание по лабораторной работе
3.1.Исследовать программу 1, позволяющую за счет изменения кода во входном устройстве (адрес 05h) включать различные сегменты пятого индикатора дисплея. Заполнить таблицу соответствия кодов числа, записываемого в регистр сегментов дисплея, включенным сегментам (Табл. 4.1). Записать и проверить коды букв H, A, Ч, Л, О, F, I, L.
3.2.Исследовать программу вывода информации на дисплей (программа 2).
3.3.Разработать программу последовательного мультиплексного вывода лишь одного символа («бегущий символ»), задаваемого со входного устройства микроЭВМ на разные ячейки дисплея; для задания времени высвечивания символа на каждой ячейке дисплея использовать подпрограмму временной задержки «DLY».
3.4.Разработать программу вывода на дисплей из 6 семисегментных индикаторов сообщения (алфавитно-цифровые символы) произвольной длины, размещенного в памяти. Длина сообщения должна быть не менее 8 символов. Вывод сообщения производить в режиме «бегущая строка» (далее – БС). Скорость перемещения БС задавать с входного порта.