Рубрики
Метки
avrdude AVR Studio Bootloader C Dallas DC-DC Eagle EEPROM Ehternet FLASH FUSE GPIO GUI HD44780 HopeRF i-button I/O i2c IAR IDE IGBT IIC ISIS Proteus ISP JTAG Keil LabView LAN LCD Linux MC34063 MC34068 Microchip MOSFET MSC-51 MSP430 NE555 Palm Pascal PC PIC PinBoard PinBoard II PLC PLL PR PWM RC RIGOL RIGOL 1042CD RS232 RTC RTOS smd STM32 SWD TopoR TouchSreen TSOP TWI UART USART USB USI WG12864 ZIF ZigBee АРУ АЦП Авто Аккумуляторы Акселерометр Алгоритм Аналог БП БПФ Быстрый старт ВЧ Видео Выбор Газовый паяльник Генератор Гоню Дарлингтон Датчик Двигатели Демонтаж Демоплата Диод Друзья Жало Задачка Измерения Импульсные Индуктивность Инструмент Интерфейс Ионистор Клавиатура Коммерческая разработка Компаратор Компас Конденсатор Конкурс Конфигурация Корпус ЛУТ Логический анализатор Лужение МК Магнетизм Макровидео Макро язык Манипулятор Мелочи Механика Микроволна Микроконтроллер Моддинг Модуль Монтаж Мультиметр Наводка Начинающим ОУ Обработка сигналов Операционная система Описание Оплетка Опорное напряжение Оптимизация Опторазвязка О сайте Основы Осциллограф От Автора Отверстия Отладка Пайка Память Партнерство Паяльная станция Паяльник Печатная плата Питание Порт Прерывания Прибор Прикол Проверено на себе Программатор Программирование Протокол Рабочее место Радиолюбительские Технологии Радиопередача Рацуха Реактив Регистр Резистор Робот Светодиоды Силовая электроника Симистор Сонар Сообщество Софт Схемотехника ТРИЗ Таблица переходов Таймеры Терминал Типы выходов Тиристор Транзистор Трансивер Трассировка Трюки Ультразвук Умный дом Фен Физика Фильтры Флаги Флюс Фотодиод Фототранзистор Халява ЦАП Цифра Часы ШИМ Шаговый двигатель Шасси Шунт Эксперимент Электропривод Энкодер Язык Си самопал
Архив метки: Алгоритм
Управление множеством сервомашинок
При построении разных роботов порой приходится использовать несколько сервоприводов. А если это какой-нибудь шестиногий паук, то приводов там этих просто тьма. Как ими управлять? На форуме кое кто даже сокрушался, что ему бы для этих целей плисину применить. Хотя на … Читать далее
Организация древовидного меню
Почти для всех проектов на микроконтроллере с экранчиком требуется система меню. Для каких-то проектов одноуровневое, для других — многоуровневое древовидное. Памяти, как обычно, мало, поэтому хочется запихнуть все во флэш. Попутно, из проекта в проект, развивалась своя псевдоОС — таймеры, … Читать далее
Обработка множества инкрементальных энкодеров одновременно
Про инкрементальный энкодер и про обработку его сигналов с помощью МК уже была статья. Вроде-бы ничего сложного — два бита текущего состояния, два бита предыдущего — автомат с 16 состояниями. Рассмотрим эту задачу ещё раз с позиции максимально эффективной (по … Читать далее
AVR. Учебный Курс. Инкрементальный энкодер.
Энкодер это всего лишь цифровой датчик угла поворота, не более того. Энкодеры бывают абсолютные — сразу выдающие двоичный код угла и инкрементальные, дающие лишь указание на направление и частоту вращения, а контроллер, посчитав импульсы и зная число импульсов на оборот, … Читать далее
AVR. Учебный Курс. Кусочно-линейная аппроксимация
Часто бывает так, что приходится обрабатывать жутко нелинейные величины, задаваемые каким-нибудь извращенным законом. Простейший пример — датчики расстояния SHARP GP2D12. Только поглядите на его характеристику: Сам черт ногу сломит, а ведь нам бы неплохо иметь выход в человеческих величинах, ну … Читать далее
Рубрика: AVR. Учебный курс
Метки: Assembler, Алгоритм, Датчик, Программирование, Язык Си
Комментарии (48)
Виртуальная машина и байт код
Часто требуется делать большие последовательности сложных операций — например полетное задание для робота. Да, можно запихать все это дело в основную программу, но вдруг что то пойдет не так как надо и алгоритм надо будет переделать — придется переделывать всю … Читать далее
AVR. Учебный курс. Конечный автомат
Каждый кто пытался разбираться с конечными автоматами наверняка натыкался на всякие замудреные графы, какие то графики. Многие посчитав это слишком сложным плюнули и забили. А Зря! С простейшим конечным автоматом каждый из нас сталкивался с самого детства — это механическая … Читать далее
AVR. Учебный курс. Архитектура Программ. Часть 3
Приоритетный диспетчер. Одной из проблем простого диспетчера является то, что все задачи имеют равный приоритет. С одной стороны, это просто и удобно. С другой — какое-либо важное событие можно прошляпить, пока там конвейер перещёлкает все задачи… Проблему решает введение приоритетов. … Читать далее
AVR. Учебный Курс. Архитектура Программ Часть 2
Диспетчер Данная организация программы требует чуть большего количества кода чем флаговый автомат (Хотя это еще как посмотреть. С увеличением числа задач служебный код динамического диспетчра не увеличивается, а вот флаговый автомат разрастается за счет большего числа флагов и проверок этих … Читать далее
AVR. Учебный Курс. Архитектура Программ
Все учебные курсы по микроконтроллерам которые я встречал (в том числе, к сожалению, и мой ассемблерный, но я надеюсь это постепенно поправить) страдают одной и той же проблемой. В курсе бросаются строить дом не заложив фундамент. Только показав на примере … Читать далее
М. Дамке «Операционные системы микроЭВМ»
Автор: М. Дамке Название: Операционные системы микроЭВМ Издательство: Финансы и статистика Старожил сайта и один из самых активных и толковых комментаторов, камрад SWG сделал замечательную вещь— отсканировал и пожал в DejaVu книгу по написанию операционных систем под микро-ЭВМ. Я пока … Читать далее
Ревич «Практическое программирование Микроконтроллеров AVR на языке ассемблера»
Автор: Юрий Ревич Название: Практическое программирование Микроконтроллеров AVR на языке ассемблера Издательство: Bhv Отличная книга. Из серии настольных. Автор очень доступно, подробно, без занудства и заумностей рассказывает как использовать все то богатство, что разработчики из Atmel напихали в свой контроллер, … Читать далее
AVR. Учебный курс. Подключение к AVR LCD дисплея HD44780
Сегодня разменял четверть века! Так случилось, что прикупил я тут себе поприколу LCD дисплейчик две строки по восемь символов. Валялся он в ящике валялся, да чегото поперло меня и решил я его заюзать, попутно вкурив в его работу. О том … Читать далее
AVR. Учебный курс. Процедура сканирования клавиатуры
Итак, клавиатуру я сделал и написал процедуру сканирующую клавиатурную матрицу 4х4 кнопки. Пора бы рассказать как организовать опрос такой клавы. Напомню, что клава представляет из себя строки, висящие на портах и столбцы, которые сканируются другим портом. Код написан для контроллера … Читать далее
Рубрика: AVR. Учебный курс
Метки: Assembler, AVR, Алгоритм, Клавиатура, Программирование
Комментарии (48)
Работа с АЦП. Программные средства повышения точности
Вообще, сграбив сигнал в цифровую форму мы мы можем извращаться с ним как угодно. Методик цифровых фильтраций существует масса и все они основаны на сборе избыточной информации с последующим выделением сигнала. Я приведу для примера лишь один простейший способ — … Читать далее
Матричная клавиатура
Допустим нам надо подавать команды нашему девайсу. Проще всего это делать посредством обычных кнопок, повешенных на порт. Но одно дело когда кнопок две три, и другое когда их штук двадцать. Не убивать же ради этого двадцать выводов контроллера. Решение проблемы … Читать далее
Рубрика: Начинающим
Метки: Алгоритм, Клавиатура, Начинающим, Программирование, Схемотехника
Комментарии (68)
AVR. Учебный курс. Работа с портами ввода-вывода. Практика
Вот ты читаешь сейчас это и думаешь — память, регистры, стек и прочее это хорошо. Но ведь это не пощупать, не увидеть. Разве что в симуляторе, но я и на дельфи с тем же условием могу накодить. Где мясо!!! В … Читать далее
AVR. Учебный Курс. Управляемый вектор прерывания
Бывает такая ситуация, когда надо на один периферийный девайс повесить много разных задач, а он всего один и что то надо с этим делать. Простой пример — таймер и его прерывание по переполнению. Мы можем задавать выдержку и по прерыванию … Читать далее
AVR. Учебный курс. Операционная система. Таймерная служба
Третья часть марлезонского балета описалова самопальной операционной системы для AVR. Итак, у нас есть очередь задач и общая логика работы системы. Но одной очереди задач с диспетчером мало. Нужно распределять задачи по времени, задавать интервалы, запускать отложенные задачи. Всем этим … Читать далее
Рубрика: AVR. Учебный курс
Метки: Assembler, AVR, RTOS, Алгоритм, Операционная система
Комментарии (13)



