|
Матричный светодиодный дисплей и микроконтроллер 8051
Статьи публикуются по мере поступления. Для упорядоченного тематического
поиска воспользуйтесь блоком "Карта сайта"
Светодиодный матричный дисплей состоит из матрицы светодиодов, расположенных в прямоугольной конфигурации. Желаемый символ или графику можно отобразить, включив / выключив желаемую конфигурацию светодиодов. Доступны общие конфигурации дисплея: 7 × 5, 8 × 8, 7 × 15 и т. Д. Светодиодная матричная матрица может использоваться в простых приложениях отображения, где разрешение не вызывает большой озабоченности. На рисунке ниже показано расположение светодиодов на типичном матричном дисплее размером 7 × 5.
Любой отдельный светодиод или группу светодиодов в матрице можно активировать, переключив необходимое количество строк и столбцов. Например, на приведенном выше рисунке, если Row1 сделан высоким, а Column1 становится низким, верхний левый светодиод (адрес R1C1) будет светиться. В качестве демонстрации давайте посмотрим, как мы можем отображать букву «A» с помощью дисплея. В приведенных ниже таблицах показаны логические уровни на каждом выводе для отображения A.
На приведенной выше диаграмме вы можете видеть, что только один светодиод подряд будет включен одновременно, но любое количество светодиодов в столбце может быть включено одновременно. Это означает, что штырь порта микроконтроллера может напрямую управлять строкой, но для этого требуется дополнительная схема для управления линиями столбцов. Ниже приведена принципиальная схема сопряжения точечного матричного дисплея и микроконтроллера 8051.
Принципиальная электрическая схема.
Целью ULN2003A здесь является управление строками столбцов дисплея. ULN2003A - высоковольтная (50 В), высокоомная (500 мА на канал) матрица транзистора Дарлингтона. Каждая ИС имеет 7 каналов с отдельными выходными зажимными диодами. ULN2003A - активное высокоуровневое устройство, что означает, что к входу должен быть применен логический максимум, чтобы обеспечить высокий выходной сигнал. Входные контакты обозначаются как 1B, 2B, 3B, 4B, 5B, 6B, 7B, тогда как соответствующие выходные выводы обозначаются как 1C, 2C, 3C, 4C, 5C, 6C, 7C. Конфигурация контактов и упрощенная внутренняя логика ULN2003A показаны на рисунке ниже.
Программа ORG 00H MOV P3,#00000000B // initializes port 3 as output port MOV P1,#00000000B // initializes port 1 as output port MAIN: MOV P3,#01111110B MOV P1,#11111110B ACALL DELAY MOV P3,#00010001B MOV P1,#11111101B ACALL DELAY MOV P3,#00010001B MOV P1,#11111011B ACALL DELAY MOV P3,#00010001B MOV P1,#11110111B ACALL DELAY MOV P3,#01111110B MOV P1,#11101111B ACALL DELAY SJMP MAIN // jumps back to the main loop DELAY: MOV R6,#255D // 1ms delay subroutine HERE: DJNZ R6,HERE RET END