- статический метод
- динамический (мультиплексный)
Статический метод.
Все индикаторы постоянно включены в работу.
Для управления используют:
- дешифраторы семисегментного кода
- программную перекодировку.
| DISPLAY – подпрограмма управления дисплеем
|
|
|
|
|
| DISPLAY
| LXI D,DATA
| Начальный адрес массива
|
|
| LDAX D
| В (А) код для Ц1, Ц2
|
|
| OUT OPORT1
| Вывод на HG1, HG2
|
|
| INX D
|
|
|
| LDAX D
| В (А) код для Ц3, Ц4
|
|
| OUT OPORT2
| Вывод на HG3, HG4
|
|
| RET
|
|
| OPORT1: для HG1
|
| OPORT2: для HG2
|
| OPORT3: для HG3
|
| OPORT4: для HG4
|
| DISPLAY
| LXI D,DATA
| Начальный адрес массива
|
|
| LDAX D
| В (А) код для символа 1
|
|
| CALL CROSSCODE
| Подпрограмма перекодировки
|
|
| OUT OPORT1
| Вывод на HG1
|
|
| INX D
|
|
|
| LDAX D
| Чтение кода символа 2
|
|
| CALL CROSSCODE
|
|
|
| OUT OPORT2
|
|
|
| M
|
|
|
| OUT OPORT4
|
|
|
| RET
|
|
Достоинства:
- простота программной реализации
- простота схемной реализации
Недостатки:
- большой потребляемый ток:
Iпотр = Iср*8*4 = 20*8*4 = 640 мА
- большое число соединительных проводов
n = 8*4+1 = 33
- число индикаторов ≤ 4
Динамический (мультиплексный).
В каждый момент времени горит только 1 индикатор.
Чтобы не было мерцания надо напряжение подавать сначала на сегменты, затем на электроды:
Данные для вывода находятся в ОЗУ в соседних ячейках:

| ¯
|
| Погасить все индикаторы
|
| ¯
|
| Чтение данных для сегментов
|
| ¯
|
| Перекодировка
|
| ¯
|
| Вывод в PORT_SEGM
|
| ¯
|
| Вывод кода сканирования в PORT_SCAN
|
| ¯
|
| Задержка на время tсв
|
| Tscan = tсв ≤ 50 мс
|
| D7
| D6
| D5
| D4
| D3
| D2
| D1
| D0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Подпрограмма сканирования дисплея
|
|
|
|
|
| DISPLAY
| XRA A
|
|
|
| OUT PORT_SCAN
|
|
|
| MVI B,00000001
| Начальный код сканирования
|
|
| PUSH B
|
|
|
| LXI D,DATA
| Начальный адрес
|
| AGAIN
| LDAX D
| Чтение кода символа
|
|
| CALL CROSSCODE
| В (А) семисегментный код
|
|
| OUT PORT_SEGM
|
|
|
| POP B
| Чтение кода сканирования
|
|
| MOV A,B
|
|
|
| OUT PORT_SCAN
| Включение индикатора
|
|
| CALL DELAY
| Подпрограмма задержки на tсв
|
|
| CPI 00001000
|
|
|
| JZ DISPLAY
| Если да, идти на начало
|
|
| RLC
| Сдвиг кода сканирования
|
|
| MOV B,A
|
|
|
| PUSH B
|
|
|
| INX D
| Адрес следующего символа
|
|
| JMP AGAIN
| Зацикливание
|
Недостаток: микропроцессор не выполняет никакой другой работы.