Подключение семисегментного индикатора по UART на ATtiny13

В последнее время я начал замечать в себе тягу к универсальным самодельным модулям различных устройств работающих по UART интерфейсу. Это очень удобно при разработке и отладки самоделок, для подключения нужно всего лишь несколько проводов и пару строк кода в программе, для посылки и приёма нужных данных. В этой статье я приведу описание простого модуля одноразрядного семисегментного индикатора работающего по UART интерфейсу. Логика работы модуля очень проста, он выводит число на семисегментный индикатор, которое получил по UART. Приёмом, обработкой и отправкой данных занимается 8-битный AVR микроконтроллер Attiny13, который, пожалуй, является самым дешёвым и маленьким.  Он имеет всего 8 ножек, 5 из которых – пины ввода/вывода (не считая reset). Очевидно, что пинов очень мало и их не хватит для подключения индикатора. Поэтому, чтобы подключить семисегментник я применил сдвиговый регистр 74HC595.

Принципиальная схема:

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

Общение модуля по UART нужно осуществлять на скорости 9600 бод. Логический уровень сигнала не должен превышать порог в 5 вольт. После ввода команд по UART, не забывайте про перенос строки (HEX байты A и D, DEC байты 10 и 13). Общее напряжение питания устройства составляет от 3 до 5 вольт. Семисегментный индикатор нужно использовать с общим анодом, я использовал индикатор с маркировкой FYS-5611AS-11. Микроконтроллер Attiny13 можно использовать с любыми буквенными индексами. Рекомендую использовать микросхемные панельки DIP-8 и DIP-16 для микроконтроллера и сдвигового регистра.

Я собрал данный модуль на макетной плате с механическими контактами и подключал его к компьютеру с помощью USB-UART переходника. Позже, я использовал модуль для отладки самодельного реле времени, которое собрано на той же Attiny13 и не имело дисплея.

Модуль на макетной плате с USB-UART переходником:

Модуль в работе:

После прошивки микроконтроллера выставите следующие фьюз-биты (если вы используете новый микроконтроллер с «заводскими» фьюз-битами, то их можно не выставлять):

Фьюз-биты

Печатную плату не изготавливал, так как у меня не было текстолита и реактивов. В файлах к статье вы можете найти готовую прошивку для МК, исходный код программы (BASCOM-AVR) и проект в Proteus.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
U1 МК AVR 8-бит ATtiny13 1
U2 Сдвиговый ригистр 74HC595 1
Одноразрядный семисегментый индикатор с общим анодом FYS-5611AS-11 1
С1 Электролитический конденсатор 100 мкФ 1
С2 Керамический конденсатор 100 нФ 1
R1 Резистор 1 кОм 1
R3-R9 Резистор 100 Ом 7