Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
evgenij-byvshev
7 лет назад

Программирование микроконтроллеров. Часть 13

ATtiny10. Самый маленький микроконтроллер AVR

Сегодня я расскажу об одном из самых маленьких микроконтроллеров семейства AVR – это микроконтроллер ATtiny10. По сути, обычный AVR, только с небольшим количеством выводов, памяти и периферии.

Размеры такой малютки всего 2.90 x 1.60 mm в корпусе (SOT23). Однако, на нем вполне можно собрать какой-нибудь вольтметр или термометр, если приложить смекалку.

Технические характеристики ATtiny10

Имеет 1024 байта flash памяти и 32 байта ОЗУ. EEPROM памяти нет.

Периферия включает в себя один 16-и разрядный таймер, четыре канала 8-и разрядного АЦП, один аналоговый компаратор и сторожевой таймер.

В корпусе SOT-23 имеет 6 выводов: 2 для питания, 1 для вывода сброса и 3 для пользовательских нужд. Установкой FUSE бита RSTDISBL можно задействовать и вывод сброса, но тогда для перехода в режим программирования нужно будет подавать на этот вывод +12 вольт.

Тактовая частота до 12 МГц. Может тактироваться от внутреннего генератора на 8 МГц, от внешнего тактового сигнала с вывода PB1 (CLKI) и от внутреннего генератора на 128 кГц.

Источник тактового сигнала устанавливается программно с помощью регистра CLKMSR. Также есть регистр, определяющий коэффициент деления тактового сигнала, - CLKPSR. Это намного удобнее FUSE битов, которые устанавливаются только программатором.

По умолчанию микроконтроллер тактируется от внутреннего генератора на 8 МГц с коэффициентом деления 8.

Напряжение питания от 1.8 до 5 вольт.

Программирование ATtiny10

Программирование flash памяти осуществляется по интерфейсу TPI (Tiny Programming Interface). Для этого используется три вывода микроконтроллера:

RESET - для перехода в режим программирования,
TPICLK (PB1) - для тактового сигнала,
TPIDATA(PB0) - для ввода/вывода данных.

Микроконтроллер поддерживается программатором AVRISP MKII и средой разработки Atmel Studio 7.

Этот микроконтроллер можно программировать на Си, но из-за маленького размера ОЗУ особо не разгуляешься. Для проверки МК можно написать следующую программу:

#define F_CPU 1000000UL

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRB = 0xff;
    PORTB = 0xff;

    while(1)
    {
        _delay_ms(500);
        PORTB = 0xff;
        _delay_ms(500);
        PORTB = 0x00;
    }
}

Если к выходу PB2 подключить светодиод через токоограничивающий резистор, то он будет мигать с частотой 1 Гц.


Если есть вопросы и предложения по этому уроку, пишите комментарии буду рад ответить на ваши вопросы.


Часть 1 Часть 2-1 Часть 2-2 Часть 3-1 Часть 3-2 Часть 4-1 Часть 4-2 Часть 5 Часть 6-1 Часть 6-2 Часть 7 Часть 8-1 Часть 8-2 Часть 9 Часть 10 Часть 11-1 Часть 11-2 Часть 12-1 Часть 13

79
206.304 GOLOS
На Golos с February 2017
Комментарии (1)
Сортировать по:
Сначала старые