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

Печать

Использование библиотеки для работы с семисегментным индикатором. Делаем простые часы.

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 21

Использование этой библиотеки значительно упрощает работу с семисегментным индикатором. Библиотека написана под четырехразрядный семисегментный индикатор с общим анодом или катодом. Она позволяет выводить на дисплей не только цифры, но и буквы, текущее время, бегущую строку, менять яркость свечения индикатора. Далее рассмотрим функции этой библиотеки(скачать файлы display.c и display.h можно внизу статьи).


display_init(void); - инициализация дисплея

set_brightness(uint8_t b); - установка яркости от 0 до 100

shift_in(char c); - сдвиг символа на одну позицию справа-налево

set_char_at(char c, uint8_t offset); - вывод символа в определенное знакоместо

Например: set_char_at('A', 0); // вывод символа А в первое знакоместо
set_char_at(2, 2); // вывод цифры 2 в третье знакоместо

set_segments_at(uint8_t segments, uint8_t offset); - вывод сегмента в определенное знакоместо

Например: set_segments_at(2, 1); // вывод сегмента "b" во второе знакоместо

shift_in_segments(uint8_t segments); - сдвиг сегмента на одну позицию справа-налево

set_number(uint16_t num); - вывод цифр в формате "XXXX"

clear_screen(void); - очистить дисплей

set_time(uint8_t hour, uint8_t min, uint8_t sec); - вывод времени в формате "XX.XX.XX"

Печать

ucGoZilla - USB программатор микроконтроллеров AVR

Опубликовано . Опубликовано в Программирование AVR

Рейтинг:   / 5

Устройство предназначено для программирования микроконтроллеров (МК) AVR фирмы ATMEL. В зависимости от версии программного обеспечения управляющего контроллера, плата может работать по протоколам STK500v2 или JTAGICEmkII. Основные характеристики:

Прошивка STK500v2

- Работа с программными средами AVRStudio, CodeVisionAVR, AVRDUDE по протоколу STK500v2.
- Программирование МК серии AT89 (только для AT89S51, AT89S52) по интерфейсу ISP;
- Программирование всех МК AVR серий AT90, ATtiny, ATmega по интерфейсу ISP;
- Тактовая частота порта ISP от 1.21 кГц до 1.845 МГц;
- Наличие дополнительного генератора с изменяющейся частотой от 15 Гц до 3.68 МГц (поддерживается пакетом AVRStudio);

Прошивка JTAGICEmkII

- Работа с программными средами AVRStudio и AVRDUDE по протоколу JTAGICEmkII.
- Программирование всех МК AVR серий AT90, ATtiny, ATmega, ATXmega по интерфейсам ISP, JTAG, PDI;
- Тактовая частота интерфейсов JTAG и PDI от 26.2 кГц до 3.6 МГц;
- Тактовая частота интерфейса ISP от 51 Гц до 8 МГц;

Печать

Использование библиотеки для работы с LCD HD44780

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 30

В этой статье я расскажу как с помощью достаточно распространенной библиотеки управлять LCD дисплеем на базе контроллера HD44780 и выводить на него информацию. Библиотека состоит из двух файлов lcd_lib.h и lcd_lib.c для использования с дисплеем подключенным по четырехбитной шине данных. В заголовочном файле прописываются настройки подключения дисплея к контроллеру, которые можно изменить по своему усмотрению, а также переменные и функции.

Ниже представлены базовые функции управления и вывода информации на LCD.

lcd_com – посылка команды в LCD

Пример:
lcd_com(0x01); // очистка дисплея
lcd_com(0x38); // интерфейс 8 бит 2 строки

Печать

Биты конфигурации и биты блокировки памяти микроконтроллеров AVR

Опубликовано . Опубликовано в Программирование AVR

Рейтинг:   / 7

Биты блокировки памяти (Lock Bits)

Исторически сложилось так, что даже самые первые модели микроконтроллеров имели программируемые ячейки защиты информации. Микроконтроллеры AVR так же имеют такую защиту. Это специальные ячейки, построенные по принципу Flash-памяти (то есть, энергонезависимой памяти с электрическим стиранием информации). Каждый микроконтроллер имеет как минимум две защитные ячейки LB1 и LB2. Запись и чтение этих ячеек возможна только в режиме программирования. При записи нуля в LB1 блокируется запись данных во Flash и EEPROM память. Одновременно блокируется возможность изменять конфигурационные ячейки. Если записать ноль еще и в LB2, то блокируется и возможность чтения всех данных. После этого прочитать содержимое вашей программы становится невозможным. Для повторного использования микроконтроллера нужно выполнить команду «Стирание микросхемы». При этом вся информация, записанная в микросхему теряется, зато способность чтения и модификации восcтанавливается. В микроконтроллерах семейства Mega имеются дополнительные ячейки защиты BLB02, BLB01, BLB12, BLB11. Они служат для ограничения доступа к различным областям памяти программ. Подробнее об этом смотрите в описании конкретной микросхемы.

