Attiny13 описание на русском – 8 канальный ШИМ на attiny13 / Алгоритмы и программные решения / Сообщество EasyElectronics.ru

ATtiny13A

Микроконтроллер ATtiny13A принадлежит семейству микроконтроллеров AVR фирмы Atmel. ATtiny13A имеет 1кб Flash памяти и по 64 байта SRAM и EEPROM памяти. ATtiny13A может работать на частоте до 20МГц.

ATtiny13A выпускают в корпусах DIP-8, SOIC-8, QFN-10 и QFN-20

Синим цветом на рисунке показаны номера выводов соответствующие Arduino.

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

  • 0..5 6 программируемых линий ввода-вывода (DIP-8)
  • 4…5, 2 4 несимметричных каналов 10-разрядных АЦП
  • 0…1 2 выхода с широтно-импульсной модуляцией (ШИМ (PWM))
  • Один 8-разрядный таймер-счетчик
  • 1 кб FLASH памяти программ
  • 64 байта SRAM
  • 64 байта EEPROM
  • 120 команд
  • 9 векторов прерываний
  • 7 внешних прерываний
  • 1 сторожевой таймер
  • 1 аналоговый компаратор
  • 1 встроенный RC-генератор
  • 1 схема BOD

Условные обозначения и описание ножек микроконтроллеров AVR ATtiny и ATmega

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

Далее мы приводим описание аббревиатур, которые Вы можете встретить в datasheet микроконтроллеров.


































PAnn-й разряд порта A
PBnn-й разряд порта B
PDnn-й разряд порта D
(IR)(Выходной контакт с повышенной нагрузочной способностью)
ADCnn-й вход АЦП
AREFВход опорного напряжения для АЦП
AVCCВывод источника питания АЦП
AIN0Положительный вход компаратора
AIN1Отрицательный вход компаратора
INTn Вход внешнего n-го прерывания
PCINTnВход внешнего n-го прерывания по изменению состояния вывода
XTAL1Вход тактового генератора
XTAL2Выход тактового генератора
CKOUTВыход системного тактового сигнала
CLKOВыход системного тактового сигнала
MOSIВход данных при программировании
MISOВыход данных при программировании
SCKВход тактового сигнала при программировании
DIВход данных модуля USI в режиме SPI
DOВыход данных модуля USI в режиме SPI
USCKВход/выход тактового сигнала модуля USI в режиме SPI
SDAВход/выход данных модуля USI в режиме TWI
SCLВход/выход тактового сигнала модуля USI в режиме TWI
RXDВход USART
TXDВыход USART
XCKВход/выход внешнего тактового сигнала USART
RESETСброс
TnВход внешнего тактового сигнала таймера/счетчика Tn
OCnXВыход X таймера/счетчика Tn
ICPВход захвата таймера/счетчика
dWВывод отладочного интерфейса debugWire
GNDОбщий провод
VCCПитание микросхемы

adior.ru

ATtiny13 программатор

Программирование микроконтроллера AVR ATtiny13 в среде Arduino и с помощью программы avrdude.

В качестве программатора микроконтроллера ATtiny13 будем использовать плату Arduino UNO как описано в следующей статье ISP Программатор микроконтроллеров ATtiny из Arduino или самодельный программатор USB программатор своими руками на ATmega8. Для работы с микроконтроллером ATtiny13 в среде разработки Arduino, программу Arduino необходимо настроить, читайте Микроконтроллеры ATtiny в среде разработки Arduino. 

Воспользовавшись описанием микроконтроллера ATtiny13 (datashit) ATtiny13A, нарисуем схему подключения ATtiny13 к программатору:

Подключите программатор ATtiny13 к компьютеру, в среде разработки Arduino выберите меню:

  1. / /
  2. / /
  3. /

Таким образом, вы настроили программу Arduino и уже прошили фьюз биты микроконтроллера ATtiny13. В Arduino установить необходимые параметры микроконтроллера ATtiny13 (фьюзы) можно вручную в файле …arduino/hardware/…/boards.txt

С помощью программы Arduino программу на AVR-C (скетч, прошивку) заливают в микроконтроллер нажатием на кнопку Загрузить с помощью программатора. Нажатие на кнопку Загрузить с помощью программатора в программе Arduino запускает следующие программы командной строки (в Linux):

  1. avr-g++
  2. avr-ar
  3. avr-gcc
  4. avr-objcopy
  5. avrdude

Последняя из перечисленных программ загружает двоичный файл в микроконтроллер ATtiny13.

