Объявление

Свернуть
Пока нет объявлений.

Подключение светодиодного матричного индикатора к микроконтроллеру PIC

Свернуть
X
Свернуть

  • Подключение светодиодного матричного индикатора к микроконтроллеру PIC

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

Название:	1367732675_01.gif 
Просмотров:	1 
Размер:	102.3 Кб 
ID:	2932 />
    В статье мы рассмотрим базовые моменты подключения монохромного матричного индикатора к микроконтроллеру с целью отображения на нем статических символов. Для решения нашей задачи мы использовали отладочную плату StartUSB for PIC с установленным микроконтроллером Microchip PIC18F2550, однако пользователи могут использовать любой микроконтроллер с достаточным количеством линий ввода/вывода для управления индикатором.
    Нажмите на изображение для увеличения. 

Название:	1367732675_05.jpg 
Просмотров:	1 
Размер:	169.9 Кб 
ID:	2933 />
    Использование платы StartUSB обусловлено простотой ее использования, т.к. она подключается непосредственно к USB интерфейсу и для программирования микроконтроллера не требуется внешнего программатора.

    Матричный индикатор представляет собой массив светодиодов, объединенных в один корпус. Размеры массива обычно составляют 4×4, 5×7, 5×8 или 8×8 точек. Каждая точка может быть сформирована одним, двумя или тремя светодиодами различного цвета. Множество светодиодов объединены в столбцы и строки. Это сделано с целью сокращения количества выводов для управления. Например, для матричного индикатора 8×8 (см. рисунок ниже) требовалось бы 64 линии ввода/вывода, одна для каждого светодиода. Соединением всех анодов в рядах (R1-R8) и катодов в столбцах (C1-C8), необходимое количество выводов управления сокращаеся до 16. На рисунке ниже, если на R4 появится высокий уровень и на C3 – низкий уровень, то светодиод в четвертом ряду и третьем столбце будет светиться. Символы на таком индикаторе отображаются динамически, т.е. мы будем быстро переключать столбцы для отображения символа.

    Нажмите на изображение для увеличения. 

Название:	1367732675_02.png 
Просмотров:	1 
Размер:	26.6 Кб 
ID:	2934 />
    Матричный светодиодный индикатор, используемый в нашем проекте, имеет размер 5×7, и мы узнаем как отображать на нем стандартные символы разрешением 5×7. На рисунке ниже отображено, какие светодиоды должны быть включены для отображения буквы английского алфавита «A». Семь строк и пять столбцов управляются микроконтроллером. Теперь рассмотрим в деталях, как это работает.

    Нажмите на изображение для увеличения. 

Название:	1367732675_03.png 
Просмотров:	1 
Размер:	7.2 Кб 
ID:	2935 />
    Для отображения символа «A» сначала мы выберем первый столбец С1 (это означает, что в нашем случае на С1 мы подадим низкий уровень) и отключим все оставшиеся (подадим на С2-С5 высокий уровень). Теперь у нас активен первый столбец и необходимо включить светодиоды в строках R2-R7 подав на них напряжение высокого уровня. Далее, нам нужно сделать активным столбец C2 и включить светодиоды в строке R1 и R5 и так далее. Таким образом, перебирая очень быстро столбцы (более 100 раз в секунду) и включая соответствующие светодиоды для каждого отдельного столбца, мы увидим статическое изображение символа.

    Нажмите на изображение для увеличения. 

Название:	1367732675_08.png 
Просмотров:	1 
Размер:	56.8 Кб 
ID:	2936 />
    Таблица ниже демонстрирует, какие должны быть логические уровни на выводах столбцов и строк для отображения символа «A».
    Нажмите на изображение для увеличения. 

Название:	1367732675_06.png 
Просмотров:	1 
Размер:	17.2 Кб 
ID:	2937 />
    Следует отметить, что для управления столбцами индикатора потребуются ключи на транзисторах, т.к. линия ввода/вывода микроконтроллера не может обеспечить протекание большого тока (заметьте одновременно могут быть включены 7 светодиодов). С этой целью применяется драйвер ULN2003A, который имеет семь составных транзисторов. Активное состояние входа драйвера – высокий уровень. На рисунке ниже изображено расположение выводов микросхемы и схема одного канала.

    Нажмите на изображение для увеличения. 

Название:	1367732675_07.jpg 
Просмотров:	1 
Размер:	63.7 Кб 
ID:	2938 />
    Примечание. Выборки исходного кода, размещенные в тексте описания, использовать в своих проектах не рекомендуется. В конце описания имеется ссылка на архив с полным исходным кодом к проекту.

    Нажмите на изображение для увеличения. 

Название:	1367732675_04.png 
Просмотров:	1 
Размер:	82.3 Кб 
ID:	2939 />

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

    Нажмите на изображение для увеличения. 