Печать

Программатор HVProg с USB интерфейсом

Опубликовано . Опубликовано в Программирование AVR

Рейтинг:   / 2

Этот программатор отличается от обычного HVProg тем, что ему не нужно внешнее питание 15 Вольт и тем что соединение с компьютером осуществляется по шине USB. Так же от USB берется напряжение +5 Вольт для питания цифровой части программатора, а для работы в режиме высоковольтного программирование оно повышается до 12 Вольт при помощи импульсного преобразователя на микросхеме MC34063. Преобразователь интерфейса USB -> UART выполнен на специализированном микрочипе CP2102, который имеет неплохие характеристики и недорогую стоимость. Перед началом работы с программатором необходимо установить драйвер виртуального COM - порта, который находится в архиве к статье или скачать с официального сайта производителя CP2102.

Печать

Работа с внутренней памятью EEPROM

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 11

Все микроконтроллеры семейства Mega имеют в своем составе энергонезависимую память (EEPROM память). Объем этой памяти колеблется от 512 байт в моделях ATmega8x до 4 Кбайт в старших моделях. EEPROM память расположена в своем адресном пространстве и так же, как и ОЗУ, организована линейно. Для работы с EEPROM памятью используются три регистра ввода/вывода: регистр адреса, регистр данных и регистр управления.

Печать

Использование интерфейса USART микроконтроллеров AVR

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 16
Микроконтроллеры AVR имеют в своем составе модуль полнодуплексного универсального асинхронного приемопередатчика UART (в семействе Mega универсальный синхронный/асинхронный приемопередатчик USART). Через него осуществляется прием и передача информации, представленной последовательным кодом, поэтому модуль UART часто называют также последовательным портом. С помощью этого модуля микроконтроллер может обмениваться данными с различными внешними устройствами.
Печать

Зажигаем RGB светодиод. Программный ШИМ

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 14

Для отображения всей палитры видимых оттенков теоретически достаточно иметь три цвета. Это — так называемый RGB-синтез (Red — красный, Green — зеленый, Blue — синий). Но в реальности трех цветов бывает недостаточно. Смешивание цветов может происходить одним из трех способов. Светодиоды могут раздельно располагаться в светильнике, а цвета смешиваются уже непосредственно на освещаемом объекте. Преимущества такого подхода — простота конструкции и высокая светоотдача. Недостаток — наличие нескольких разноцветных теней для объектов, расположенных близко к светильнику. Более сложный вариант — оптическая система, смешивающая лучи от разных светодиодов. Наконец, выпускаются специальные RGB-светодиоды, объединяющие в одном корпусе три кристалла разных цветов. Использование RGB-светодиодов позволяет создать очень тонкий осветительный прибор, дающий равномерный свет без заметных зон затенения.

Печать

АЦП микроконтроллеров AVR. Делаем цифровой вольтметр 0 - 25V

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 35

Продолжим изучать аналого-цифровой преобразователь микроконтроллеров AVR на примере цифрового вольтметра постоянного напряжения, с пределами измерения от 0 до 25V. Измеряемое напряжение будет отображаться на трехразрядном семисегментном индикаторе с общим анодом. В этом примере применим динамическую индикацию о которой подробней рассказано на одном из предыдущих занятий, кусок исходного кода возьмем от туда же. Микроконтроллер Atmega8 тактируется от внутреннего генератора частотой 8MHz.

Далее займемся настройкой АЦП. В этот раз попробуем использовать внутренний источник опорного напряжения 2,56V, т.к. выход Aref микроконтроллера соединен с ИОН, для обеспечения стабильности ИОН подключаем к выводу Aref конденсатор. Резистор R3 - подстроечный, он служит для регулировки номинального уровня напряжения, желательно многооборотный.

Печать

Аналого-цифровой преобразователь микроконтроллеров AVR

Опубликовано . Опубликовано в Программирование на Си

Рейтинг:   / 35

Аналого-цифровые преобразователи (АЦП) являются устройствами, которые принимают входные аналоговые сигналы и генерируют соответствующие им цифровые сигналы, пригодные для обработки микропроцессорами и другими цифровыми устройствами. АЦП входит во многие современные модели МК AVR, он многоканальный. Обычно число каналов равно 8, но в разных моделях оно может варьировать от 4 каналов в младших моделях семейства Tiny, 6 в ATmega8, до 16 каналов в ATmega2560.

Рекомендуем посмотреть

No result...