Загрузка фьюзов и прошивок в м-к ATtiny13 с помощью программы avrdude.

Avrdude — утилита командной строки, предназначенная для загрузки двоичных файлов микропрограмм в микроконтроллер с использованием программатора. Руководство по avrdude: man avrdude руководство пользователя.

С помощью следующей команды Вы установите фьюзы микроконтроллера ATtiny13 в старший 0xFF, 0x7A младший:

avrdude -C/home/dior/ProgramFiles/arduino-1.0.6/hardware/tools/avrdude.conf -v -v -v -v -pattiny13 -cstk500v1 -P/dev/ttyUSB0 -b19200 -e -Uhfuse:w:0xff:m -Ulfuse:w:0x7a:m

Следующая команда загрузит двоичный файл Blink01_ATtiny13.cpp.hex в микроконтроллер ATtiny13:

avrdude -C/home/dior/ProgramFiles/arduino-1.0.6/hardware/tools/avrdude.conf -v -v -v -v -pattiny13 -cstk500v1 -P/dev/ttyUSB0 -b19200 -Uflash:w:/tmp/build481490467907776681.tmp/Blink01_ATtiny13.cpp.hex:i

adior.ru

Документация по AVR микроконтроллерам, все на русском. / AVR / Сообщество EasyElectronics.ru

За время программирования AVR микроконтроллеров, нарыл я вагон книг в интернете . Целый архив скопился. Вот, выкладываю его для всех. Кому надо качайте. Все строго на русском. Если здесь чего то нет, что есть у вас, предлагаю доложить. Пущай народ чесной пользуется. Весь архив я разбил не по авторам, а по годам выпуска. Если вам нужна какая то одна книга, то не обязательно качать весь архив. Это можно делать выборочно. Итак что мы имеем:

  • 0_Ревич Практическое программирование AVR на ассемблере 2011.djvu
  • 1.0_Рюмик 1000 и одна микроконтроллерная схема Вып. 2 2011.djvu
  • 1.1_Рюмик 1000 и одна микроконтроллерная схема Вып. 1 2010.djvu
  • 2_Кравченко 10 практических устройств на МК AVR Книга-2 2009.djvu
  • 3_Кравченко 10 практических устройств на МК AVR Книга-1 2008.djvu
  • 4_Ревич Практическое программирование МК AVR на ассемблере 2008.djvu
  • 5_Белов Самоучитель разработчика устройств на МК AVR 2008.djvu
  • 6_Лебедев CodeVisionAVR. Пособие для начинающих 2008.djvu
  • 6.1_Ефстифеев МК AVR семейств Tiny и Atmega 2008.pdf
  • 7_Белов Микропроцессорное управление устройствами, тиристоры, реле 2008.doc
  • 8_Стюард Болл_Аналоговые интерфейсы МК 2007.djvu
  • 9_Белов_Создаем устройства на МК AVR 2007.djvu
  • 10_Белов МК AVR в радиолюбительской практике Полный разбор ATTINY2313 2007.djvu
  • 11_Евстифеев МК AVR семейств Tiny 2007.djvu
  • 12_Евстифеев МК AVR семейства Mega 2007.djvu
  • 13_Фред Иди Сетевой и межсетевой обмен данными с МК 2007.djvu
  • 14_Хартов МК AVR практикум для начинающих 2007.djvu
  • 15_Баранов Применение AVR Схемы, алгоритмы, программы 2006.djvu
  • 16_Мортон Д. — Микроконтроллеры AVR. Вводный курс 2006.djvu
  • 17_Трамперт В. Измерение, управление и регулирование с помощью AVR 2006.djvu
  • 18_Шпак Ю.А. Программирование на языке С для AVR и PIC МК 2006.djvu
  • 19_В.Трамперт AVR-RISC МК 2006.pdf
  • 20_Евстифеев А.В. МК AVR семейства Classic 2006.pdf
  • 21_Белов конструирование устройств на МК 2005.djvu
  • 22_Рюмик С.М. — МК AVR. 10 ступеней 2005.djvu
  • 23_Баранов Применение MK AVR. Схемы, алгоритмы, программы 2004.djvu
  • 24_Евстифеев MK AVR Tiny и Mega 2004.djvu
  • 25_Фрунзе МK это же просто, том 3 2003.djvu
  • 26_Голубцов MK AVR от простого к сложному 2003.djvu
  • 27_Фрунзе МК это же просто, том 2 2002.djvu
  • 28_Фрунзе МК это же просто, том 1 2002.djvu
  • 29_Бродин Системы на МК 2002.djvu
  • 30_Гребнев МК семейства ATMEL 2002г.djvu
  • 31_Datasheet на ATmega128_полный перевод на русский.djvu

Я начинал свое изучение AVR с книги 16. Сейчас самые используемые мной книги это 10, 11, 12. Вообще я думаю если этих книг скачать, то начинающему на 5 лет хватит.

Архив качаем отсюда.

Продолжение темы здесь.

we.easyelectronics.ru

attiny13a datasheet на русском — Меандр — занимательная электроника

Схема фонаря показана на рисунке. На полевом транзисторе VT1, дрос­селе L1, диоде VD1 и конденсаторе С4 собран повышающий преобразователь, управляющие импульсы для которого вырабатывает микроконтроллер DD1. С подвижного контакта подстроенного резистора R1 снимают и подают на вход АЦП микроконтроллера часть напряже­нии питания для его контроля. Кнопкой SB1 включают фонарь и регулируют яркость его свечения. Пять …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/35687

Для реализации проекта понадобится 4 светодиодных матрицы 8х8, 4 сдвигающих регистра 74HC595 и управляющий микроконтроллер TINY13A. Задача заключается в том, чтобы зажечь все 256 светодиодов от нашего 8-выводного микроконтроллера TINY13A. Для этого дела выводов на данном микроконтроллере явно маловато, по этому будем расширять порты регистрами сдвига. Что бы всё работало я написал небольшую «детскую» программку, …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/35659

meandr.org

Трёхканальный UART АЦП на ATtiny13 / Хабрахабр

Привет хабр. Я уже давно вынашивал сделать UART Аналогового-Цифрового Преобразователя на ATtiny13, зачем делать именно на ATtiny13 ведь есть, к примеру, ATmega8 имеет аж 6 (для DIP корпуса) портов на которых, при помощи мультиплексора, можно проводить измерение АЦП?

Причин несколько:

— ATtiny13 стоит дешевле;

— В ATtiny13 более оптимально используются ресурсы микроконтроллера;

— Размеры;

— Энергопотребление;

— Просто мне так захотелось.

Конечно на мои аргументы можно найти множество контраргументов, например ATmega8 при использовании V-USB может превратится в плату ввода/вывода которой не нужен переходник с UART на USB, правда кроме последнего, и с этим пожалуй не поспоришь.

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

Ну ладно, не буду тянуть и покажу, как работает в железе:

Пару слов по схеме, кстати, вот она:

Схема в Proteus

Скажу сразу, что не плохо бы уделить внимание фильтру питания, у меня это два конденсатора C1 — желательно «керамика» и как можно ближе к ножкам МК, ну и C2 — электролитический, второй можно поставить на 100 мкФ но у меня такого не оказалось под рукой, нашёл на 470 мкФ 10 В. Так же было бы не плохо по конденсатору на каждый порт АЦП, и как можно ближе к МК. R1 не принципиален, но по правилах «хорошего тона» — должен присутствовать.

Данные, как Вы могли видеть, приходят в формате 1023,666,10, ну хоть бери и сохраняй в формате CSV на компе или же другом устройстве, которое будет принимать эти данные.

Кстати принимает данные в моём случае недорогой преобразователь USB — UART основан на микросхеме PL2303HX. Пробовал питать ATtiny13 от бортовых 3.3 В что на преобразователе, по мультиметру к стати 3.4 В, работает, я поначалу думал что изменение питания на такое высокое значение как-то скажется на отправке данных, я где-то читал страшилку мол, нагрей на пару градусов, охлади и всё, прощай адекватные данные… Ничего подобного, охлаждал льдом, слегка грел зажигалкой(без фанатизма) — всё работает нормально, потерь не наблюдал.

Пару слов про код — код написан в среде BASCOM-AVR на Basic’е, вот предлагаю Вашему вниманию мой код на написание я потратил около чем 4-5 часов, так как я раньше не встречался с Basic’ом, но это время было потрачено не только на написание кода но и на то, чтобы разобраться с особенностями BASCOM-AVR, отладка и всякое такое.

Код

Samples Alias 64                                            ' Аналог директивы #define на Си
                                                                        ' Количество выборок АЦП 
$regfile = "attiny13.dat"                                   ' Конфигурации по умолчанию
$crystal = 1200000
$hwstack = 16
$swstack = 16
$framesize = 16
'$noramclear

Open "comb.0:9600,8,n,1" For Output As #1                   ' Настройка программного UART, скорость 9600 бод
                                                              ' Ножка PB0 будет как TXD, подключаем к RXD преобразователя

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'Конфигурирование  АЦП, измерение относительно Vcc
Start Adc                                                   ' Запускаем преобразование

' Здесь Adc - режим считывания значения: Single - единичное считывание,
' также может быть Free (режим постоянной работы преобразователя)
' Prescaler = 128 - выбираем частоту дискретизации путем деления
' частоты кварца на определенное число (также может быть 2,4,8,16,32,64 или Auto).
' Если выбрать Auto, то компилятор сам выберет подходящую частоту работы АЦП
' Reference – выбор источника опорного напряжения. Aref – внешний источник,
' Avcc – напряжение питания схемы, Internal – внутренний ИОН на 1,1 в.

Declare Function Adc_get(byval Adc_port As Byte) As Word    ' Объявим переменную которая принимает номер нужного порта АЦП
                                                              ' И возвращает усреднённое от "Samples" количество выборок АЦП

Do                                                          ' Тут начинается вечный цикл

   Print #1 , Adc_get(1) ; "," ; Adc_get(2) ; "," ; Adc_get(3)       ' Выводим данные в формате *,*,*

Loop                                                        ' Тут кончается

Function Adc_get(byval Adc_port As Byte ) As Word           ' Переменная типа Word может принимать знач. до 65535

   Dim Temp_result As Word                                  ' Создадим переменную для буфера
   Dim Adc_cycles As Byte                                   ' И счётчик выборок АЦП

   Temp_result = 0

   For Adc_cycles = 1 To Samples

      Temp_result = Temp_result + Getadc(adc_port)

   Next

   Temp_result = Temp_result / Samples

   Adc_get = Temp_result                                    ' Эта функция возвращает Temp_result

End Function

Что делает данные код — по началу создаётся программный UART, тут это делается очень просто, задаём нужные параметры, порт, скорость и прочее, потом осуществляется конфигурация АЦП, объявление функции, ну это понятно, потом формируется строчка и результатами усреднённого числа от Samples выборок АЦП. Почему я выбрал именно 64 а не к примеру 42 или 108? Ну потому что 1023 * 64 это равно 65 472, а для типа Word, который я использовал для буфера максимальное значение которое переменная может принять — 65 535, это число является наибольшим числом, представимом в виде двухбайтного слова без знака, если добавить ещё одну выборку переменная попросту обнулится если АЦП возвратит 1023. С типом Long почему-то возникали проблемы, да лично мне и 64 выборки хватает, ниже я покажу как это работает на графике. Ну и потом в UART выводятся результаты.

Как Вы можете видеть шум конечно присутствует, даже не смотря на то что выводится усреднённое значение из 64 выборок, судя по даташиту шум в ± 2 LSB — норма, у меня же шум 1 LSB.

Скрин софта

Как Вы можете видеть, ATtiny13 отправляет значения 15-16 раз за секунду, что я считаю не плохо учитывая что это программный UART да и тиня делает по 64 измерения на порт, а их причём три.

МК потребляет следующий ток:

Питание 5 В — 2.71 мА

Питание 3.3 В 1.75 мА

Пару слов о программированию — как я сказал на видео, частота МК 1.2 МГц, все фьюзы по умолчанию, как в моём предыдущем топике Музыкальный дверной звонок в стиле Star Wars.

Вот фьюзы из калькулятора фьюзов:

Фьюзы

Ну и под конец пару фоток из разных ракурсов:

Небольшая фотосессия

Ссылки:

Альтернатива Wiring для Arduino — BASCOM-AVR
Софт которым делал графики — Serial oscilloscope
Архив с исходником, хекс-файлом и схемой в Proteus 7 Professional
Все мои публикации.

habr.com

ATtiny13A-SU — Меандр — занимательная электроника

Схема фонаря показана на рисунке. На полевом транзисторе VT1, дрос­селе L1, диоде VD1 и конденсаторе С4 собран повышающий преобразователь, управляющие импульсы для которого вырабатывает микроконтроллер DD1. С подвижного контакта подстроенного резистора R1 снимают и подают на вход АЦП микроконтроллера часть напряже­нии питания для его контроля. Кнопкой SB1 включают фонарь и регулируют яркость его свечения. Пять …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/35687

