HRP-N3 - серия источников питания с максимальной пиковой мощностью в 350% от MEAN WELL

Подключение светодиодного матричного индикатора к микроконтроллеру PIC. Часть 2. Подключение индикатора и драйвера к микроконтроллеру, ПО

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

В первой части мы рассмотрели конструкцию матричного индикатора и основные аспекты управления им.

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Схема подключения индикатора и драйвера к микроконтроллеру очень проста. Нам потребуется семь резисторов номиналом 300 Ом, которые включаются в цепи строк R1-R7 для ограничения тока через светодиоды. Управление строками осуществляется выводами RB0-RB6 микроконтроллера. Столбцы индикатора подключаются к выходам драйвера ULN2003A. Соответствующие входы управления драйвера подключаются к порту RA0-RA4 микроконтроллера. Таким образом, микроконтроллер может переключать столбцы индикатора, записывая в порт соответствующие биты. Например, установив бит RA0 (лог. 1) и сбросив биты RA1-RA4 (лог. 0), мы сделаем активным первый столбец индикатора. Между перключениями столбцов микроконтроллер должен выдержать паузу около 1 мс. Для каждого столбца, необходимо вывести соответствующее значение в порт B, чтобы включить нужные светодиоды в столбце. Переключение между столбцами происходит довольно быстро, поэтому человеческий глаз этого не замечает, и мы видим статическое изображение.

Схема подключения индикатора и драйвера к микроконтроллеру (отладочной плате)

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

Главная часть нашего проекта – программа микроконтроллера, осуществляющая вывод символов на индикатор. Программа осуществляет переключение столбцов и вывод соответствующих данных в строки в определенные моменты времени. Данные, которые должны выводиться в порт B, могут быть определены в RAM микроконтроллера или в программе, если объема встроенной RAM недостаточно. В компиляторе mikroC переменные сохраняются в RAM, а константы сохраняются в памяти программ. В случае, если памяти RAM микроконтроллера не хватает, пользователь может определить массив констант в памяти программ.

В mikroC мы определим каждый символ с разрешением 5×7 (буквы английского алфавита A-Z, пользователи могут самостоятельно подготовить эти данные в соответствии со своими нуждами)

unsigned short Alphabets[130]=
{
0x7e, 0x09, 0x09, 0x09, 0x7e, // A
0x7f, 0х49, 0х49, 0х49, 0х36, // B
0x3e, 0х41, 0х41, 0х41, 0х22,
0x7f, 0х41, 0х41, 0х22, 0x1c,
0x7f, 0х49, 0х49, 0х49, 0х63,
0x7f, 0х09, 0х09, 0х09, 0х01,
0x3e, 0х41, 0х41, 0х49, 0x7a,
0x7f, 0х08, 0х08, 0х08, 0x7f,
0х00, 0х41, 0x7f, 0х41, 0х00, // I
0х20, 0х40, 0х41, 0x3f, 0х01,
0x7f, 0х08, 0х14, 0х22, 0х41,
0x7f, 0х40, 0х40, 0х40, 0х60,
0x7f, 0х02, 0х04, 0х02, 0x7f,
0x7f, 0х04, 0х08, 0х10, 0x7f,
0x3e, 0х41, 0х41, 0х41, 0x3e,
0x7f, 0х09, 0х09, 0х09, 0х06,
0x3e, 0х41, 0х51, 0х21, 0x5e,
0x7f, 0х09, 0х19, 0х29, 0х46,
0х46, 0х49, 0х49, 0х49, 0х31, // S
0х01, 0х01, 0x7f, 0х01, 0х01,
0x3f, 0х40, 0х40, 0х40, 0x3f,
0x1f, 0х20, 0х40, 0х20, 0x1f,
0x3f, 0х40, 0х30, 0х40, 0x3f,
0х63, 0х14, 0х08, 0х14, 0х63,
0х07, 0х08, 0х70, 0х08, 0х07,
0х61, 0х51, 0х49, 0х45, 0х43 // Z
}

А также данные специальных символов, которые сохраняются в программе

const unsigned short characters[30]=
{
0х24, 0x2A, 0x7f, 0x2A, 0х12, // $ 
0х08, 0х14, 0х22, 0х41, 0х00, // <
0х41, 0х22, 0х14, 0х08, 0х00, // > 
0х14, 0х14, 0х14, 0х14, 0х14, // =
0х36, 0х49, 0х55, 0х22, 0х50, // &
0х44, 0x3c, 0х04, 0x7c, 0х44, // PI
};

Демонстрация работы индикатора

Загрузки
Исходный код демонстрационной программы (последовательное отображение букв и символов на индикаторе) – скачать

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Basics of LED dot matrix display. Part 2. Circuit Setup and Software

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя