Attiny2313: ATtiny2313-20PU, Микроконтроллер 8-Бит, AVR, 20МГц, 2КБ Flash [DIP-20]

ПРОГРАММИРОВАНИЕ Attiny2313

     Как производится программирование микроконтроллеров ATtiny2313? Итак, имеем микроконтроллер ATtiny2313, LPT порт (обязательно железный - никакие USB-2-LPT не работают), несколько проводков (длина не более 10см) и конечно же паяльник. Желательно иметь разъём DB-25M (папа), с ним будет удобней подключать микроконтроллер, но можно обойтись и без него. Припаиваем проводки к выводам 1, 10, 17, 18, 19, 20 микроконтроллера. Получаем нечто вроде того, что на фото:


   Далее, если есть разъём DB-25M, то припаиваем проводки к нему в соответствии с таблицей. Если нет, то просто втыкаем проводки в разъём на компьютере (не забывая про таблицу!!!).


   Я делал без разъёма (в наличии были только мамы...), и вот что получилось:


   Правда у меня LPT порт вынесен на стол с помощью кабеля длиной 1,5 метра. Но при этом кабель должен быть экранированный, иначе будут наводки, помехи и ничего не получится. Схема этого устройства программирования микроконтроллера вот такая:


   Если быть совсем честным, то желательно собрать "правильный" программатор. И потом будет проще и порт целее. Я пользую STK200/300. Далее используем программу PonyProg2000. После запуска программы она "заржет...." как настоящий пони. Чтобы этого больше не слышать в появившемся окне ставим галочку "Disable sound". Жмём "ОК". Выскакивает окошко которое говорит, что нужно откалибровать программу. Компы бывают же разные и медленные и шустрые. Жмём "ОК". Выскакивает ещё одно окошко - это нам говорит, что нужно настроить интерфейс (какой программатор и куда подключен.). Итак заходим в меню: Setup -> Calibration. В появившемся окне:


   Жмём "YES". Проходит пара секунд и программа говорит "Calibration OK". Далее заходим в меню: Setup -> Interface Setup. В появившемся окошке настраиваем как у показано на рисунке.


   Теперь заходим в меню: Command -> Program Options. В появившемся окошке настраиваем как показано на рисунке.


   Всё готово к программированию!... Итак, последовательность действий:


1. Выбираем из списка "AVR micro"
2. Из другого списка выбираем "ATtiny2313"
3. Загружаем файл прошивки (File -> Open Device File), выбираем нужный файл, например "rm-1_full.hex".
4. Жмём кнопочку "Launch program cycle". Когда программирование завершится прога скажет "Program successful"
5. Ну и напоследок надо запрограммировать так называемые Фьюзы (fuses). Для этого жмём кнопочку "Security and Configuration Bits". В появившемся окне жмём "Read", потом выставляем галочки и жмём "Write".

   ВНИМАНИЕ! Если Вы не знаете, что означает тот или иной конфигурационный бит, то не трогайте его. Вот теперь у нас готовый к работе контроллер ATtiny2313! На форуме можно скачать программу PonyProg2000 и оригинал статьи с дополнительными рисунками. Материал для сайта Радиосхемы предоставил Ansel73.

   Форум по микроконтроллерам

   Форум по обсуждению материала ПРОГРАММИРОВАНИЕ Attiny2313

ATtiny2313

Характеристики микросхемы

Наличие на складе

Артикул Наличие на складе  
ATtiny2313 По запросу Заказать

Рекомендуемые средства отладки

Внутрисхемный отладчик ATATMEL-ICE

Microchip, Аппаратные

 

Внутрисхемный отладчик от компании Atmel ATATMEL-ICE является развитием и заменой популярного отладчика JTAGICE3.

Новая версия поддерживает больше отладочных интерфейсов и более широкую линейку микроконтроллеров Atmel. Отладчик работает почти со всеми доступными семействами кристаллов с ядром ARM Cortex (кроме Cortex-A5) и линейками 8- и 32-бит микроконтроллеров Atmel AVR. 


 

TFT-дисплеи Riverdi на базе графических контроллеров SSD1963

FTDI, Аппаратные

 

Одновременно с выпуском простых в освоении и использовании TFT-дисплеев с графическим контроллером FT8xx, компания Riverdi выпускает TFT-дисплеи на базе широко распространненого контроллера SSD1963.

 

На нашем сайте представлены все доступные модели дисплеев с контроллерами SSD1963 и отладочные средства для них. Все дисплеи выпускаются серийно и доступны для заказа от 1 шт.

 

TFT-дисплеи Riverdi без контроллера (RGB/LVDS)

FTDI, Аппаратные

 

Одновременно с выпуском простых в освоении и использовании TFT-дисплеев с графическим контроллером FT8xx, компания Riverdi выпускает TFT-дисплеи без встроенных контроллеров с параллельным интерфейсом RGB и последовательным LVDS.

 

На нашем сайте представлены все доступные модели дисплеев и отладочные средства для них. Все приведенные дисплеи выпускаются серийно и доступны для заказа от 1 шт.

Внутрисхемный программатор/эмулятор AVR Dragon (ATAVRDRAGON)

Microchip, Аппаратные

 

Отладочное средство AVR Dragon предназначено для программирования и внутрисхемной отладки микроконтроллеров AVR и AVR32 UC3 под управлением сред разработки AVR Studio.

 

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

Внутрисхемный эмулятор JTAGICE2

Microchip, Аппаратные

 

Универсальный внутрисхемный эмулятор ATJTAGICE2 предназначен для всех микроконтроллеров AVR и AVR32 UC3 и поддерживает программирование по интерфейсам SPI, JTAG, PDI и внутрисхемную отладку по интерфейсам JTAG, debugWire, PDI и aWire.

Внутрисхемный эмулятор ATAVRONE

Microchip, Аппаратные

 

Универсальный внутрисхемный эмулятор для всех микроконтроллеров AVR и AVR32 UC3.

Графический конфигуратор MPLAB CODE CONFIGURATOR (MCC)

Microchip, Программные

 

Бесплатный плагин для сред разработки MPLAB X IDE и MPLAB Xpress IDE от компании Microchip, который позволяет в графической форме производить конфигурирование микроконтроллера.

Дополнительная плата Inertial Two (ATAVRSBIN2) для применения совместно с наборами Atmel Xplain

Microchip, Аппаратные

 

 

Сенсорная плата Inertial Two разработана корпорацией Atmel в сотрудничестве с ведущими производителями датчиков и позволяет упростить разработку полной пространственной инерциальной системы отсчета с девятью параметрами. На плате расположены :

  • Трехосевой MEMS гироскоп компании InvenSense (IMU-3000™)
  • Трехосевой MEMS акселерометр производства Kionix® Inc. (KXTF9)
  • Трехосевой электронный компас, производимый компанией Honeywell (HMC5883)

Датчик  IMU-3000 позволяeт также производить измерения окружающей температуры.

Дополнительная плата Inertial One (ATAVRSBIN1) для применения совместно с наборами Atmel Xplain

Microchip, Аппаратные

 

Дополнительная плата Inertial One (ATAVRSBIN1) для применения  совместно с наборами Atmel Xplain.

 

Сенсорная плата Inertial One разработана корпорацией Atmel в сотрудничестве с ведущими производителями датчиков и позволяет упростить разработку полной пространственной инерциальной системы отсчета с девятью параметрами. На плате расположены:

  • Трехосевой MEMS гироскоп компании InvenSense (ITG-3200)
  • Трехосевой  MEMS акселерометр производства Bosch Sensortec (BMA150)
  • Трехосевой электронный компас, производимый компанией AKM (AK8975)

Дополнительная плата Light and Proximity One (ATAVRSBLP1) для применения совместно с наборами Atmel Xplain

Microchip, Аппаратные

 

 

Сенсорная плата Light and Proximity One разработана корпорацией Atmel в сотрудничестве с ведущим производителем оптоэлектронных компонентов OSRAM Opto Semiconductors.

На плате расположен сенсор SFH 7770, предназначенный для одновременного измерения уровня окружающего освещения в диапазоне от 3 до 55000 люкс и фиксации приближения отражающих объектов. К сенсору подключены три управляемых им инфракрасных светодиода SFh5059, позволяющих различать направления движения и жесты.  Сенсоры предназначены для применения в мобильных устройствах для бесконтактного контроля перемещений.

Дополнительная плата Pressure One (ATAVRSBPR1) для применения совместно с наборами Atmel Xplain

Microchip, Аппаратные

 

Сенсорная плата Pressure One разработана корпорацией Atmel в сотрудничестве с ведущим производителем датчиков Bosch Sensortec и позволяет упростить разработку конечного оборудования с помощью отладочных плат Atmel Xplain для различных микроконтроллеров в зависимости от требуемой производительности.

На плате расположен датчик абсолютного давления с цифровым выходом BMP085 от Bosch Sensortec, оптимизированный для применения в мобильных устройствах (смартфоны и навигаторы, спортивное и носимое медицинское оборудование).  

Мезонинная плата STK600-ATTINY10

Microchip, Аппаратные

Мезонинная плата STK600-ATTINY10 предназначена для программирования микроконтроллеров ATtiny4, ATtiny5, ATtiny9 и ATtiny10 в малогабаритных корпусах SOT с шестью выводами.

Внутрисхемный эмулятор JTAGICE3

