ATtiny2313 -это ещё один из avr микроконтроллеров который полезно освоить т.к. он дешевле чем например ATmega8, ATmega16. ATtiny2313 имеет меньше функций чем ATmega8, ATmega16 но многие функции очень часто бывают лишними в простых устройствах на микроконтроллере к тому же ATtiny2313 имеет количество выводов достаточное для многих практических применений. Освоение ATtiny2313 начнём с сознания устройства для управления многоцветным RGB светодиодом. Такой светодиод можно найти в магазине радиодеталей например можно спросить о его наличии у продавца или найти нужный светодиод в интернете и заказать. Рассмотрим схему:
Кнопкой S1 будем менять интенсивность свечения. R2,R3,С1-для нейтрализации последствий дребезга контактов (последствия-микроконтроллер "думает" что на кнопку нажато много раз хотя на самом деле кнопка нажата один раз). R1,R7,R8,R9-внешние подтягивающие резисторы (т.к. в отличии от ATmega8, ATmega16 для ATtiny2313 внутренних недостаточно). Многопозиционный переключатель S2 -для выбора света интенсивность которого будет меняться. Назначения выводов светодиода можно определить мультиметром в режиме проверки диодов. Рассмотрим исходный код программы на языке C:
Глобальные переменные объявляются так:
volatile unsigned char глобальная_переменная;
Регистр разрешения прерываний на int0 теперь называется GIMSK (для ATmega16 GICR это можно увидеть из кода на странице счётчик на ATmega16 (там же подробно про настройку внешних прерываний на INT0 и INT1)). В остальном ничего сложного.
Проект делался в среде WinAVR, скачать проект можно по ссылке: https://yadi.sk/d/J-8K7n5UYyYAt. Подробнее о программировании микроконтроллеров можно узнать на сайте: myrobot.ru в разделе "шаг за шагом".
Устройство в действии:
Для определения шестнадцатеричного числа конфигурирования портов ввода вывода микроконтроллера ATtiny2313 можно воспользоваться программой приведённой ниже. Галочки означают - логические единицы, пустые чекбоксы (квадратики) - логические нули.
Купить микроконтроллер ATtiny2313 в dip корпусе.
RGB светодиод 5мм 10шт.
КАРТА БЛОГА (содержание)
Рисунок 1 - Многоцветный RGB светодиод и микроконтроллер ATtiny2313
Кнопкой S1 будем менять интенсивность свечения. R2,R3,С1-для нейтрализации последствий дребезга контактов (последствия-микроконтроллер "думает" что на кнопку нажато много раз хотя на самом деле кнопка нажата один раз). R1,R7,R8,R9-внешние подтягивающие резисторы (т.к. в отличии от ATmega8, ATmega16 для ATtiny2313 внутренних недостаточно). Многопозиционный переключатель S2 -для выбора света интенсивность которого будет меняться. Назначения выводов светодиода можно определить мультиметром в режиме проверки диодов. Рассмотрим исходный код программы на языке C:
Глобальные переменные объявляются так:
volatile unsigned char глобальная_переменная;
Регистр разрешения прерываний на int0 теперь называется GIMSK (для ATmega16 GICR это можно увидеть из кода на странице счётчик на ATmega16 (там же подробно про настройку внешних прерываний на INT0 и INT1)). В остальном ничего сложного.
Проект делался в среде WinAVR, скачать проект можно по ссылке: https://yadi.sk/d/J-8K7n5UYyYAt. Подробнее о программировании микроконтроллеров можно узнать на сайте: myrobot.ru в разделе "шаг за шагом".
Устройство в действии:
Для определения шестнадцатеричного числа конфигурирования портов ввода вывода микроконтроллера ATtiny2313 можно воспользоваться программой приведённой ниже. Галочки означают - логические единицы, пустые чекбоксы (квадратики) - логические нули.
Купить микроконтроллер ATtiny2313 в dip корпусе.
RGB светодиод 5мм 10шт.
КАРТА БЛОГА (содержание)
Комментариев нет:
Отправить комментарий