Altinkaya: турецкие корпуса для РЭА

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

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

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

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

Базовым компонентов является микроконтроллер 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

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