Microchip, Аппаратные

 

Устаревшее средство разработки. Универсальный внутрисхемный эмулятор для всех микроконтроллеров AVR и AVR32 UC3

Графическая среда разработки Algorithm Builder

Microchip, Программные

 

Algorithm Builder - это графическая среда сторонней разработки для создания программного обеспечения для микроконтроллеров AVR, обеспечивающая быстрое написание проектов различной степени сложности без глубинного изучения языков программирования для этой архитектуры.  

Интегрированная среда разработки AVR Studio 4

Microchip, Программные

 

Устаревшее средство для программирования и отладки 8-разрядных микроконтроллеров AVR

Интегрированная среда разработки AVR Studio 5

Microchip, Программные

 

Устаревшее средство для разработки и отладки приложений для микроконтроллеров AVR и AVR32

Статьи по теме

Емкостные сенсорные кнопки на базе технологии uxTouch Riverdi

FTDI, на русском языке

В предыдущей статье «Особенности TFT-дисплеев серии uxTouch компании Riverdi» было рассказано о серии дисплеев uxTouch компании Riverd. Особенностью этой серии дисплеев является то, что защитное стекло емкостного сенсорного экрана выполняет роли несущего элемента дисплея и внешнего декоративного оформления. Кроме серийных вариантов изготовления дисплеев uxTouch доступна возможность заказного оформления защитного стекла под требования конкретного проекта. Возможны варианты заказного исполнения цвета окантовки, нанесения логотипа и добавления окон под индикацию, а также добавление дополнительных сенсорных элементов. О возможности добавления дополнительных кнопок, использовании данной технологии для изготовления сенсорных клавиатур и работе с ними пойдет речь ниже.

Особенности TFT-дисплеев серии uxTouch компании Riverdi

FTDI, на русском языке

За последние три года продукция польской компании Riverdi прочно заняла свое место  в сегменте, где требуются простые в освоении и управлении цветные TFT-дисплеи. Это стало возможным за счет применения в TFT-модулях графических контроллеров FTDI. Сегодня Riverdi является единственным производителем TFT-дисплеев, кто использует в серийных модулях с диагоналями от 2.8” до 7” контроллеры FTDI FT8xx. Другим, не менее интересным решением Riverdi, является серия дисплеев под названием uxTouch. С этой линейкой дисплеев и возможностями по их модификации предлагаем познакомиться в данном обзоре.      

8-разрядные AVR корпорации Atmel: новинки и тенденции развития

Microchip, на русском языке

 

Для корпорации Atmel подразделение микроконтроллеров является одним из приоритетных. Ориентируясь на широкий спектр задач, Atmel Corp. предлагает микросхемы различного ценового диапазона, удовлетворяя потребности рынка как дешевыми устройствами с минимальной функциональностью, так и более дорогими мощными процессорами. В данной статье представлены новинки и новые отладочные средства, описаны тенденции развития для популярных 8-разрядных микроконтроллеров AVR.

Новости производителя

27.01.2017

Компания ЭФО получила официальный статус дистрибьютора компании Microchip

 

В 2016 году компания Microchip Technology приобрела фирму Atmel, продукция обеих компаний будет продолжать выпускаться под брендом Microchip.

У Microchip нет планов по снятию с производства какой либо продукции из портфолио Atmel, обозначения компонентов также будут сохранены без изменений. Компания ЭФО рада предложить свои услуги по поставкам и технической поддержке микроконтроллеров и другой продукции Microchip в качестве официального дистрибьютора на территории России.

 

27.01.2017

Приглашаем на семинар «Перспективная продукция „классического“ Microchip», который пройдет 10 февраля 2017 в Ростове-на-Дону

 

Обзорно-технический семинар будет проведен техническими специалистами компании Microchip при информационной и технической поддержке компании «ЭФО» – официального дистрибьютора Microchip в России.

Во время мероприятия будут рассмотрены следующие группы перспективной продукции компании Microchip:

  • Микроконтроллеры PIC – 8 / 16- / 32-bit
  • Средства поддержки разработок
  • Микросхемы Analog FrontEnd
  • Преобразователи данных
  • Интерфейсные решения
  • Управление электропитанием

В программу также входит практическая часть – демонстрация работы с CIP – периферией, не зависимой от ядра микроконтроллера. По окончании мероприятия запланировано время на ответы и вопросы, включая свободную дискуссию с техническими специалистами компаний Microchip и «ЭФО».

С полной программой семинара можно ознакомиться в приглашении.

 

ВНИМАНИЕ!

Участие в семинаре бесплатное, но количество слушателей ограничено, поэтому мы просим вас зарегистрироваться на нашем сайте www.efo.ru.

25.10.2016

Компания Atmel подготовила к выпуску новые микроконтроллеры популярного семейства AVR Tiny

 

Новинки получили обозначения ATtiny417, ATtiny814, ATtiny816 и ATtiny817.

14.03.2016

Компания Atmel анонсировала выпуск новых микроконтроллеров ATtiny102/104

 

Энергоэффективные ATtiny102/104, выполненные по технологии Atmel PicoPower, удачно дополняют популярное и развитое семейство 8-ми разрядных микроконтроллеров tinyAVR. Их отличает набор современных периферийных узлов, которые раньше можно было увидеть лишь у более «продвинутых» микроконтроллеров.

 

Новые бюджетные изделия выпускаются в стандартных корпусах SOIC8/14 и ультракомпактном корпусе UDFN8 с размерами 2х3 мм. Рабочий температурный диапазон составляет -40°C … +105°C или -40°C … +125°C, напряжение питания 1,8 … 5,5 В.

 

Отличительные особенности ATtiny102/104:

  • Уникальный идентификационный номер кристалла
  • Flash-память программ (1024 байт) с возможностью перепрограммирования «на лету» и эмуляции EEPROM во всем диапазоне напряжений питания
  • Точный внутренний генератор 8 МГц с возможностью автоматической калибровки после сброса
  • Быстрый аппаратный старт (для версий ATtiny102F-xxxx, ATtiny104F-xxxx)
  • Полноценный последовательный интерфейс USART, который также можно сконфигурировать для работы в качестве SPI - интерфейса (Master mode)
  • 10-разрядный АЦП последовательных приближений со скоростью преобразования 15К выборок в секунду
  • Калиброванный источник опорного напряжения (три фиксированных уровня 1,1 В; 2,2 В; 4,3 В)
  • Сторожевой таймер с собственным генератором 128 кГц
  • Рабочая производительность – до 12 MIPS

В качестве средств поддержки разработки начального уровня компания Atmel также выпустила отладочный набор Xplained Nano - миниатюрную плату ATTINY104-XNANO. Она дает возможность получить доступ ко всем линиям ввода/вывода микроконтроллера, а также может использоваться как внешний программатор для других микроконтроллеров семейства tinyAVR.

 

 

Коды для заказа

  • ATtiny2313V-10PU
  • ATtiny2313V-10SU
  • ATtiny2313V-10MU
  • ATtiny2313-20PU
  • ATtiny2313-20SU
  • ATtiny2313-20MU

Мигалка на ассемблере и ATtiny2313

