Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вывод и отображение информации



Многие микроконтроллерные устройства требуют вывода информации на устройства индикации. Для отображения информации используют следующие типы индикаторов:

– светодиоды используют в тех случаях, когда требуется индикация типа ДА/НЕТ (рисунок 4.14);

– семисегментные индикаторы(ССИ) широко используются для отображения цифровой и буквенной информации (рисунок 4.15).

Рисунок 4.14 – Схема подключения светодиодов

Рисунок 4.15 – Структура и схема подключения семисегментного индикатора

Семь отображающих элементов позволяют высвечивать десятичные и шестнадцатеричные цифры, некоторые буквы русского и латинского алфавитов, а также некоторые специальные знаки.

Низкая нагрузочная способность МК не допускает прямого соединения с ССИ. В качестве промежуточных усилителей тока могут использоваться интегральные схемы преобразователей кодов для управления ССИ.

Преобразование двоичных кодов в коды для ССИ может осуществляться либо программно, либо аппаратно с использованием дешифраторов для семисегментных индикаторов.

Матричные светодиодные индикаторы (МСИ) используются для отображения алфавитно-цифровой информации (рисунок 4.16).

Каждый из таких МСИ, выполненный в виде интегральной микросхемы, представляет собой матрицу светодиодов размерностью , где N – число колонок, M – число строк матрицы.

Для включения одного светодиода матрицы необходимо обеспечить протекание через него тока 10–15 мА при напряжении 2,0–2,5 В. Подключение матричного индикатора к МК осуществляется через управляемые схемы формирования тока колонок и строк (см. рисунок 4.16).

Рисунок 4.16 – Структура и схема подключения матричного светодиодного индикатора

Для отображения многосимвольной информации используются линейные дисплеи. Такие дисплеи представляют собой «линейку», смонтированную из отдельных ССИ или МСИ. Число знакомест дисплея определяется в соответствии с требованиями к микроконтроллерной системе.

Существует два способа организации интерфейса МК с линейным дисплеем: статический и динамический.

Первый требует наличия на входах каждого индикатора специальных буферных регистров для хранения кодов выводимых символов. Естественно, что с увеличением разрядности дисплея возрастает число дополнительных микросхем, а следовательно, и стоимость микроконтроллерной системы.

Второй способ (динамический) основан на инерциальности человеческого глаза, которому отображаемая на дисплее информация, если ее обновлять с частотой не менее 20 раз в секунду, представляется неизменяемой. Динамический способ вывода информации на дисплей требует значительно меньших аппаратурных затрат, но более сложного программного обеспечения. Именно этот способ организации вывода информации получил преимущественное распространение в микроконтроллерных системах.

4.2.3.1 Динамический вывод информации на дисплей
из семисегментных индикаторов

При использовании внешних схем преобразователей кодов процедура индикации одного символа на ССИ в статическом режиме сводится к выдаче двоичного кода символа в соответствующий порт вывода МК (рисунок 4.17).

Рисунок 4.17 – Линейный дисплей на ССИ с динамическим отображением информации

Процедура вывода данных на линейный дисплей из СИИ включает следующие шаги.

1. Отключение всех индикаторов. В приведённой схеме (см. рисунок 4.17) этот шаг предполагает подачу на входы ОК всех индикаторов логических единиц.

2. Установка кода на информационных входах, предназначенного для отображения на одном из индикаторов.

3. Включение индикатора, на котором необходимо отобразить этот код. В привёденной схеме (см. рисунок 4.17) включение индикатора осуществляется подачей логического нуля на его вход ОК.

4. Организация временной задержки.

5. Выключение индикатора.

6. Переход на шаг 2 (вывод информации на следующий индикатор) и т.д.

Пример программной реализации данной процедуры приведен в листинге 4.22.

Листинг 4.22 – Программа вывода информации на четырехразрядный дисплей, приведенный на схеме, представленной на рисунке 4.17

; Программа реализует подсчет импульсов, подаваемых на разряд 0

; порта P0. Количество импульсов выводится на дисплей в

; десятичном виде. Индикатор HL1 используется для вывода младшего

; разряда десятичного числа, индикатор HL4 – для старшего.

; Сегменты H (точки) всех индикаторов выключены.

  .ORG 0000H JMP BEGIN   .ORG 000BH   JMP TIMER ; Адрес начала программы ; Переход к основной ; программе ; Адрес обработчика ; прерываний от таймера ; Переход к процедуре ; обработки прерывания
BEGIN:   NEXT:   TIMER:   I0:     I1:     I2:     I3: MOV IE, #00H MOV TMOD, #02H   MOV TL0, #7FH MOV TH0, #7FH MOV DPTR, #0000H MOV P1, #00H MOV P3, #10101010B MOV R0, #FFH     SETB TR0 MOV IE, #82H   SETB P0.0   JB P0.0, $ JNB P0.0, $   CLR EA   MOV A, DPL ADD A, #01H PUSH PSW DA A MOV DPL, A POP PSW   MOV A, DPH ADDC A, #00H DA A MOV DPH, A SETB EA   JMP NEXT     INC R0     CJNE R0, #00H, I1 MOV P3, #10101010B   MOV P1, DPL MOV P3, #10101000B   RETI CJNE R0, #01H, I2 MOV P3, #10101010B   MOV A, DPL SWAP A MOV P1, A MOV P3, #10100010B   RETI CJNE R0, #02H, I3 MOV P3, #10101010 B   MOV P1, DPH MOV P3, #10001010 B   RETI MOV P3, #10101010 B   MOV A, DPH SWAP A MOV P1, A MOV P3, #00101010B   MOV R0, #FFH RETI ; Запрет всех прерываний ; Настройка таймера на ; режим с автопрезагрузкой ; Загрузка регистров таймера ; Обнуление регистра DPTR ; Отключение индикаторов ; Загрузка регистра, ; отвечающего за выбор ; индикатора ; Разрешение счёта ; Разрешение прерываний от ; счётчика ; Настройка разряда порта на ; ввод ; Ожидание импульса ; Запрет всех прерываний ; Инкрементирование ; регистра DPL с десятичной ; коррекцией результата ; Инкрементирование ; регистра DPH с десятичной ; коррекцией результата; ; Разрешение прерываний от ; таймера ; Переход к следующему ; опросу P0.0 ; Инкрементирование регистра, ; отвечающего за выбор ; индикатора ; Отключение всех ; индикаторов ; Вывод кода (единицы) ; Включение индикатора ; HL1 ; Выход из прерывания ; Отключение всех ; индикаторов ; Вывод кода (десятки) ; Включение индикатора ; HL2 ; Выход из прерывания; ; Отключение всех ; индикаторов ; Вывод кода (сотни) ; Включение индикатора ; HL3 ; Выход из прерывания; ; Отключение всех ; индикаторов ; Вывод кода (тысячи) ; Включение индикатора ; HL4 ; Выход из прерывания;

Контрольные вопросы

1. Чем отличается статический сигнал от импульсного?

2. Что такое «меандр»?

3. Какие основные средства отображения информации применяются в микроконтроллерных устройствах?

4. Разработайте алгоритм динамического вывода информации на матричный дисплей.

5. Разработайте алгоритм вывода информации на семисегментный дисплей.





Дата публикования: 2014-11-03; Прочитано: 957 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.954 с)...