Рис. 7.28. Сигналы на сегментах, ключах и общих электродах индикаторов
Временные диаграммы работы четырехпозиционного дисплея представлены на рис. 7.29. На них показано, как подаются сигналы управления ключами для каждого из четырех индикаторов. Временной интервал между включением двух индикаторов называется межсимвольной паузой (обозначено буквой «З» - интервал затемнения). Это время необходимо для подачи сигналов управления сегментами следующего индикатора. При формировании этих сигналов для нового символа сигналы на общие электроды не подаются.
Управление процессом периодического переключения индикаторов дисплея называется сканированием дисплея. Это сканирование должно производиться с определенной частотой, при которой будет незаметно переключение индикаторов. Такая частота должна быть не менее 20 Гц [10]. Если обозначить частоту сканирования SCAN, то период сканирования TSCAN = 1 / ƒSCAN. Для одного индикатора и частоте ƒSCAN = 20 Гц минимальный период сканирования TSCAN = 50 мс.
Если же число индикаторов N, то период сканирования должен быть
TSCAN 50 / N, мс, а частота сканирования
ƒSCAN N / 50, мс.
Например, при
N = 4 TSCAN 12,5 мс, ƒSCAN 80 Гц;
N = 6 TSCAN 8 мс, ƒSCAN 120 Гц;
N = 8 TSCAN 6,25 мс, ƒSCAN 160 Гц.
Рис. 7.29. Временные диаграммы управляющих сигналов на ключах Кл1-Кл4 дисплея
Для управления ключами индикаторов МК должен выдавать в порт P2 код сканирования, в котором будет только одна единица для включения соответствующего ключа и индикатора дисплея. Коды сканирования на выводах порта P2 имеют следующий вид:
00000001 - включен ключ Кл1, индикатор HG1 горит,
00000010 - включен ключ Кл2, индикатор HG2 горит,
00000100 - включен ключ Кл3, индикатор HG3 горит,
00001000 - включен ключ Кл4, индикатор HG4 горит,
00000001 - включен ключ Кл1, индикатор HG1 горит, и т.д.
МК должен постоянно выполнять сканирование дисплея, т.е. устанавливать данные на сегменты и высвечивать информацию на каждом индикаторе. Если эта операция будет выполняться регулярно и с достаточной частотой, то визуально будет казаться, что все символы на дисплее светятся одновременно.
Рассмотрим вначале программу управления дисплеем при условии, что сканирование является единственной функцией МК. Укрупненная БСА программы сканирования представлена на рис. 7.30. Первый блок – это выключение всех индикаторов. Затем в блоке 2 данные для формирования определенного символа пересылаются из ячейки ПД в аккумулятор МК. Эти данные необходимо с помощью подпрограммы перекодировки (блок 3) преобразовать в семисегментный код. В блоке 4 полученный код выводится в порт P0 на сегменты индикаторов. В это время все индикаторы еще выключены. Затем МК должен выдать в порт P2 код сканирования для включения соответствующего ключа и индикатора, для которого предназначались данные. В блоке 5 выполняется программная задержка на время свечения tСВ, которое равно выбранному периоду сканирования дисплея TSCAN. После отсчета времени tСВ цикл сканирования дисплея повторяется, но уже для другого индикатора.
Рис. 7.30. БСА программы сканирования дисплея
Программа сканирования дисплея по рассмотренному алгоритму может иметь следующий вид:
;DISPL – программа управления 4-х позиционным дисплеем
;Входной параметр: DATA – начальный адрес массива данных
;для вывода на дисплей
;Регистр R0 – указатель адреса данных
;Регистр R2 – хранит код сканирования
;Регистр R7 – счетчик позиций дисплея
DISPL: MOV R0,#DATA
MOV R2,#00000001B ;Начальный код сканирования
MOV R7,#4 ;Количество позиций дисплея
AGAIN: MOV P2,#00H ;Погасить все индикаторы
MOV A,@R0 ;Пересылка данных в аккумулятор
CALL CROSSCODE ;Подпрограмма перекодировки
MOV P0,A ;Вывод кода на сегменты
MOV P2,R2 ;Вывод кода сканирования
; (включение индикатора)
CALL DEL10MS ;Задержка на время tСВ = 10 мс
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.