Управление одноразрядным 7-сегментным светодиодом с помощью PIC-микроконтроллера — интересный и практичный проект, который находит применение в различных областях, таких как цифровые дисплеи, встроенные системы и автоматизация. Как поставщик однозначных 7-сегментных светодиодов, я хорошо разбираюсь в компонентах и процессах, задействованных в этом механизме управления. В этом блоге я расскажу вам, как управлять одноразрядным 7-сегментным светодиодом с помощью микроконтроллера PIC.
Понимание однозначного 7-сегментного светодиода
Однозначный семисегментный светодиод состоит из семи отдельных светодиодных сегментов, расположенных в форме цифры 8 вместе с десятичной точкой. Эти сегменты обычно обозначаются как a, b, c, d, e, f и g. Подсвечивая разные комбинации этих сегментов, мы можем отображать разные цифры от 0 до 9, а также некоторые буквы.
7-сегментный светодиод может иметь либо общий анод, либо общий катод. В конфигурации с общим анодом все аноды отдельных светодиодов соединены вместе и подключены к источнику положительного напряжения. Чтобы зажечь сегмент, соответствующий катодный вывод должен быть переведен в низкий уровень. И наоборот, в конфигурации с общим катодом все катоды соединены вместе и заземлены, и чтобы зажечь сегмент, соответствующий анодный вывод должен быть поднят вверх.
Выбор подходящего микроконтроллера PIC
Когда дело доходит до управления одноразрядным 7-сегментным светодиодом, можно использовать несколько микроконтроллеров PIC. Некоторые популярные варианты включают PIC16F84A, PIC16F628A и PIC18F452. Эти микроконтроллеры предлагают хороший баланс между стоимостью, производительностью и простотой использования.
Предположим, что для этого проекта мы используем PIC16F84A. Он имеет 13 контактов ввода-вывода, которых достаточно для управления одноразрядным 7-сегментным светодиодом. Микроконтроллер работает на тактовой частоте, которую можно регулировать в соответствии с требованиями проекта.
Схемотехника
Первым шагом в управлении 7-сегментным светодиодом является проектирование схемы. Вот принципиальная схема управления одноразрядным 7-сегментным светодиодом с общим катодом с использованием PIC16F84A:
- Источник питания: Подключите контакт VDD PIC16F84A к положительной клемме источника питания (обычно 5 В), а контакт VSS — к земле.
- 7 – Подключение сегментного светодиода: Подключите семь сегментных контактов (a, b, c, d, e, f, g) 7-сегментного светодиода к выходным контактам микроконтроллера PIC. Например, вы можете подключить сегмент a к контакту RA0, сегмент b к контакту RA1 и т. д. Если вы используете светодиод с общим катодом, вам может потребоваться добавить токоограничивающие резисторы последовательно с каждым сегментом, чтобы предотвратить перегрузку по току и повреждение светодиодов. Типичное значение этих резисторов составляет около 330 Ом.
- Подтягивающие резисторы: При необходимости к входным контактам микроконтроллера добавить подтягивающие резисторы для обеспечения стабильной работы.
Программирование PIC-микроконтроллера
После того как схема спроектирована и собрана, следующим шагом будет программирование микроконтроллера PIC. Мы будем использовать MPLAB IDE (интегрированную среду разработки) вместе с ассемблером MPASM для написания и компиляции кода.
Вот простой пример ассемблерного кода для отображения цифр от 0 до 9 на одноразрядном 7-сегментном светодиоде с общим катодом с использованием PIC16F84A:
СПИСОК P=16F84A #INCLUDE <P16F84A.INC> ORG 0 MOVLW 0x07 ; Настроить PORTA как выход MOVWF TRISA MOVLW 0x00 ; Инициализировать PORTA значением 0 MOVWF PORTA MAIN_LOOP: ; Отображаемая цифра 0 MOVLW 0x3F MOVWF PORTA CALL DELAY ; Отображаемая цифра 1 MOVLW 0x06 MOVWF PORTA CALL DELAY ; Отображаемая цифра 2 MOVLW 0x5B MOVWF PORTA CALL DELAY ; Отображаемая цифра 3 MOVLW 0x4F MOVWF PORTA CALL DELAY ; Цифра дисплея 4 MOVLW 0x66 MOVWF PORTA CALL DELAY ; Отображаемая цифра 5 MOVLW 0x6D MOVWF PORTA CALL DELAY ; Отображаемая цифра 6 MOVLW 0x7D MOVWF PORTA CALL DELAY ; Отображаемая цифра 7 MOVLW 0x07 MOVWF PORTA CALL DELAY ; Отображаемая цифра 8 MOVLW 0x7F MOVWF PORTA CALL DELAY ; Отображаемая цифра 9 MOVLW 0x6F MOVWF PORTA CALL DELAY GOTO MAIN_LOOP DELAY: MOVLW D'255' DELAY_LOOP: DECFSZ 0x20, F GOTO DELAY_LOOP RETURN END
В этом коде мы сначала настраиваем контакты PORTA PIC16F84A как выходные контакты. Затем в основном цикле мы отображаем каждую цифру от 0 до 9 на 7-сегментном светодиоде, отправляя соответствующие шестнадцатеричные значения в регистр PORTA.ЗАДЕРЖИВАТЬПодпрограмма используется для введения небольшой задержки между отображением каждой цифры, чтобы мы могли четко видеть цифры.
Компиляция и программирование кода
После написания кода нам необходимо скомпилировать его с помощью ассемблера MPASM в MPLAB IDE. Ассемблер сгенерирует шестнадцатеричный файл, содержащий машинный код микроконтроллера PIC.
Чтобы запрограммировать PIC16F84A, мы можем использовать программатор PIC, такой как Pickit 2 или Pickit 3. Подключите программатор к микроконтроллеру PIC и компьютеру, а затем используйте программное обеспечение для программирования, чтобы загрузить шестнадцатеричный файл в микроконтроллер.
Расширенные приложения и соображения
Хотя базовая схема и код позволяют нам отображать цифры от 0 до 9, существует множество дополнительных приложений и соображений, которые можно изучить.


- Отображение букв: Используя различные комбинации активации сегментов, можно отображать некоторые буквы на 7-сегментном светодиоде. Например, чтобы отобразить букву «А», мы можем активировать сегменты a, b, c, e, f и g.
- Несколько цифр: Если вам нужно отобразить несколько цифр, вы можете использоватьТрехзначный 7-сегментный светодиод,Двухразрядный семисегментный светодиод, илиЧетырехзначный 7-сегментный светодиод. Принцип аналогичен, но вам нужно будет использовать методы мультиплексирования для последовательного управления каждой цифрой.
- Управление яркостью: Яркостью 7-сегментного светодиода можно управлять, регулируя ток, протекающий через сегменты. Этого можно добиться с помощью сигнала ШИМ (широтно-импульсной модуляции), генерируемого микроконтроллером PIC.
Контакт для закупок
Если вы заинтересованы в покупке одноразрядных 7-сегментных светодиодов или у вас есть вопросы по управлению ими с помощью микроконтроллеров PIC, пожалуйста, свяжитесь с нами. Мы являемся надежным поставщиком высококачественных 7-сегментных светодиодов и можем предоставить вам лучшую продукцию и техническую поддержку.
Ссылки
- Технический паспорт Microchip Technology Inc. PIC16F84A.
- Руководство пользователя MPLAB IDE.
- Руководство пользователя ассемблера MPASM.