Для программирования микроконтроллеров существуют два основных языка - это язык Си и Ассемблер. Бывают и другие языки но Си и Ассемблер используются чаще других т.к. их можно использовать для создания программ оптимально использующих ресурсы микроконтроллера. Язык Си более прост в изучении чем Ассемблер, более прост для понимания человеком вообще (на нем можно писать более читабельный код) а также более просто переносим между разными микроконтроллерами и вообще разными устройствами. Ассемблер же не так прост в понимании и хуже переносим т.к. он имеет множество разных команд которые отличаются друг от друга при программировании разных микроконтроллеров и устройств и даже при программировании одного и того же устройства но при использовании разных компиляторов. Однако язык ассемблер дает больше возможностей управлять ресурсами микроконтроллера. Программы написанные на Ассемблере могут быть более оптимальными чем программы на Си. Также изучение Ассемблера позволяет лучше понять работу микроконтроллера и писать более оптимальные программы на языке Си. Поэтому данный низкоуровневый язык стоит изучить даже если необходимость в его изучении и применении на практике никогда не возникала. Данный язык сильно отличается для разных микроконтроллеров но всё таки некоторые общие принципы наверняка должны присутствовать в той или иной степени для разных устройств. Начать скорее всего будет лучше с какого нибудь простого микроконтроллера. Например, для старта, можно взять ATtiny2313 и написать для него мигалку а если это получиться то делать далее уже более сложные устройства и переходить на более сложные микроконтроллеры например какие нибудь из STM32. Чтобы писать саму программу можно использовать какой либо текстовый редактор. Обычно в ОС Windows присутствует текстовый редактор "блокнот". После написания программы в "блокноте"её можно сохранить в формате с расширением .asm потом откомпилировать в файл с расширением .hex каким нибудь компилятором ассемблера для микроконтроллеров avr напр. компилятором avra (который можно скачать по ссылке https://sourceforge.net/projects/avra/files/1.2.3/ (для windows нужно скачать avra-1.2.3-win32.zip)) (для установки достаточно разархивировать) и записать полученный файл с расширением .hex в микроконтроллер утилитой avrdude (устанавливается вместе с arduino IDE, WinAVR или отдельно) через программатор. Рассмотрим схему устройства которое будем программировать:

Рисунок 1 - Светодиодная мигалка на микроконтроллере ATtiny2313 с программатором


На рисунке выше приведена схема светодиодной мигалки на микроконтроллере ATtiny2313 с программатором. Микроконтроллер ATtiny2313 имеет встроенный тактовый RC генератор и встроенный внутренний резистор для подтяжки вывода reset к нужному для работы микроконтроллера уровню также ему не нужно много внешних конденсаторов и прочей дополнительной обвязки (этим данный микроконтроллер прост и хорош). В качестве программатора можно использовать Arduino с записанным в неё скетчем ISP программатора:

Рисунок 2 - Светодиодная мигалка на микроконтроллере ATtiny2313 с программатором на Arduino Uno

Если все необходимые элементы имеются то можно начинать писать программу. Давайте рассмотрим простую программу мигания светодиодом на Ассемблере:
.CSEG ; начало сегмента кода .ORG 0x0000 ; начальное значение для адресации ; -- устанавливаем пин 0 порта D на вывод -- LDI R16, 0b00000001 ; поместим в регистр R16 число 1 OUT 0x11, R16 ; загрузим значение из регистра R16 в DDRD (адрес DDRD = 0x11 (attiny2313,atmega8)) ; -- основной цикл программы ( адрес PORTD = 0x12 (attiny2313,atmega8) ) -- Start: SBI 0x12, 0 ; подача на пин 0 порта D высокого уровня ; -- задержка 1 -- ldi r18, 250 ldi r19, 250 L1: dec r19 brne L1 dec r18 brne L1 CBI 0x12, 0 ; подача на пин 0 порта D низкого уровня ; -- задержка 2 -- ldi r18, 250 ldi r19, 250 L2: dec r19 brne L2 dec r18 brne L2 RJMP Start
Ассемблер, в отличии от Си, регистронезависимый язык поэтому команды можно писать и большими буквами и маленькими и вперемешку. Команды которые начинаются с точки называются директивами. Директивы - это команды не для микроконтроллера а для компилятора. Директива .CSEG означает начало сегмента кода, помимо сегмента кода существует также сегмент данных и сегмент EEPROM. Директива .ORG указывает адрес с которого начинается сегмент. В ассемблере можно делать комментарии т.е. строки которые игнорируются компилятором и нужны для помощи программисту, комментарии начинаются с точки с запятой и завершаются концом строки. Команда LDI нужна для помещения в регистр какой либо константы. Константу можно записать в десятичном, шестнадцатеричном или двоичном виде. Если она записана в двоичном виде то перед ней ставиться нолик и английская буква b т.е. например 0b00000001. Двоичные числа удобны для конфигурирования порта микроконтроллера т.к. по ним наглядно видно в каком бите есть ноль а в каком единица. Если константа пишется в десятичном виде то перед ней ставить ничего не надо а надо просто написать число. Если константа пишется в шестнадцатеричном виде то перед ней ставиться 0x. Чтобы настроить второй пин микроконтроллера на выход нужно в записать единицу в нулевой разряд регистра DDRD. DDRD - это просто название регистра для удобства, на самом деле важно знать что этот регистр имеет какой то адрес в памяти и для того чтобы записать в этот регистр какое либо число и т.о. поместить либо ноль либо единицу в нужный его разряд, нужно записать это число по соответствующему адресу для регистра DDRD в микроконтроллере ATtiny2313 этот 0x11. Для того чтобы настроить второй пин микроконтроллера ATtiny2313 на выход мы сначала командой LDI записываем в регистр R16 число 0b00000001 а потом командой OUT из регистра R16 мы это число помещаем в регистр DDRD по тому что записать сразу константу в DDRD нельзя. Далее идет основной цикл программы т.е. "бесконечный" цикл в котором выполняются основные постоянные действия. Чтобы организовать этот цикл на ассемблере используется оператор безусловного перехода RJMP. В самом низу кода мы видим строку RJMP Start а в самом верху основного цикла мы видим метку Start. Команда RJMP просто переводит выполнение программы на то место где стоит метка т.о. если метку поставить перед этой командой после которой идет название этой метки то можно получить бесконечный цикл. Командой SBI мы устанавливаем высокий уровень т.е. пять вольт на нужном пине микроконтроллера. Если мы используем пин который связан с нулевым битом порта D то после команды SBI мы пишем адрес порта D (для микроконтроллера ATtiny2313 это 0x12) ставим запятую и после этого пишем номер бита который мы хотим установить в логическую единицу чтобы на нужном пине стало пять вольт. Аналогично командой CBI мы делаем ноль вольт на нужном нам пине. Для создания задержки сначала в регистр r18 записывается число 250 (максимальное которое можно записать = 255, минимальное = 0) потом 250 записывается в регистр r19. После чего командой dec (декремент) происходит уменьшение на единицу числа находящегося в регистре r19. Далее имеется команда brne - это оператор условного перехода т.е. он переносит выполнение программы на место с меткой при выполнении условия. Если результатом операции предшествовавшей данной команде был ноль то перехода туда где стоит метка не происходит и выполнение программы продолжается, если был получился не ноль то происходит переход на строку с меткой в данном случае это L1. Т.о. получается цикл выход из которого происходит тогда когда число в регистре r19 становиться равным нулю. Далее происходит декремент числа в регистре r18 и так как сразу там ноль не получиться то переход происходит на строку с меткой L1 а там стоит декремент числа в регистре r18 но так как там уже ноль то декремент делает там 255 и всё повторяется заново т.о. получается вложенный цикл. Эти циклы выполняются какое то время и делают задержку для того чтобы можно было наблюдать мигание светодиода.
После того как программа написана (например в имеющемся в windows текстовом редакторе "блокнот" или любом другом подходящем текстовом редакторе (неважно каком (это дело вкуса (на результат не повлияет (если текстовый редактор подходит для данных целей и позволяет сохранять текст в формате .asm))))) её можно сохранить в формате .asm и откомпилировать в cmd (командной строке windows) командой:
путь_до_компилятора_avra путь_до_файла.asm
например:
F:\avra-1.2.3\bin\avra F:\avr\blink.asm
Если компиляция пройдет успешно то компилятор создаст файл с расширением .hex который можно загрузить в микроконтроллер например командой:
avrdude -c avrisp -P COM3 -b 19200 -p t2313 -U flash:w:blink.hex
(avrdude перед этим надо установить на компьютер)
Эта команда сработает если используется микроконтроллер ATtiny2313 (-p t2313), программатор avrisp (-c avrisp (он же arduino, он же stk500, он же "пять проводков" (avrdude не поймет "пять проводков" (остальное должна понять)))) который подключен к порту который называется COM3 (-P COM3) (если называется по другому то в команду надо вписать соответствующее название). blink.hex - это название откомпилированного файла который надо загрузить в микроконтроллер. При этом в данной программе не прописана установка фьюзов и считается что микроконтроллер либо новый с завод и на нем установлены фьюзы по молчанию либо фьюзы ранее были установлены как надо и менять их не требуется. Если hex файл успешно запишется то светодиод должен замигать!


КАРТА БЛОГА (содержание)

ATtiny2313-20PU Atmel от 56.7 грн

ATTINY2313-20PU
Производитель: ATMEL
2kB-FL 128B-RAM 128B-EE 18I/O 2.7?5.5V 20MHz 2xtimer UART USI -40?85°C ATTINY2313-20PI, AT90S2313-10PC, AT90S2313-10PI, AT90S1200-12PC, ATTINY2313A-PU ATTINY2313-20PU ATT2313-20pu
количество в упаковке: 6 шт
под заказ 120 шт
срок поставки 14-28&nbspдня (дней)
ATTINY2313-20PU
Производитель: Microchip Technology
MCU 8-bit AVR RISC 2KB Flash 3.3V/5V 20-Pin PDIP W Tube
под заказ 12 шт
срок поставки 6-21&nbspдня (дней)
ATTINY2313-20PU
Производитель: MCRCH

под заказ 6 шт
срок поставки 16-23&nbspдня (дней)
4+ 125.33 грн
6+ 114.29 грн
36+ 98.56 грн
126+ 93.62 грн
ATTINY2313-20PU
Производитель:
Микросхема
под заказ 10 шт
срок поставки 3-5&nbspдня (дней)
ATTINY2313-20PU
Производитель:
ATTINY2313-20PU 8-bit microcontroller with 2K bytes in-system programmable flash. Speed 20 MHz. Power supply 2.7 - 5.5 V. DIP-20
товар отсутствует, Вы можете сделать запрос добавив товар в корзину
ATTINY2313-20PU
Производитель:
ATTINY2313-20PU 8-bit microcontroller with 2K bytes in-system programmable flash. Speed 20 MHz. Power supply 2.7 - 5.5 V. DIP-20
товар отсутствует, Вы можете сделать запрос добавив товар в корзину
ATTINY2313-20PU
Производитель:
ATTINY2313-20PU 8-bit microcontroller with 2K bytes in-system programmable flash. Speed 20 MHz. Power supply 2.7 - 5.5 V. DIP-20
товар отсутствует, Вы можете сделать запрос добавив товар в корзину
ATTINY2313-20PU
Производитель: Microchip Technology
MCU 8-bit AVR RISC 2KB Flash 3.3V/5V 20-Pin PDIP W Tube
товар отсутствует, Вы можете сделать запрос добавив товар в корзину
ATTINY2313-20PU
Производитель: Microchip Technology
Description: IC MCU 8BIT 2KB FLASH 20DIP
Base Part Number: ATTINY2313
Supplier Device Package: 20-PDIP
Package / Case: 20-DIP (0.300", 7.62mm)
Mounting Type: Through Hole
Operating Temperature: -40°C ~ 85°C (TA)
Oscillator Type: Internal
Voltage - Supply (Vcc/Vdd): 2.7V ~ 5.5V
RAM Size: 128 x 8
EEPROM Size: 128 x 8
Program Memory Type: FLASH
Program Memory Size: 2KB (1K x 16)
Number of I/O: 18
Peripherals: Brown-out Detect/Reset, POR, PWM, WDT
Connectivity: SPI, UART/USART
Speed: 20MHz
Core Size: 8-Bit
Core Processor: AVR
Part Status: Active
Packaging: Tube
Manufacturer: Microchip Technology
товар отсутствует, Вы можете сделать запрос добавив товар в корзину
ATTINY2313-20PU
Производитель: MICROCHIP (ATMEL)
Material: ATTINY2313-20PU 8-bit AVR family
товар отсутствует, Вы можете сделать запрос добавив товар в корзину
ATTINY2313-20PU
Производитель: Microchip Technology / Atmel
8-bit Microcontrollers - MCU 2kB Flash 0.128kB EEPROM 18 I/O Pins
под заказ 2536 шт
срок поставки 8-21&nbspдня (дней)
ATTINY2313-20PU
Производитель: ATMEL
DIP
под заказ 100 шт
срок поставки 14-28&nbspдня (дней)
ATTINY2313-20PU
Производитель: ATMEL
10+ QFP
под заказ 3000 шт
срок поставки 14-28&nbspдня (дней)
ATTINY231320PU
Производитель:
под заказ 200 шт
срок поставки 14-28&nbspдня (дней)
ATTINY2313-20PU
Производитель:

под заказ 1080 шт
срок поставки 14-28&nbspдня (дней)
ATTINY231320PU
Производитель: ATMEL
под заказ 200 шт
срок поставки 14-28&nbspдня (дней)
ATTINY2313-20PU
Производитель: ATMEL
07+;
под заказ 10 шт
срок поставки 14-28&nbspдня (дней)
ATTINY2313-20PU
Производитель:

под заказ 1000 шт
срок поставки 14-28&nbspдня (дней)
ATTINY2313-20PU
Производитель: ATMEL
09+
под заказ 1143 шт
срок поставки 14-28&nbspдня (дней)
ATTINY2313-20PU
Производитель: ATMEL
2009+
под заказ 1 шт
срок поставки 14-28&nbspдня (дней)

Простой таймер с индикацией на ATtiny2313

Очень часто, и не только на кухне, как это принято считать, необходимо через определенный период времени не забыть, что-то сделать или выключит/включить какую-то нагрузку или устройство, вот тут и приходит на помощь таймер.

Схема действительно простая и кроме программирования МК никакой сложности не представляет, да программирование, если вы хоть раз это делали, тоже не проблема вообще.
В устройстве используется микроконтроллер - Attiny2313, индикатор с общим анодом. Транзистор можно заменить на любой другой маломощный npn транзистор. Для питания схемы очень удобно использовать одну банку любого Li-ion акб и конечно можно дополнить схему контроллером заряда от USB. Энкодер (ENC) используется механический, который можно выдрать из любой мышки с колесом.


Управление таймером:
  • При кратковременном нажатии на кнопку S1 таймер включается и выключается.
  • Время выбирается, прокруткой энкодера, в диапазоне от 1 до 99 минут. В процессе отсчета времени издается звуковой сигнал, напоминающий быстрое тиканье часов, по завершению звучит мелодия, и затем – сигнал, звучит пока таймер не отключат.
  • При длительном нажатии на кнопку S1 – можно выбрать 3 команды, при этом, на экране отобразится «OF», «PE», «CE».
  • «OF» - выключит таймер,
  • «РЕ» - начнет отсчет времени со значения, которое было задано в последний раз,
  • «СЕ» - секундомер, точнее «минутомер» - просто отсчитывает количество минут, которое прошло после запуска этой команды.

  • При прошивке нужно выставить следующие фьюзы: CKDIV8, SUT1, CKSEL0, CKSEL1.

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

    Прошивка

    Для изменения мелодии сигнала есть небольшой мануал (инструкция) и все необходимое для этого.

    Для изменения мелодии

    Для гурманов, можно просто использовать, что-то готовое: например такой:





    Двухкнопочный цифровой замок на Attiny2313. Схема и описание

    Этот цифровой замок на микроконтроллере Attiny2313 не похож ни на один другой, поскольку у него всего две кнопки вместо обычной цифровой клавиатуры. Принцип работы кодового замка такой же простой, как и его клавиатура.

    Паяльный фен YIHUA 8858

    Обновленная версия, мощность: 600 Вт, расход воздуха: 240 л/час...

    Кнопка S1 используется для поочередного ввода цифр секретного — то есть количество нажатий кнопки определяет цифру, которую необходимо ввести. Например, чтобы ввести цифру 4 необходимо нажать кнопку S1 четыре раза, для цифры 9 – нажать девять раз и т.д.

    Нажатие кнопки S2 является разделителем между вводимыми цифрами. Например, чтобы ввести код 4105, нажмите S1 четыре раза и S2 один раз, далее S1 один раз и S2 один раз, затем, вообще не нажимая S1 (так как цифра 0) нажмите S2 один раз, и наконец, нажмите S1 пять раз и S2 один раз.

    Если код введен правильно, то на 2 секунды загорится зеленый светодиод и также на 2 секунды активируется реле. Если код введен неправильный, то на 2 секунды загорится красный светодиод D2, а реле будет бездействовать.

    Чтобы изменить секретный код, установите перемычку J1 и введите текущий код. Когда зеленый светодиод D1 мигнет дважды, введите новый 4-значный код. D1 мигнет три раза, и вам нужно будет подтвердить новый код еще раз. Если это подтверждение верное, D1 мигнет четыре раза.

    Если же красный светодиод D2 мигнет четыре раза, то что-то пошло не так, и вам необходимо проделать все сначала. Чтобы завершить операцию изменения секретного кода, снимите перемычку J1, выключите и снова включите питание — теперь цифровой замок готов к использованию с новым кодом.

    При программировании не забудьте очистить память EEPROM микроконтроллера, чтобы вы могли быть уверены, что код по умолчанию — 1234, а не что-то неизвестное, оставшееся в EEPROM.

    Скачать прошивку (1,1 KiB, скачано: 67)

    Тестер транзисторов / ESR-метр / генератор

    Многофункциональный прибор для проверки транзисторов, диодов, тиристоров...

    Часы за два дня на attiny2313 и ds1307 / Хабр

    Мотив
    Начну с того, что каждый человек живёт во времени, которое, к огромному сожалению, не возможно остановить. И раз мы живём в этом мире, то давайте следить за временем и не упускать ни минуты, тратя её впустую. Для этого я и сделал это чудесное устройство, по имени часы.


    Начнём!

    На улице встало солнце, я нарисовал плату и почесал на ксерокс, дабы напечатать плату

    Дальше те, кто знают как изготавливаются платы поймут, что я перевёл рисунок утюгом на текстолит, протравил, залудил и т.д., а те, кто не в курсе — почитайте в интернете про изготовление плат методом ЛУТ — (Лазерно-утюжная технология).
    результат я заснять забыл, но думаю, что качество будет видно и на готовой плате:

    Видно места, которые не взялись, но ничего страшного не случилось, отстал только полигон.
    Дальше нужно было запаять компоненты, на которых я особо останавливаться не буду, только оставлю их список:

    • AtTiny2313 — 8ми битный микроконтроллер
    • ds1307 — микросхема-счётчик с неплохой точностью
    • часовой кварц на 32.768кГц
    • 2 резистора на 10 КОм
    • 7 резисторов на 10 Ом
    • 1 резистор на 5.2 КОм
    • 4 резистора на 1 КОм
    • 4 транзистора КТ315 (их современные братья)
    • буззер на 5 вольт
    • 2 тактовые кнопки (угловой монтаж)
    • 4 индикатора (10011-BSR) общий анод
    • тантал на 47 микрофарад
    • и гнездо питания и угловым креплением (диаметр отверстия — 5.1мм, диаметр центр. контакта — 1.5мм)

    И пускай вас не смущает длина этого списка, ведь мы собираем устройство на долгие года, и оно должно быть собрано на должном уровне!
    Кто желает посмотреть на плату с другой стороны, вот фото:

    Программа

    Как и все устройства, часы нуждаются в программе. В данном случае программа написана на языке BASIC в BASCOM AVR. Этот язык очень удобный для программирования, так как код понятный, эффективный и занимает не много места на микроконтроллере. Писать программу с ноля я не стал, а взял исходник одной статьи сайта паяльник. Кто интересуется — найдёт, я же просто оставлю доработанный мною код тут:
    $regfile = "attiny2313.dat"
    $crystal = 8000000
    
    Dim Count As Byte
    Dim Number(4) As Integer
    Dim Pointmem As Byte
    Dim Point As Bit
    Dim Mine As Byte
    Dim Hour As Byte
    Dim Seco As Byte
    Config Porta.1 = Output
    Porta.1 = 1
    Waitms 10
    Porta.1 = 0
    Waitms 70
    Porta.1 = 1
    Waitms 10
    Porta.1 = 0
    Config Portb = Output
    Config Porta.0 = Output
    Config Portd.2 = Output
    Config Portd.3 = Output
    Config Portd.6 = Output
    Config Sda = Portd.5
    Config Scl = Portd.4
    Config Pind.0 = Input
    Portd.0 = 1
    Config Pind.1 = Input
    Portd.1 = 1
    Config Timer1 = Timer , Prescale = 64
    On Timer1 Awake:
    Config Timer0 = Timer , Prescale = 64
    On Ovf0 Refresh
    Dig1 Alias Porta.0 : Dig2 Alias Portd.2 : Dig3 Alias Portd.3 : Dig4 Alias Portd.6
    Enable Interrupts
    Enable Ovf0
    Enable Timer1
    Start Timer1
    
    Hour = 0
    Mine = 0
    
    If Pind.1 = 0 And Pind.0 = 0 Then
    Porta.1 = 1
    Waitms 100
    Porta.1 = 0
    Hour = 0
    Mine = 0
    Seco = 1
    
    Seco = Makebcd(seco)
    I2cstart
    I2cwbyte &HD0
    I2cwbyte 0
    I2cwbyte Seco
    I2cstop
    
    Mine = Makebcd(mine)
    I2cstart
    I2cwbyte &HD0
    I2cwbyte 1
    I2cwbyte Mine
    I2cstop
    
    Hour = Makebcd(hour)
    I2cstart
    I2cwbyte &HD0
    I2cwbyte 2
    I2cwbyte Hour
    I2cstop
    Waitms 1000
    Porta.1 = 1
    Waitms 10
    Porta.1 = 0
    End If
    
    Do
    I2cstart
    I2cwbyte &HD0
    I2cwbyte &H00
    I2cstart
    I2cwbyte &HD1
    I2crbyte Seco , Ack
    I2crbyte Mine , Ack
    I2crbyte Hour , Nack
    I2cstop
    Seco = Makedec(seco)
    Mine = Makedec(mine)
    Hour = Makedec(hour)
    
    If Seco = 80 Then
    Seco = 10
    Seco = Makebcd(seco)
    I2cstart
    I2cwbyte &HD0
    I2cwbyte 0
    I2cwbyte Seco
    I2cstop
    End If
    
    If Hour > 9 Then
    Number(1) = Hour / 10
    Number(1) = Abs(number(1))
    Else
    Number(1) = 20
    End If
    
    Number(2) = Hour Mod 10
    
    If Mine > 9 Then
    Number(3) = Mine / 10
    Number(3) = Abs(number(3))
    Else
    Number(3) = 0
    End If
    
    Number(4) = Mine Mod 10
    
    If Pind.1 = 0 Then
    Porta.1 = 1
    Waitms 10
    Porta.1 = 0
    If Mine = 59 Then
    Mine = 0
    Else
    Incr Mine
    End If
    
    Mine = Makebcd(mine)
    I2cstart
    I2cwbyte &HD0
    I2cwbyte 1
    I2cwbyte Mine
    I2cstop
    Else
    
    If Pind.0 = 0 Then
    Porta.1 = 1
    Waitms 10
    Porta.1 = 0
    If Hour = 23 Then
    Hour = 0
    Else
    Incr Hour
    End If
    Hour = Makebcd(hour)
    I2cstart
    I2cwbyte &HD0
    I2cwbyte 2
    I2cwbyte Hour
    I2cstop
    End If
    End If
    
    Waitms 250
    Loop
    
    Awake:
    If Point = 1 Then
    Porta.1 = 1
    Waitus 10
    Porta.1 = 0
    End If
    Toggle Point
    Return
    
    Refresh:
    Reset Dig1 : Reset Dig2 : Reset Dig3 : Reset Dig4
    Incr Count : If Count > 4 Then Count = 1
    If Count = 2 And Point = 1 Then
    Pointmem = Number(2) + 10
    Portb = Lookup(pointmem , Digits)
    Else
    Portb = Lookup(number(count) , Digits)
    End If
    Select Case Count
    Case 1 : Set Dig1
    Case 2 : Set Dig2
    Case 3 : Set Dig3
    Case 4 : Set Dig4
    End Select
    Return
    
    Digits:
    
    Data &B00101000 , &B01111011 , &B00110100 , &B00110010 , &B01100011
    Data &B10100010 , &B10100000 , &B00101011 , &B00100000 , &B00100010
    Data &B00001000 , &B01011011 , &B00010100 , &B00010010 , &B01000011
    Data &B10000010 , &B10000000 , &B00001011 , &B00000000 , &B00000010
    Data &B11111111
    

    Прошиваем почти 2 килобайта кода в мк и наблюдаем как только-что ожившее устройство начало служить человеку.
    Чесно сказать, я испытываю невероятное удовольствие от того, что могу создать нечто такое, что для многих далёкое и не понятное)
    Так выглядит устройство без корпуса, корпус буду делать после написания статьи:

    И так, часы готовы, а как они работают? Это я демонстрирую в первой половине этого видео (не прошу подписки или чего-то ещё, просто материал)

    Заключение

    Таким образом, за 2 дня я сделал устройство, которое покажет мне, сколько мне осталось заниматься одним делом и переходить к другому, когда пора идти, или начать что-то важное.
    Ну а на этом всё, спасибо тем, кто дочитал до конца, успехов вам в ваших проектах, и как говорится: «треска вам, 47, и до встречи на других частотах! QRZ..»

    Программирование Attiny2313 с помощью Arduino Uno

    Теперь у вас должен мигать светодиод на вашем Attiny 2313

    . Обратите внимание, что заводская настройка по умолчанию - 1 МГц, если вы хотите запустить его на 8 МГц, используйте: burn bootloader.

    Выберите плату -> Attiny2313 @ 8MHZ
    Выберите -> Инструменты-> Программист-> Arduino в качестве ISP
    выберите -> Инструменты-> Записать загрузчик

    Примечание: этот шаг не записывает загрузчик на ваш чип, это используется только для установки предохранителей на другую тактовую частоту.

    Когда вы используете его в своем проекте, будет хорошей идеей подключить А 0.1 мкФ через VCC и GND как можно ближе
    к процессору, и резистор 10 кОм между RESET и VCC.

    Связь с Attiny 2313

    Всегда приятно иметь возможность получить отладочную информацию от вашего крошечного.
    На Arduino вы привыкли использовать для этой цели Serial.print ().
    К счастью, вы можете использовать это и на Attiny.
    На самом деле у вас есть больше вариантов:

    TinyDebugSerial - поставляется с файлами ядра (только вывод из attiny)
    SoftwareSerial - используйте библиотеку SoftwareSerial (вход / вывод attiny)
    TinyKnockbang - использовать TinyISP (только output fram attiny)
    RELAY_SERIAL - использовать TinyISP (Input / output attiny)
    Более подробное объяснение: здесь

    Решение для недостающего АЦП

    В Atmel есть несколько замечаний по применению о том, как сделать дешевый АЦП, используя компаратор на Attiny2313.
    Например:
    http://www.atmel.com/Images/doc0942.pdf

    К сожалению, они не предоставляют никаких примеров программирования. Но недавно я нашел простое решение
    http://learn.adafruit.com/photocells/using-a-photocell

    В эскизе внизу этой страницы используется digitalRead () для измерения времени в RC-сети.

    В этом примере используется фоторезистор, но вы можете заменить его на потенциометр.
    Я пробовал это с потенциометром 10 кОм и конденсатором 0,1 мкФ, который дал мне показания от 0 до 600
    На скетче PIN 2 это PD2 на Attiny2313 - физически контакт # 4

    Физические / логические номера контактов.
    F.ex. пин 13 в примере мигания - это физический пин 16
    См. памятку

    Запрограммируйте attiny2313 с помощью Arduino

    Это вторая часть настройки Arduino для программирования микроконтроллера Attiny. В предыдущих частях мы добавили поддержку множества микроконтроллеров. Для справки вот каким будет Attiny2313, когда вы это сделаете, контакты и соответствующие контакты Arduino показаны ниже, как вы можете видеть, вы по-прежнему получаете 16 контактов ввода / вывода, возможности I2C, 3 контакта PWM и последовательный интерфейс. для связи.

    attiny2313 arduino

    Вам нужно будет добавить поддержку ATtiny2313 согласно Программированию ATtiny85 с Arduino Uno, но вам нужно добавить следующие

    http://drazzy.com/package_drazzy.com_index.json

    Настройка подключения attiny2313 к плате Arduino

    Подключите Attiny2313 к Arduino следующим образом

    1) attiny2313 контакт 1 к контакту 10 Arduino сброс
    2) attiny 2313 контакт 17 к контакту 11 Arduino MOSI
    3) контакт 18 attiny2313 к контакту 12 Arduino MISO
    4) контакт 19 attiny2313 к контакту 13 Arduino SCK
    5) контакт attiny2313 10 к Arduino GND
    6) attiny2313 контакт 20 к Arduino VCC

    Планировка

    На схеме не показан светодиод, который мы подключили для тестирования, он был подключен к выводу 7.

    Ступени

    Откройте программу ArduinoISP и загрузите программу ArduinoISP на плату Arduino, чтобы превратить ее в программатора ISP.

    1) Откройте программу ArduinoISP.
    Файл> Примеры> ArduinoISP

    2) Выберите последовательный порт.
    Инструменты> Порт> COMX (введите здесь свой com-порт)

    2) Выберите необходимую плату Arduino, в данном случае мы используем Arduino Uno.
    Инструменты> Плата> Arduino Uno

    3) Установите тип программатора как AVRISP MKII.
    Инструменты> Программатор> AVRISP MKII

    4) Нажмите кнопку загрузки.

    5) Теперь ваш Arduino Uno настроен как программист ISP. Теперь, чтобы настроить Arduino для программирования Attiny с измененным примером мигания

    6) Выберите цель AVR, на которую ISP Arduino будет программировать.
    Инструменты> Плата> ATtinyx313

    7) Измените плату для ISP Arduino, на которую нужно программировать.
    Инструменты> Чип> ATtiny2313

    8) Убедитесь, что для часов Arduino ISP установлено значение 8 МГц.
    Инструменты> Часы> 8 МГц (внутренние)

    Вы можете увидеть эти настройки на скриншоте ниже

    9) Установить режим программатора.
    Инструменты> Программист> Arduino как ISP

    10) Наконец, запустите загрузку скетча в микроконтроллер Attiny2313
    Файл> Загрузить

    Это наш пример кода для загрузки

     // функция настройки запускается один раз, когда вы нажимаете кнопку сброса или включаете плату
    void setup () {
      // инициализируем цифровой вывод 13 как выход.pinMode (7, ВЫХОД);
    }
    
    // функция цикла выполняется снова и снова навсегда
    void loop () {
      digitalWrite (7, ВЫСОКИЙ); // включаем светодиод (HIGH - уровень напряжения)
      задержка (1000); // ждем секунду
      digitalWrite (7, LOW); // выключаем светодиод, понижая напряжение
      задержка (1000); // ждем секунду
    } 

    Если вы подключите светодиод к контакту 7 вашего Attiny2313, вы увидите, что светодиодная вспышка включается и выключается, но это кажется немного медленным

    Если вы хотите, вы можете записать загрузчик в Attiny, и микроконтроллер будет работать на частоте 8 МГц, а в примере выше светодиод будет мигать с правильной скоростью

    Запрограммируйте свой attiny2313 с помощью Arduino - получите микросхемы

    Это вторая часть настройки Arduino для программирования микроконтроллера Attiny. В предыдущих частях мы добавили поддержку множества микроконтроллеров.Для справки вот каким будет Attiny2313, когда вы это сделаете, контакты и соответствующие контакты Arduino показаны

    .

    attiny2313-распиновка

    Теперь займемся установкой

    Настройка подключения attiny2313 к плате Arduino

    Подключите Attiny2313 к Arduino следующим образом

    1) attiny2313 контакт 1 к контакту 10 Arduino сброс
    2) attiny 2313 контакт 17 к контакту 11 Arduino MOSI
    3) контакт 18 attiny2313 к контакту 12 Arduino MISO
    4) контакт 19 attiny2313 к контакту 13 Arduino SCK
    5) контакт attiny2313 10 к Arduino GND
    6) attiny2313 контакт 20 к Arduino VCC

    Вот макет

    Arduino для atttiny2313

    Откройте программу ArduinoISP и загрузите программу ArduinoISP на плату Arduino, чтобы превратить ее в программатора ISP.Теперь откройте скетч BLINK и загрузите скетч BLINK в Attiny2313 через опцию «Загрузить с помощью программатора» в Arduino IDE, как показано ниже

    1) Откройте программу ArduinoISP.
    Файл> Примеры> ArduinoISP

    2) Выберите последовательный порт.
    Инструменты> Порт> COM5 (ваши могут отличаться)

    2) Выберите необходимую плату Arduino, в данном случае мы используем Arduino Uno.
    Инструменты> Плата> Arduino Uno

    3) Установите тип программатора как AVRISP MKII.
    Инструменты> Программатор> AVRISP MKII

    4) Нажмите кнопку загрузки.

    5) Теперь ваш Arduino Uno настроен как программист ISP. Затем откройте эскиз LED Blink. Файл
    > Примеры> Основы> Blink

    6) Выберите цель AVR, на которую ISP Arduino будет программировать.
    Инструменты> Плата> ATtinyx313

    7) Измените плату для ISP Arduino, на которую нужно программировать.
    Инструменты> Чип> ATtiny2313

    8) Убедитесь, что для часов Arduino ISP установлено значение 8 МГц.
    Инструменты> Часы> 8 МГц (внутренние)

    Вы можете увидеть эти настройки на скриншоте ниже

    attinyx313

    9) Установить режим программатора.
    Инструменты> Программист> Arduino как ISP

    10) Наконец, запустите загрузку скетча в микроконтроллер Attiny2313
    Файл> Загрузить

    Если вы подключите светодиод к контакту 16 вашего Attiny2313, вы увидите, что светодиодная вспышка включается и выключается

    ATtiny2313 8-битный микроконтроллер AVR - вывод, характеристики, техническое описание, работа, приложения

    ATtiny2313 - это высокопроизводительный, но маломощный микроконтроллер на основе архитектуры Microchip 8-бит AVR RISC, который имеет 20 контактов, из которых 18 контактов могут использоваться в качестве контактов ввода / вывода.

    ATtiny2313 Конфигурация контактов

    Номер контакта

    Имя контакта

    Описание

    1

    СБРОС / dW / PA2

    Порт A BIt 2 или RESET используется в основном для программирования или dW

    2

    PD0 / RXD

    Двунаправленный контакт ввода / вывода порта D, бит 0 или получение данных UART

    3

    PD1 / TXD

    Двунаправленный контакт ввода / вывода порта D, бит 1 или передача данных через UART

    4

    PA1 / XTAL2

    Порт A BIt 1 или Crystal Out

    5

    PA0 / XTAL1

    Порт A Бит 0 или Кристалл В

    6

    PD2 / CKOUT / XCK / INT0

    Двунаправленный вывод ввода / вывода порта D, бит 2 или внешнее прерывание 0, или выход системных часов, или часы USART для синхронной передачи

    7

    PD3 / INT1

    Контакт двунаправленного ввода-вывода порта D, бит 3 или внешнее прерывание 1

    8

    PD4 / T0

    Двунаправленный вывод ввода / вывода порта D Бит 4 или таймер 0 Выход / счетчик

    9

    PD5 / OC0B / T1

    Двунаправленный вывод ввода / вывода порта D Бит 5 или выходное сравнение совпадают Bout или Timer 1 Output / Counter

    10

    ЗЕМЛЯ

    Контакт заземления MCU

    11

    PD6 / ICP

    Контакт двунаправленного ввода-вывода порта D, бит 6 или входной захват

    12

    PB0 / AIN0 / PCINT0

    Двунаправленный вывод ввода / вывода порта B Бит 0 или аналоговый компаратор 0 или изменение вывода Источник прерывания

    13

    PB1 / AIN1 / PCINT1

    Двунаправленный вывод ввода / вывода порта B Бит 1 или аналоговый компаратор 1 или изменение вывода Источник прерывания

    14

    PB2 / OC0A / PCIN2

    Двунаправленный вывод ввода / вывода порта B Бит 2 или совпадение вывода сравнения A на выходе или изменение вывода Источник прерывания

    15

    PB3 / OC1A / PCINT3

    Двунаправленный вывод ввода / вывода порта B Бит 3 или совпадение вывода сравнения A на выходе или изменение вывода Источник прерывания

    16

    PB4 / OC1B / PCINT4

    Двунаправленный вывод ввода / вывода порта B Бит 4 или сравнение выходного сигнала совпадают с выходом или изменением вывода Источник прерывания

    17

    PB5 / MOSI / DI / SDA / PCINT5

    Двунаправленный вывод ввода / вывода порта B, бит 5 или SPI MOSI, также используется в программировании или I2C SDA или источнике прерывания изменения вывода

    18

    PB6 / MISO / DO / PCINT6

    Двунаправленный вывод ввода / вывода порта B, бит 5 или SPI MISO, также используется в источнике прерывания программирования или смене вывода или трехпроводном универсальном интерфейсе. Вывод данных

    19

    PB7 / UCSK / SCL / PCINT7

    Двунаправленный вывод ввода / вывода порта B Бит 7 или трехпроводной режим Универсальный последовательный интерфейс или I2C SCL или источник прерывания изменения вывода или SCK для программирования

    20

    VCC

    Положительный вывод MCU (+ 5V)

    Характеристики и спецификации микроконтроллера ATtiny2313

    ATtiny2313 - Упрощенные функции и спецификации

    ЦП

    8-битный AVR

    Количество контактов

    20

    Рабочее напряжение (В)

    1.8-5,5 В

    Количество контактов ввода / вывода

    18

    Модуль АЦП

    Нет

    Модуль таймера

    8 бит (1), 16 бит (1)

    Компараторы

    1

    Модуль ЦАП

    Нет

    Периферийные устройства связи

    1-UART, 2-SPI, 1-I2C

    Внешний осциллятор

    Есть

    Внутренний осциллятор

    8 МГц

    Программная память (КБ)

    2 КБ

    Скорость процессора (MIPS)

    20 MIPS

    байтов ОЗУ

    128

    Данные EEPROM

    128 байтов

    Примечание. Полную техническую информацию можно найти в листе данных ATtiny2313 , ссылка на который находится внизу этой страницы.

    Продукт, альтернативный ATtiny2313

    Альтернативные продукты для микроконтроллера ATtiny2313 перечислены ниже -

    1. ATtiny2313A (точная альтернатива с новой версией)
    2. ATtiny417
    3. ATtiny28L
    4. ATtiny48
    5. ATmega88PA
    6. ATmega8A
    7. ATmega8515
    8. ATmega8535
    9. ATmega645A
    10. ATmega6490

    Знакомство с ATtiny2313

    ATtiny2313 - это высокопроизводительный, но маломощный микроконтроллер на основе архитектуры Microchip 8-бит AVR RISC, который имеет 20 контактов, из которых 18 контактов могут использоваться в качестве контактов ввода / вывода.

    Он имеет мощную архитектуру инструкций, которая обеспечивает скорость обработки 1 MIPS на МГц при балансировке энергопотребления при одновременной обработке высокоскоростной производительности. Скорость может достигать 20 MIPS при использовании максимальной частоты 20 МГц. ATtiny2313 также поставляется с функцией отладки на кристалле debugWIRE, внутрисистемным программируемым портом SPI, режимами ожидания с низким энергопотреблением, отключением питания и режимами ожидания. В нем также используется программируемая схема обнаружения пониженного напряжения.

    Имеет широкий диапазон рабочего напряжения, от 1 до 1.От 8 В до 5,5 В. Таким образом, его можно использовать для операций на логическом уровне 1,8 В, 3,3 или 5,0 В. Однако работа в диапазоне 0–4 МГц поддерживается входным напряжением 1,8 В для ATtiny2313V. Для частоты до 10 МГц минимальное напряжение требуется 2,7 В для ATtiny2313, а для операций 20 МГц требуется минимальное напряжение 4,5–5,5 В.

    На изображении ниже показана подробная схема контактов ATtiny2313.

    Подробные характеристики ATtiny2313

    ATtiny2313 - Подробные характеристики

    ЦП

    8-битный AVR RISC

    Архитектура

    8

    Размер памяти программ (Кбайт)

    2

    RAM (байты)

    128

    EEPROM / HEF

    128

    Количество выводов

    20

    Макс.Частота процессора (МГц)

    20

    Выбор периферийных контактов (PPS)

    Внутренний осциллятор

    4 МГц

    № компараторов

    1

    №Операционного усилителя

    0

    Кол-во каналов АЦП

    0

    Максимальное разрешение АЦП (бит)

    АЦП с вычислением

    0

    Количество преобразователей ЦАП

    0

    Максимальное разрешение ЦАП

    Внутреннее опорное напряжение

    Обнаружение нулевого пересечения

    №8-битных таймеров

    1

    Количество 16-битных таймеров

    1

    Таймер измерения сигнала

    0

    Аппаратный таймер ограничения

    0

    №Выходов ШИМ

    4

    Максимальное разрешение ШИМ

    1024

    Угловой таймер

    0

    Математический ускоритель

    №Модуля UART

    1

    № модуля SPI

    2

    № модуля I2C

    1

    № USB-модуля

    0

    Оконный сторожевой таймер (WWDT)

    CRC / сканирование

    Генератор с числовым программным управлением

    Кап.Сенсорные каналы

    4

    Сегментный ЖК-дисплей

    0

    Минимальная рабочая температура (* C)

    -40

    Максимальная рабочая температура (* C)

    85

    Минимальное рабочее напряжение (В)

    1.8 / (от 2,7 до 10 МГц) / (от 4,5 до 20 МГц)

    Максимальное рабочее напряжение (В)

    5,5

    Возможность высокого напряжения

    Программирование микроконтроллера AVR Микроконтроллеры

    PIC могут быть запрограммированы с помощью различного программного обеспечения, доступного на рынке.Есть люди, которые до сих пор используют язык ассемблера для программирования микроконтроллеров AVR. Приведенные ниже сведения относятся к наиболее продвинутому и распространенному программному обеспечению и компилятору, которые были разработаны самой Atmel (теперь Microchip).

    Для программирования микроконтроллера AVR нам понадобится IDE (интегрированная среда разработки), в которой происходит программирование. Компилятор, в котором наша программа преобразуется в читаемую форму MCU, называемую HEX-файлами.

    IDE: Atmel Studio 7

    Компилятор: AVR и ARM Toolchains

    Microchip предоставила все эти два программного обеспечения бесплатно.Их можно скачать прямо с их официальной страницы. Я также предоставил ссылку для вашего удобства. После загрузки установите их на свой компьютер. Если у вас возникнут проблемы, вы можете опубликовать их в комментарии ниже.

    Чтобы сделать дамп или загрузить наш код в AVR, нам понадобится устройство под названием ATAtmel-ICE. Программатор / отладчик ATATmel - ICE - это простой внутрисхемный отладчик, который управляется ПК с программным обеспечением Atmel Studio на платформе Windows.Программатор / отладчик ATAtmel-ICE является неотъемлемой частью набора инструментов разработчика. Базовая схема программирования ATtiny2313 показана ниже.

    Помимо этого официального программатора, пользователи также используют USB ASP AVR Programming Device для недорогих программных решений.

    В дополнение к этому нам также понадобится другое оборудование, такое как плата Perf или макет, паяльная станция, микросхемы AVR, кварцевые генераторы, конденсаторы и т. Д.

    Компоненты, связанные с АРН

    USB ASP AVR программатор, плата для разработки AVR, кварцевые генераторы, конденсаторы, адаптер 12 В, регулятор напряжения 7805.

    2D Модель

    Размеры ATtiny2313 показаны ниже -

    Как программировать ATtiny2313 ATtiny4313 с использованием Arduino

    В этом руководстве я покажу вам, как запрограммировать микросхему микроконтроллера ATtiny2313 с помощью Arduino.

    ATtiny2313 и ATtiny4313 - это 20-контактные процессорные микросхемы. Он имеет 17 контактов ввода / вывода, но не имеет АЦП. Его можно настроить для работы на частотах 1 МГц и 8 МГц без внешнего кварцевого генератора. Ранее я показал вам, как программировать ATtiny85 с помощью Arduino, 8-контактного чипа, подходящего для гораздо меньших проектов.

    Подключите Arduino к Attiny2313, следуя этим контактам.

      Ардуино Attiny 2313 
    13 19 PB7 / SCK
    12 18 PB6 / MISO
    11 17 PB5 / MOSI
    10 1 PA2 / Сброс
    5v 20 VCC
    ЗЕМЛЯ 10 ЗЕМЛЯ 
    • Загрузите библиотеку Arduino-Tiny.
    • Следуйте этим инструкциям, чтобы установить библиотеку. (убедитесь, что IDE Arduino еще НЕ запущена!)
    • Загрузите ArduinoISP в Arduino
    • Подключите конденсатор 10 мкФ от сброса к земле на Arduino (если вы используете Arduino Duemilanove, используйте резистор 120 Ом от сброса до Vcc)
    • Откройте пример скетча мигания, измените номер вывода светодиода с 13 на 15 (это вывод 18 на микросхеме)
    • Выберите доску Attiny2313 из Инструменты-> Доска-> [электронная почта защищена] .Вы заметите, что у вас есть много вариантов на выбор. Это связано с тем, что эта «крошечная» папка, которую мы поместили в папку «hardware», дала программе Arduino больше вариантов платы.
    • Выберите ArduinoISP: Инструменты-> Программист-> Arduino как ISP
    • Загрузите свой скетч, выбрав Файл-> Загрузить с помощью программатора, , если вы получаете какую-либо ошибку, посмотрите этот пост, чтобы устранить проблему .
    • Подключите светодиод с резистором к контакту PB6 на ATtiny2313 или 4313 (контакт номер 18 на микросхеме)
    • Теперь на Attiny должен мигать светодиод 2313

    Проверьте эту схему, чтобы соответствовать номеру контакта, который мы используем при программировании, и физическому расположению контакта.

    Обратите внимание, что в приведенном выше примере чип будет работать на частоте 1 МГц, как указано при выборе платы ATtiny в среде IDE. Если вы хотите запустить его на частоте 8 МГц, вам необходимо выбрать другую опцию платы, а также опцию burn bootloader . На самом деле он не сжигает загрузчик на вашем чипе ATtiny, он только установит предохранители на другую тактовую частоту. Также рекомендуется подключить конденсатор 0,1 мкФ между VCC и GND, а резистор 10 кОм между RESET и VCC при работе на этой скорости.

     Выберите доску -> [электронная почта защищена]
    Выберите -> Инструменты-> Программист-> Arduino как ISP.
    Выберите -> Инструменты-> Записать загрузчик 
    .

    Самый простой способ отладки Arduino - использовать функцию Serial.print (), и, к счастью, вы можете сделать это и на Attiny2313.

    У меня еще нет ATtiny4313, поэтому я не могу протестировать на нем этот метод программирования Arduino. Но они кажутся очень похожими, поскольку появляются в одном листе данных. В таблице данных указано: «ATtiny2313A и ATtiny4313 различаются только объемом памяти.«Итак, я полагаю, все, что вам нужно сделать, это выбрать другую плату перед загрузкой скетча в IDE. Я обновлю этот раздел, как только буду в этом уверен, или дам мне знать, чтобы подтвердить это, если вы это сделали.

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

    Опубликовано в "Сделай сам и хаки", Электроника, автор Оскар. 8 ответов

    Attiny2313 - Опасные прототипы

    Рахул в Xanthium опубликовал руководство по взаимодействию ATtiny с L293D: В этом руководстве мы научимся сопрягать L293D с микроконтроллером ATMEL ATtiny и управлять ими в двух направлениях.Здесь используется микроконтроллер ATtiny2313A, который связан с двумя микросхемами управления двигателями L293D для управления до 4 щеточных двигателей постоянного тока. Вы можете управлять до 8 […]

    Пользователь MIDI-контроллера с открытым исходным кодом для сэмплера Roland SP-404 от Davide Gironi: Roland SP-404 - цифровой сэмплер производства Roland Corporation. Этот сэмплер имеет входной MIDI-порт и предоставляет набор MIDI-команд для управления устройством. С помощью этого проекта пользователь может управлять Roland SP-404 с помощью Midi Pedal. С […]

    Баоши из DigitalMe написал статью, в которой подробно описал свою минималистичную сборку платы для разработки ATTiny2313: Микросхема AVR, о которой я говорю, - это Atmel ATTiny2313 в корпусе SOIC-20.Чтобы сделать отладочную плату, я купил несколько 28-контактных переходников SOIC / SSOP на DIP. Эти адаптеры обычно бывают двухсторонними. Соответствующие штифты с обеих сторон подключаются через плакированные сквозные отверстия […]

    Проект дистанционного управления GSM, разработанный Василисом Серасидисом: Два года спустя я построил еще один пульт дистанционного управления на базе модуля GSM. Я выбрал модуль Sony-ericsson GM-47, потому что с ним было очень легко управлять с помощью AT-команд. К тому же цена была достаточно низкой для экспериментов.В конце концов, я решил выпустить исходный код […]

    Пользователь MIDI-контроллера с открытым исходным кодом для сэмплера Roland SP-404 от Davide Gironi: Roland SP-404 - цифровой сэмплер производства Roland Corporation. Этот сэмплер имеет входной MIDI-порт и предоставляет набор MIDI-команд для управления устройством. С помощью этого проекта пользователь может управлять Roland SP-404 с помощью Midi Pedal. С […]

    Joonas Pihlajamaa из Code and Life пишет: Когда я бился головой о стену во время отладки моей клавиатуры PS / 2, мне очень хотелось иметь специальный логический анализатор (желательно с декодером PS / 2, но даже необработанные двоичные данные будут '' все было хорошо).Поэтому я решил опробовать давно задуманную идею - объединить […]

    Термометр шириной DS18S20: В моем новом Dacia Duster, к сожалению, отсутствует индикация температуры наружного воздуха. Готовый термометр с ЖК-дисплеем не отделяется оттуда, хотя контраст с солнечным светом обычно особенно заметен. У меня там еще был буквенно-цифровой светодиодный дисплей красного цвета для этого проекта как нельзя лучше подходит. В качестве микроконтроллера я использовал […]

    Майкл из AcidBourbon пишет: «Этот проект о добавлении MIDI-выхода к старинному органу Korg CX-3 (знаменитый компактный клон органа Hammond).My Korg был построен в 1979 году, то есть до введения стандарта General Midi. Но подключив правые (всего три) токопроводящие дорожки на основной плате и используя […]

    Частотомер от 1 Гц до 10 МГц с использованием ATtiny2313: Этот частотомер на основе AVR способен измерять частоты от 1 Гц до 10 МГц с разрешением 1 Гц. Аппаратная часть этого проекта состоит из семи 7-сегментных дисплеев, AVR ATtiny2313 uController и нескольких транзисторов и резисторов. AVR считает входные импульсы с точностью до 1 секунды (сгенерировано […]

    Кеннет Финнеган опубликовал подробную информацию об управлении лампами Numitron с помощью микроконтроллера ATTiny2313.Лампы Numitron представляют собой устройства отображения с нитью накала, для которых требуется всего 2-3 вольта вместо гораздо более высоких напряжений, которые требуются лампам Nixie и частотно-регулируемым приводам. Он использует светодиодный драйвер Allegro A6278 (который он нашел в своей коллекции запчастей и больше не производит, но […]

    Мы наткнулись на краткую статью Скотта Хардена, в которой описывается, как управлять ЖК-дисплеем HD44780 с помощью Attiny2313. После ряда неудачных попыток с другим кодом он нашел эту ЖК-библиотеку, написанную Мартином Томасом для использования с AVR-GCC.С помощью нескольких модификаций кода Скотт получил вышеуказанные результаты, управляя своим ЖК-дисплеем 2 × 20 […]

    Эрик Грегг (Хэнк) хотел получить именной значок с буквенно-цифровым дисплеем 16 × 2 для использования на конференциях, нердфестах и ​​т. Д. Он сконструировал этот простой значок на основе ATtiny2313, который взаимодействует с ЖК-дисплеем с минимальным количеством компонентов. Этот проект основан на этом Руководстве. Он поднял Instructable на новый уровень, перейдя с макета на […]

    Ejberg.dk разработал этот проект для простого серво-тестера на базе ATtiny2313.Это устройство позволяет вам тестировать сервоприводы, изменяя ширину импульса в пределах от 0,8000 мс до 2,2000 мс, выбираемых с помощью четырех кнопок. Хотя на схеме показан Atmel AT90S2313, схема будет работать с популярным ATtiny2313 с версией […]

    .

    В этой статье с веб-сайта Радослава Квенцена показано, как декодировать ИК-сигналы RC5 с пульта дистанционного управления, используя 16-битный вход таймера Timer1 и вход внешнего прерывания INT0 в устройстве ATtiny2313 Atmel AVR. Весь код в сборке доступен в сжатом файле.

    В своем проекте Бину из avrprojects.info связывает GPS-модуль ProGin SR-87 с ATtiny2313 и ЖК-дисплеем 2 × 16 для генерации текущего отображения широты и долготы. Устройство также сохранит одно статическое местоположение и будет издавать звуковой сигнал при каждом достижении этого местоположения. (В коде можно указать и другие местоположения, но в проекте предполагается […]

    Василис Стергиопулос построил тестер кабеля LAN RJ45. Схема изначально была разработана для использования микросхем 555 и 4017, но Василис опубликовал схему и исходный код на ассемблере для использования Attiny2313 вместо этого.Attiny2313 выдает последовательные выходы на порт D, к которому подключен LAN-кабель. Если прямой кабель […]

    Техник Сервис представляет простой проект Attiny2313 для тестирования мониторов VGA. Требуются только чип и несколько отдельных компонентов, а исходный код предоставляется как в сборке, так и в шестнадцатеричном файле, готовом к загрузке. Через PyroElectro.

    V-USB - это программная реализация низкоскоростного USB-устройства для микроконтроллеров Atmel AVR®, позволяющая создавать USB-оборудование практически с любым микроконтроллером AVR®, не требуя дополнительных микросхем.V-USB можно бесплатно лицензировать по Стандартной общественной лицензии GNU или, как вариант, по коммерческой лицензии. Пример оборудования, необходимого для […]

    Generic ATtiny2313 - последняя версия документации PlatformIO

    Платформа

    Atmel AVR: 8-битные микроконтроллеры Atmel AVR обеспечивают уникальное сочетание производительности, энергоэффективности и гибкости конструкции. Оптимизированные для ускорения вывода на рынок - и легкой адаптации к новым - они основаны на самой эффективной в отрасли архитектуре программирования на языке C и ассемблере

    .

    Микроконтроллер

    ATTINY2313

    Частота

    8 МГц

    Вспышка

    2 КБ

    RAM

    128B

    Продавец

    Атмель

    Используйте идентификатор attiny2313 для опции платы в «platformio.ini »(файл конфигурации проекта):

     [env: attiny2313]
    платформа = atmelavr
    доска = attiny2313
     

    Вы можете переопределить стандартные настройки ATtiny2313 по умолчанию для каждой среды сборки, используя board _ *** option, где *** - путь к объекту JSON из манифест платы attiny2313.json. Например, board_build.mcu , board_build.f_cpu и т. Д.

     [env: attiny2313]
    платформа = atmelavr
    доска = attiny2313
    
    ; изменить микроконтроллер
    board_build.mcu = attiny2313
    
    ; изменить частоту MCU
    board_build.f_cpu = 8000000L
     

    Отладка - решение «в один клик» для отладки с нулевой конфигурацией.

    Предупреждение

    В зависимости от вашей системы вам потребуется установить драйверы средства отладки. Пожалуйста, нажмите на совместимый инструмент отладки ниже, чтобы продолжить инструкции и информация о конфигурации.

    Вы можете переключаться между инструментами отладки и зондами отладки, используя параметр debug_tool в «platformio.ini» (файл конфигурации проекта).

    Generic ATtiny2313 имеет встроенный датчик отладки, а ГОТОВ для отладки. Вам не нужно использовать / покупать внешний датчик отладки.

    Совместимые инструменты

    На борту

    По умолчанию

    симавр

    Есть

    Есть

    Имя

    Описание

    Ардуино

    Arduino Wiring-based Framework позволяет писать кроссплатформенное программное обеспечение для управления устройствами, подключенными к широкому спектру плат Arduino, для создания всех видов творческого кодирования, интерактивных объектов, пространств или физического опыта

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *