Shenler: реле, интерфейсные модули

Двоичный калькулятор на микроконтроллере ATtiny2313

Калькулятор поддерживает базовые функции и операции: логическое НЕ, ИЛИ, И, Исключающее-ИЛИ, а также сложение, вычитание, умножение, деление и модулярная операция (целочисленный остаток от деления двух значений).

АЦП азиатских производителей. Часть 1. Преобразователи последовательного приближения

Двоичный калькулятор на микроконтроллере

Базовым компонентов является микроконтроллер Atmel ATtiny2313, работающий от встроенного RC осциллятора 8 МГц (необходимо учесть это при программировании микроконтроллера).

Принципиальная схема устройства

Двоичный калькулятор на Attiny2313
Кликните для увеличения

Список компонентов

Обозначение
в схеме
Наименованиe, номинал  Примечание
U1 Микроконтроллер ATtiny2313  
U2 Микросхема 74HC595 Регистр сдвига
U3 Регулятор напряжения LM7805  
1K Резистор 1 кОм 9 штук
91Ohm Резистор 91 Ом 8 штук (номинал зависит от типа
применяемых светодиодов)
2N4401 Транзистор 2N4401 4 штуки
C1 10 мкф × 16В  
C2 100 нФ  
SW1 – SW16 Кнопки  
Switch Выключатель питания  


Микроконтроллер имеет 17 линий ввода/вывода (а если использовать внешний кварцевый резонатор, то 15 линий). Поэтому были принята методика мультиплексирования для управления светодиодами и считывания состояния 16 кнопок.

Для управления 32 светодиодами они были включены в матрицу 8×4, что сокращает количество сигнальных синий с 32 до 12. Дополнительно для управления светодиодами применяется регистр сдвига 74HC595

Микросхема 74HC595 содержит 8 битный регистр хранения и 8 битный сдвиговый регистр. Данные последовательно передаются в сдвиговый регистр, затем фиксируются в регистре хранения. К регистру хранения подключены 8 выходных линий. На картинке ниже показано расположение выводов микросхемы 74HC595. Для управления регистром сдвига требуется 3 сигнальные линии. С помощью регистра сдвига осуществляется управление столбцами, а микроконтроллер с помощью 4 транзисторных ключей управляет строками. В итоге управление 32 светодиодами осуществляется при помощи 7 линий ввода/вывода микроконтроллера.

16 кнопок объединены в матрицу 4×4 и для контроля состояния кнопок требуется 8 линйи ввода/вывода микроконтроллера.

Необходимо заметить, что резисторы в цепи светодиодов следует подобрать в соответствии с типом применяемых светодиодов. Рассчитать значение резисторов можно самому или при помощи этой интернет-странички.

Устройство собрано на макетной плате


На изображении видно обозначение функций каждой кнопки.

Двоичный калькулятор на Attiny2313

Программное обеспечение написано на Си, и пользователи могут самостоятельно адаптировать программу по любой другой тип микроконтроллера с числом линий ввода/вывода не менее 15. Программный код снабжен комментариями.

Работа двоичного калькулятора на микроконтроллере ATtiny2313

Загрузки

Исходный код программы микроконтроллера - скачать
hex-файл для микроконтроллера ATtiny2313 - скачать

instructables.com

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

На английском языке: LED Binary Calculator

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