Архив рубрики: AVR

Рубрика посвященная микроконтроллерам AVR и всему что с ними связано.

Библиотека для работы с I2C на микроконтроллере Atmega 8

Автор: | 02.12.2018

Может кому сгодится. i2c.h #ifndef I2C_H_ #define I2C_H_ #include «main.h» void I2C_Ini(void); void I2C_StartCondition(void); void I2C_StopCondition(void); void I2C_SendByte(unsigned char byte); void PCF8574AT_SendByte(unsigned char data,unsigned char adres); #endif /* I2C_H_ */   i2c.c #include «i2c.h» void I2C_Ini(void) { TWBR = 0X20; } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR&(1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO);… Читать далее »

Раздел: AVR Метки:

Подавление дребезга кнопки

Автор: | 08.03.2018

Наверняка все кто подключал к микроконтроллеру кнопку, сталкивались с такой проблемой. Например решил ты сделать счетчик нажатий той самой кнопки, с выводом результата например на какой нибудь дисплей. Написал код нажал на кнопку и удивился, нажал то я один раз а прибавилось больше и это значение не постоянно. Вообщем и я когда то столкнулся с… Читать далее »

Winavr работа с двумя датчиками DS18b20

Автор: | 04.11.2016

Пример работы с двумя датчиками DS18B20   Есть два алгоритма работы с несколькими датчиками; 1. использование алгоритма SEARCH_ROM, 2. предварительное считывание ROM кодов датчиков, и обращение к каждому по отдельности. Использование первого алгоритма приемлемо когда, требования к стабильности работы устройства минимальны, потому как данный алгоритм довольно сложный. Я ниже буду описывать свой пример реализации второго варианта.… Читать далее »

Eclipse не корректно работает функция sprintf с форматом float

Автор: | 26.10.2016

Понадобилось мне как то вывести переменную типа float на LCD дисплей. Написал код: #define F_CPU 1000000UL // 1 MHz #include <avr\io.h> #include <util\delay.h> #include «LCD.h» #include <stdio.h> unsigned int a = 123; char buffer[200]; float my_custom_float = 25.64; int main (void){ LCDinit(); sprintf(buffer,»V = %.2f uS»,my_custom_float); LCDstring(buffer,0,0); }   На дисплее ожидалось увидеть следующее: (V =… Читать далее »

Отладочная плата для AVR микроконтроллеров.

Автор: | 03.04.2015

Главным инструментом разработчика устройств на микроконтроллерах, является отладочная плата. Что она из себя представляет: печатная плата с набором необходимых деталей. Схема расположения элементов:   Принципиальная схема: Отладочную плату разрабатывал исключительно для себя. Особо расписывать о ней ни буду, потому как есть видео где я подробно рассказываю о ней. Плату проектировал в Dip Trace. Вот файл:… Читать далее »