Архив метки: Пример C

Измерение периода сигнала

Здравствуйте! По работе столкнулся с задачей измерения периода сигнала при помощи микроконтроллера AtMega64. Входной сигнал имеет следующую форму: Необходимо измерить период сигнала, и вывести его на дисплей. Для решения поставленной задачи был использован режим захвата таймера 1 микроконтроллера AtMega64. Режим захвата позволяет генерировать прерывание TIMERx_CAPT_vect при изменении логического уровня соответствующего вывода микроконтроллера. При первом прерывании… Читать далее »

Семисегментный индикатор.Заметка.AVR для начинающих.

Здравствуйте! Мы уже подключали ЖК-дисплей к микроконтроллеру (здесь), однако установка LCD не всегда целесообразна, так как он дорог, и к тому же его показания не всегда бывают удобочитаемы. В таких случаях иногда удобно прибегнуть к установке 7 сегментных, светодиодных индикаторов. Эти индикаторы выпускаются всевозможных размеров и цветов. По сути 7 сегментный индикатор состоит из 7(иногда… Читать далее »

Библиотека для работы с LCD.HD44780.AVR.

  Здравствуйте! Как и обещал, выкладываю библиотеку для работы с LCD на базе контроллера HD44780. Данная библиотека позволяет подключить микроконтроллер к дисплею используя 6 проводов (4 для передачи данных, линии RS и E). Соответственно данные будут передаваться по 4 бита, что позволит сэкономить выводы микроконтроллера. Так же в библиотеке реализована передача команд дисплею. Для переназначения… Читать далее »

Аналоговый компаратор. Урок 16. AVR для начинающих.

Очень часто возникает необходимость сравнения аналоговых сигналов. Например, контроль уровня заряда внешнего аккумулятора (батареи). То есть, необходимо сравнить текущее напряжение аккумулятора с неким эталоном, например напряжением при котором аккумулятор будет считаться разряженным. Для решения таких задач можно использовать АЦП контроллера. Однако, данное решение не всегда применимо, так как в некоторых моделях контроллеров AVR Аналого-Цифровой Преобразователь… Читать далее »

AVR для начинающих. Урок 14. EEPROM.

Доброго времени суток! Сегодня мы поговорим о такой важной составляющей микроконтроллера как EEPROM. Очень часто возникает необходимость сохранения данных при отключении питания микроконтроллера. Например, констант, настроек, и так далее. Именно для таких ситуаций микроконтроллеры AVR имеют в своем составе постоянную энергонезависимую память EEPROM, в которой запросто можно разместить необходимые данные. То есть, при отключении питания… Читать далее »

AVR для начинающих. Урок 10.UART.Продолжение

Здравствуйте! В прошлом уроке мы начали говорить об интерфейсе UART. Ознакомиться с ним Вы можете здесь. Сейчас, изучив все регистры, мы готовы приступить к написанию прошивки, осуществляющей передачу данных. Вот её код:

Рассмотрим его подробнее. В функции UART_Init мы инициализируем соответствующие регистры. Установив биты TXCIE и TXEN регистра UCSRB, мы включаем передатчик микроконтроллера и… Читать далее »

Термометр.AVR+DS18B20.

Термометр на AtMega8 и DS18B20. Необходимые компоненты: AtMega8-16PU. Датчик температуры DS18B20. WH1602 или аналоги. Резистор 4.7кОм. Источник питания 5в. Часто возникает необходимость обработки параметров внешней среды. Например, давления, температуры, влажности и так далее. Работу со всеми этими параметрами можно легко и элегантно возложить на плечи микроконтроллера. Сегодня мы соберем простейший термометр, показания которого будут выводиться на… Читать далее »