Найти в Дзене
Программирование микроконтроллеров. Часть 13
ATtiny10. Самый маленький микроконтроллер AVR Сегодня я расскажу об одном из самых маленьких микроконтроллеров семейства AVR – это микроконтроллер ATtiny10. По сути, обычный AVR, только с небольшим количеством выводов, памяти и периферии. Размеры такой малютки всего 2.90 x 1.60 mm в корпусе (SOT23). Однако, на нем вполне можно собрать какой-нибудь вольтметр или термометр, если приложить смекалку. Технические характеристики ATtiny10 Имеет 1024 байта flash памяти и 32 байта ОЗУ. EEPROM памяти нет...
1243 читали · 7 лет назад
Программирование микроконтроллеров. Часть 12-2
Делаем простейшие часы В прошлом уроке я рассказал про микросхему реального времени DS1307. Сегодня я покажу как её можно подключить к микроконтроллеру и собрать простейшие часы. На этот раз я решил использовать микроконтроллер ATMEGA8. Для этого в программе Proteus я нарисовал следующую схему: Как видите, LCD индикатор подключен в 4-битном режиме. В одном из прошлых уроков я уже показывал, как подключить LCD индикатор к микроконтроллеру. Поэтому часть кода, который отвечает за инициализацию индикатора я взял из прошлого урока...
274 читали · 7 лет назад
Программирование микроконтроллеров. Часть 12-1
Часы реального времени DS1307 Продолжу занятия по программированию МК AVR. Сегодня я расскажу про микросхему DS1307. Эта микросхема представляет собой часы реального времени (real time clock или RTC) с последовательным интерфейсом.   Это малопотребляющие полные двоично-десятичные часы-календарь, включающие 56 байтов энергонезависимой статической ОЗУ. Адреса и данные передаются последовательно по двухпроводной двунаправленной шине. Часы- календарь отсчитывают секунды, минуты, часы, день, дату, месяц и год...
1113 читали · 7 лет назад
Программирование микроконтроллеров. Часть 11-2
Последовательный интерфейс SPI подключение семисегментного LED индикатора В прошлой части я рассказал про интерфейс SPI, сегодня я покажу как можно подключить семисегментный LED индикатор к микроконтроллеру по трем проводам. Для этого нам понадобиться сдвиговой регистр 74HC595. Сдвиговый регистр - это набор последовательно соединённых триггеров (обычно их 8 штук). В отличии от стандартных регистров, сдвиговые поддерживают функцию сдвига вправо и влево. (т. е. переписывание данных с каждого предыдущего триггера на следующий по счёту)...
269 читали · 7 лет назад
Программирование микроконтроллеров. Часть 11-1
Последовательный интерфейс SPI SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом. Интерфейс SPI предназначен для коммуникации с периферийными устройствами, такими как сдвиговые регистры, внешняя память, часы реального времени и пр...
196 читали · 7 лет назад
Программирование микроконтроллеров. Часть 10
Сторожевой таймер Бывают ситуации, когда по тем или иным причинам, программа в микроконтроллере может зависнуть и устройство перестанет нормально функционировать. В этой ситуации поможет только сброс устройства вручную. Но это не всегда бывает возможно. Поэтому и был придуман сторожевой таймер, который может произвести сброс микроконтроллера. Сторожевой таймер (контрольный таймер, англ. Watchdog timer — букв. «сторожевой пёс») — аппаратно реализованная схема контроля над зависанием системы. Представляет собой таймер, который периодически сбрасывается контролируемой системой...
924 читали · 7 лет назад
Программирование микроконтроллеров. Часть 9
Тактирование микроконтроллера ATmega328P И снова здравствуйте! Сегодня я расскажу вам о тактировании микроконтроллера. Тактовая частота микроконтроллера - это количество тактов, в секунду которые выполняет микроконтроллер. Получается, чем больше тактовая частота микроконтроллера, тем большее количество операций он может выполнить за 1 секунду. К примеру тактовая частота в 8 МГц означает что МК за 1 секунду выполнить 8000000 различных операций таких как сложение, вычитание, запись данных в регистры и чтение данных т...
1531 читали · 7 лет назад
Программирование микроконтроллеров. Часть 8-2
Режимы работы таймеров-счетчиков Продолжение описания работы таймеров-счетчиков Т1 и Т2. Таймер-счетчик T1 (16 бит) Характеристики таймера/счетчика T1 (16 бит): Регистры таймера/счетчика T1: Источником тактового сигнала для таймера/счетчика T1 может быть, как тактовый сигнал используемый для всего микроконтроллера с использованием предделителя, так и сигнал, поступающий на вход T1 (11 ножка). Если не выбрано ни одного источника тактового сигнала, то таймер-счетчик останавливается. Регистр TCCR1A: ...
668 читали · 7 лет назад
Программирование микроконтроллеров. Часть 8-1
Режимы работы таймеров-счетчиков Сначала решил, что эта часть будет под номером 7-2, но, когда начал писать статью, понял, что статья получиться большой и поэтому я ее решил разбить на две статьи. Соответственно у них будут номера 8-1 и 8-2. В микроконтроллере ATmega328 есть три таймера. 2 из них по 8 бит (T0, T2) и один 16 бит (T1). Для них всех есть одинаковые режимы работы: Это все основные режимы работы таймеров/счетчиков. К примеру, у таймера/счетчика T0 присутствуют только они. Дополнительные...
1800 читали · 7 лет назад
Программирование микроконтроллеров. Часть 7
ШИМ. Мигаем светодиодом плавно Сегодня я покажу как при помощи ШИМ можно управлять яркостью светодиода. Широтно-импульсная модуляция (ШИМ, англ. pulse-width modulation (PWM)) — процесс управления мощностью, подводимой к нагрузке, путём изменения скважности импульсов, при постоянной частоте. В микроконтроллере ATmega328P реализовано шесть каналов ШИМ. На картинке обозначены как PWM. Для этого урока я буду использовать два канала ШИМ которые подключены к 12 и 11 выводу микроконтроллера в PDIP-28P3 корпусе...
563 читали · 7 лет назад
Программирование микроконтроллеров. Часть 6-2
Сегодня я расскажу вам про таймер-счетчик, который является одним из самых ходовых ресурсов AVR микроконтроллера. Основное его назначение – отчитывать заданные интервалы. С его помощью будем переключать разряды индикатора. Что позволить организовать динамическую индикацию. Динамическая индикация – это метод отображения целостной картины через быстрое последовательное отображение отдельных элементов этой картины. Причем, «целостность» восприятия получается благодаря инерционности человеческого зрения...
486 читали · 7 лет назад
Программирование микроконтроллеров. Часть 6-1
Сегодня продолжим изучение на примере подключения семисегментного четырехразрядного LED индикатора к микроконтроллеру. Семисегментный индикатор — устройство отображения цифровой информации. Это — наиболее простая реализация индикатора, который может отображать арабские цифры. Для отображения букв используются более сложные многосегментные и матричные индикаторы. Обозначение разрядов индикатора: Для этого я нарисовал в Proteus такую схему: Индикатор я выбрал с общим катодом. По всем правилам...
340 читали · 7 лет назад