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

Лабораторная работа № 2

Исследование работы устройств динамической индикации.

Цель работы – научиться работать с устройствами динамической индикации на базе 7-сегментных индикаторов, изучить программно-аппаратный метод подключения индикаторов к МК АТ89S8253.

Теоретическое введение

7-сегментные индикаторы предназначены для отображения цифровой информации (0-9) и некоторых букв (например, Б, Н, Ч, А, П, Е, Р, F,h, C, D). Они выпускаются в виде микросхем с различным цветом свечения и размерами знаков.

Например, АЛС348А – зеленый (АЛС339А – красный) – индикаторы для цифр размером меньше 5 мм. АЛС338А – зеленый (АЛС333А – красный) – индикаторы для цифр размером (8-18) мм. Существуют индикаторы, отображающие только знаки «+» и «-». Имеются разновидности микросхем для включения их по схеме с общим катодом и с общим анодом.

Для управления индикаторами разработаны микросхемы дешифраторы двоичного кода в 7-сегментный, однако, управлять можно и напрямую с портов МК.

Обычно такими индикаторами управляют в динамическом режиме, при котором цифры и символы включаются по очереди. Каждый индикатор представляет собой восемь светодиодов (в данной работе, подключенных к общему аноду), семь светодиодов отображают цифру, а восьмой – отображает десятичную точку. Пронумерованы ячейки так как показано на рисунке 1б.

а б в

Рисунок 1 Внешний вид (а), нумерация выводов и обозначение сегментов (б) и электрическая схема (в) 7-сегментного индикатора

Работа в мультиплексном режиме. Для уменьшения схемотехнического обеспечения, необходимого для подключения индикаторов к МК, применяется мультиплексный режим работы индикаторов (рисунок 2), при котором для вывода информации на дисплей используют два регистра (и два выходных порта). Для записи 7-сегментного кода используется порт Р0, а для выбора номера индикатора – порт Р1. Одинаковые сегменты каждой ячейки индикаторов связаны общей шиной, подключенной через диодную матрицу ULN2804 (нужна для развязки ШД МК и индикаторов) к порту Р0. Так как Р0 не имеет внутренних подтягивающих регистров, то на его выводы для задания уровня «1» установлены внешние подтягивающие резисторы R20…R27( см. рисунок 2 и описание Р0).

При мультиплексном режиме работы индикаторов информация на диоды выводится последовательно (в один момент времени с шиной работает только 1 индикатор). Для выбора индикатора используется младшая тетрада порта Р1 (Р1.0… З1.3).

Кроме этого разрешить/запретить работу индикаторов можно с помощью стойки переключателей SW2, для разрешения работы переключатели 5, 6, 7 и 8 необходимо установить в положение ON.

Рисунок 2 схема подключения дисплея к МК.

Цифра (символ) на индикаторе высвечивается некоторый промежуток времени, задаваемый подпрограммой задержки. При большой частоте выбора индикаторов на дисплее оператор видит устойчивое изображение, при снижении частоты до нескольких десятков Гц, изображение начинает мигать. Ниже приведен пример программы мультиплексного режима индикации в МК: организация «бегущей «8». Причем активный сигнал, при котором засветится сегмент индикатора - «0».

Пример void main() {

do {

P0 = 0x00; // запись в порт 0 цифры «8»,

P1 = 0x01; // подача на нулевую ячейку индикаторов логической «1», запись в порт 1,

Delay_ms(500); // 0,5 сек задержка,

P0 = 0x00; // запись в порт 0 цифры «8»,

P1 = 0x02; // подача на первую ячейку индикаторов лог. «1», запись в порт 1, Delay_ms(500); // 0,5 сек задержка,

P0 = 0x00; // запись в порт 0 «8»,

P1 = 0x04; // подача на вторую ячейку индикаторов лог «1», запись в порт 1, Delay_ms(500); // 0,5 сек задержка,

P0 = 0x00; // запись в порт 0 «8»,

P1 = 0x08; // подача на третью ячейку индикаторов лог. «1», запись в порт 1, Delay_ms(500); // 0,5 сек задержка,

} while(1); // бесконечный цикл,

}

Порядок выполнения работы

1Изучить теоретическое введение, описание электрической схемы принципиальной подключения 7-сегментных индикаторов (4 разряда) к МК.

2По заданию преподавателя составить таблицу истинности для нижеперечисленных символов. Младший разряд порта Р0 (Р0.0) соответствует сегменту а, старший (Р0.7):- сегменту dp. Включение сегмента – логическим «0».

символы

Выходное значение кода на выходе МК 51

 

Двоичный код

16-ричный код

 

dp g f e d c b a

 

1249

 

 

0837

 

 

23.-1

 

 

F074

 

 

h509

 

 

А760

 

 

469.3

 

 

63-9

 

 

3В соответствии с заданием изменить программный код (по пп. 4-7).

4Включить все индикаторы (на все индикаторы подать одну цифру по выбору преподавателя: «0», «8», «4», «9», «7» или «5». Для чего видоизменить программу для последовательного вывода указанной цифры с МК на разные ячейки.

5) Выключить все индикаторы (все индикаторы должны быть погашены). Это достигается прекращением выборки ячейки (индикатора).

6) Видоизменить вышеописанную программу так, чтобы на индикаторах можно было наблюдать бегущие «0» , «8», «4» , «9», «7» или «5» соответственно. Сначала установить задержку 500мс, затем поменять на 50мс, затем на 1 мс. Записать в отчет изменения в работе индикатора (есть ли зависимость от частоты подачи сигналов).

7) Подать на индикаторы число, указанное преподавателем.

Содержание отчета

1.Схема подключения индикаторов к МК.

2.Алгоритм программы мультиплексного режима индикации.

3.Схемы алгоритмов и реализующие их программы для каждого задания по пп.4, 6, 7.

4.Результаты работы программы.

Вопросы для защиты

1.Каков принцип работы семисегментных индикаторов?

2.В чем заключается идея динамической индикации?

3.Какую информацию можно вывести на семисегментный индикатор?

4.Какой сигнал (сигналы) необходимо подать на индикатор, чтобы погасить его?