Название:	1367732675_09.jpg 
Просмотров:	1 
Размер:	162.7 Кб 
ID:	2940 />

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

    Главная часть нашего проекта – программа микроконтроллера, осуществляющая вывод символов на индикатор. Программа осуществляет переключение столбцов и вывод соответствующих данных в строки в определенные моменты времени. Данные, которые должны выводиться в порт 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, // $ х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 };
    Демонстрация работы индикатора




    В архиве по этой ссылке - исходный код демонстрационной программы (последовательное отображение букв и символов на индикаторе)

      Возможность размещать комментарии к сообщениям отключена.

    Метки статей

    Свернуть

    Меток пока нет.

    Новые статьи

    Свернуть

    • Цифровые потенциометры от Dallas'а
      admin

      В 5 номере журнала "Компоненты и технологии" в статье "Цифровые потенциометры" читатель мог познакомиться с приборами аналогичного названия, терминологией, которая используется при рассмотрении данного типа приборов, получить общие сведения и принципы построения электронных схем с использованием цифровых потенциометров. В этой статье будут представлены некоторые дополнительные сведения, которые могут помочь разработчикам радиоприборов при использовании цифровых потенциометров, изготовленных в Dallas Semiconductor (DS). DS производит разнообразные, управляемые в ц...
      02.06.2017, 17:13
    • Подключение энкодера к микроконтроллеру PIC
      admin
      В данном демонстрационном проекте мы рассмотрим задачу сопряжения элемента управления под названием энкодер с микроконтроллером PIC.

      />
      Для реализации демонстрационного проекта нам понадобятся:
      • 24-позиционный энкодер;
      • 16 светодиодов (3 мм);
      • драйвер светодиодов A6276;
      • микроконтроллер PIC18F2550.
      ...
      02.06.2017, 17:13
    • Подключение светодиодного матричного индикатора к микроконтроллеру PIC
      admin
      Матричные светодиодные индикаторы находят широкое применение в устройствах отображения информации, т.к. позволяют отображать статический и анимированный текст и графику. Вы, наверное, сталкивались с такими большими информационными табло на автомобильных заправочных станциях, в общественных местах, на автодорогах, которые отображали информацию различного характера.
      />
      В статье мы рассмотрим базовые моменты подключения монохромного матричного индикатора к микроконтроллеру с целью отображения на нем статических символов. Для решения нашей задачи мы использовали отладочную плату StartUSB for PIC с установленным микроконтроллером Microchip PIC18F2550, однако пользователи могут использовать любой микроконтроллер с достаточным количеством линий ввода/вывода для управления индикатором.
      />
      ...
      02.06.2017, 17:13
    • Подключение LCD (HD44780) к микроконтроллеру PIC12F683 по трехпроводному интерфейсу
      admin
      Как известно ЖК дисплей на базе контроллера HD44780 требует для управления до 6 линий ввода/вывода микроконтроллера, поэтому подключить его к микроконтроллеру с малым числом линий ввода/вывода, например PIC12F683, в стандартном 8/4-битном режиме невозможно. В этом проекте мы рассмотрим технику управления таковым ЖК дисплеем с использованием всего лишь трех линий ввода/вывода микроконтроллера. Команды управления и данные...
      02.06.2017, 17:12
    • Использование графического ЖКИ МТ-12864А
      admin
      В предлагаемой статье автор разработал демонстрационную программу для микроконтроллера PIC16F877A, показывающую возможности графического ЖКИ и способы формирования изображений.
      Получающие сегодня все большее распространение графические ЖКИ с встроенными контроллерами, совместимыми с KS0108, значительно превосходят своих цифровых (с контроллерами НТ1611, НТ1613) и буквенно-цифровых (с контроллерами HD44780) собратьев. На них можно формировать произвольные монохромные изображения, не состоящие из хранящихся в ПЗУ контроллера образцов букв, цифр и некоторых вспомогательных символов. К...
      02.06.2017, 17:12
    • 12-кнопочная клавиатура с двухпроводным интерфейсом
      admin
      В статье рассмотривается вариант организации 12-кнопочной клавиатуры для устройств на микроконтроллерах. Интерфейс клавиатуры потребует от микроконтроллера всего лишь две линии ввода/вывода: одна линия предназначена для информирования микроконтроллера о нажатии кнопки, вторая линия – для чтения информации о нажатой кнопке.
      />

      Как известно, клавиатуры используются в устройствах на микроконтроллерах для ввода пользовательской информации и управления. В общем случае, многокнопочная клавиатура организуется как матрица кнопок объединенных в столбцы и строки, таким образом, интерфейс такой клавиатуры потребует определенного минимального количества линий ввода/вывода микроконтроллера. Например, 12-кнопочная клавиатура организуется в формат 4×3 и потребует 7 линий ввода/вывода. Для определения нажатой кнопки на такой клавиатуре микроконтроллер должен просканировать все столбцы и строки. В сети Интернет много информации относительно этой техники.
      Здесь мы рассмотрим иной интерфейс клавиатуры, требующей всего лишь две линии ввода/вывода микроконтроллера. Основа нашей 12-кнопочной клавиатуры – интегральный таймер 555, который сконфигурирован как несинхронизированный мультивибратор. Также для проверки работоспособности клавиатуры мы будем использовать микроконтроллер PIC16F628A, который будет считывать информацию с выхода таймера, определять какая кнопка нажата и отображать код нажатой кнопки на символьном LCD дисплее.

      Теория
      ...
      02.06.2017, 17:12
    Обработка...
    X