Для реализации проекта понадобится 4 светодиодных матрицы 8х8, 4 сдвигающих регистра 74HC595 и управляющий микроконтроллер TINY13A. Задача заключается в том, чтобы зажечь все 256 светодиодов от нашего 8-выводного микроконтроллера TINY13A. Для этого дела выводов на данном микроконтроллере явно маловато, по этому будем расширять порты регистрами сдвига. Что бы всё работало я написал небольшую «детскую» программку, …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/35659

Автоматические включатели освещения на базе датчиков при­сутствия человека весьма полезны в плане экономии электро­энергии. В статье представлены результаты работы автора над собственными конструкциями таких приборов. Основная идея разработки заключа­лась в применении в автоматиче­ских включателях освещения единого модуля микроконтроллера с возмож­ностью подключения к нему различных датчиков присутствия. Замена датчика и программного обеспечения даёт воз­можность работать в …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/27847

Листая журналы «Радио» прошлых лет, всегда можно почерпнуть идею для новой конструкции. В данном случае источником идеи послужила статья [1] под рубрикой «За рубежом Описываемый прибор выполняет аналогичную функцию и предназначен для быстрой проверки наиболее распространённых гальванических элементов питания бытовой аппаратуры. Испытатель измеряет остаточную ёмкость гальванического элемента питания на момент измерения в про­центах от номинальной. …

Читать далее

Постоянная ссылка на это сообщение: http://meandr.org/archives/26355

meandr.org

Микроконтроллер ATtiny13A-PU с встроенными программами


Микроконтроллер ATtiny13A-PU с прошивкой. Цветомузыка + популярные мелодии. DIY.

Описание

Прошивка микроконтроллера содержит одну мелодию. Выберите мелодию из списка прошивок и добавьте в корзину.

Микроконтроллер воспроизводит мелодию в цветомузыкальном сопровождении. Мелодия воспроизводится каждый раз после включения питания или срабатывания кнопки /RESET.

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

Несколько вариантов применения микроконтроллера с прошивкой «Jingle Bells и ЦМУ 4 канала»:

  • Музыкальная шкатулка. Включение в момент открывания крышки. С закрытой крышкой RESET замкнут.
  • Светомузыкальный автомобиль (такси). RESET замыкается при открывании задней двери автомобиля и отпускается когда дверь захлопнули. Иллюминацию можно сделать светодиодными лентами. Если в схему добавить выходные ключи КТ972Б как в схеме Схема новогодней гирлянды, то можно будет подключить ленты по 750 светодиодов на каждый канал.
  • Схему можно использовать как дверной звонок.
  • Музыкальный туалет. Срабатыванием можно управлять с помощью герконового реле, установленного на двери или с помощью датчика движения.

«Хава нагила» — еврейская песня, написанная в 1918 году собирателем фольклора Авраамом Цви Идельсоном на старинную хасидскую мелодию. Автор музыки неизвестен, однако считается, что она была написана неизвестным клезмером из Восточной Европы не ранее середины XIX века. Название буквально означает «Давайте радоваться».


Ваш браузер не поддерживает VIDEO!
Скачайте маленький видеоролик в формате mp4

Jingle Bells — популярная во всём мире рождественская песня, также известная, как «One Horse Open Sleigh». Она была написана Джеймсом Лордом Пьерпонтом (1822—1893) и была зарегистрирована под названием «One Horse Open Sleigh» 16 сентября 1858 года.


Ваш браузер не поддерживает VIDEO!
Скачайте маленький видеоролик в формате mp4

Иоганн Себастьян Бах Сюита №2 Шутка.


Ваш браузер не поддерживает VIDEO!
Скачайте маленький видеоролик в формате mp4

Полоне́з Оги́нского «Прощание с Родиной» (польск. Pożegnanie Ojczyzny) — полонез ля минор, написанный польским композитором Михаилом Огинским в 1794 году.


Ваш браузер не поддерживает VIDEO!
Скачайте маленький видеоролик в формате mp4

Вольганг Амадей Моцарт Рондо в турецком стиле (Rondo alla turca). Это произведение Моцарта часто называют Турецкий марш.


Ваш браузер не поддерживает VIDEO!
Скачайте маленький видеоролик в формате mp4

Популярная мелодия из 40-й симфонии Вольганга Амадейя Моцарта.


Ваш браузер не поддерживает VIDEO!
Скачайте маленький видеоролик в формате mp4

Фрагмент мелодии Токката Баха Иоганна Себастьяна


Ваш браузер не поддерживает VIDEO!
Скачайте маленький видеоролик в формате mp4

В лесу родилась Ёлочка.


Ваш браузер не поддерживает VIDEO!
Скачайте маленький видеоролик в формате mp4

sportltd.ru