Архив метки: Трюки

Мультиплексирование

Думаю, каждый сталкивался с нехваткой выводов у выбранного контроллера. Принципиальных путей решения данной проблемы ровно два: менять контроллер на более многоногий или менять схему, чтобы упихнуться в существующие ноги. Например, классика жанра — кнопки. Когда их две-три, то проще всего … Читать далее

Рубрика: Начинающим | Метки: , , , | Комментарии (54)

Управление множеством сервомашинок

При построении разных роботов порой приходится использовать несколько сервоприводов. А если это какой-нибудь шестиногий паук, то приводов там этих просто тьма. Как ими управлять? На форуме кое кто даже сокрушался, что ему бы для этих целей плисину применить. Хотя на … Читать далее

Рубрика: AVR. Учебный курс, Робототехника | Метки: , , , | Комментарии (99)

Обработка множества инкрементальных энкодеров одновременно

Про инкрементальный энкодер и про обработку его сигналов с помощью МК уже была статья. Вроде-бы ничего сложного — два бита текущего состояния, два бита предыдущего — автомат с 16 состояниями. Рассмотрим эту задачу ещё раз с позиции максимально эффективной (по … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (17)

Пример виртуальной машины

Как то раз я описывал концепцию создания языка программирования для устройства. Который бы позволил запихать сложнейший алгоритм или последовательность действий в виде компактного скрипта. Простой пример для чего это нужно — фрезерный станок с ЧПУ. И надо на нем выточить … Читать далее

Рубрика: AVR. Учебный курс, Робототехника | Метки: , , | Комментарии (47)

AVR. Учебный курс. Конечный автомат

Каждый кто пытался разбираться с конечными автоматами наверняка натыкался на всякие замудреные графы, какие то графики. Многие посчитав это слишком сложным плюнули и забили. А Зря! С простейшим конечным автоматом каждый из нас сталкивался с самого детства — это механическая … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (64)

М. Дамке «Операционные системы микроЭВМ»

Автор: М. Дамке Название: Операционные системы микроЭВМ Издательство: Финансы и статистика Старожил сайта и один из самых активных и толковых комментаторов, камрад SWG сделал замечательную вещь— отсканировал и пожал в DejaVu книгу по написанию операционных систем под микро-ЭВМ. Я пока … Читать далее

Рубрика: Книги | Метки: , , | Комментарии (23)

Это сладкое слово ХАЛЯВА!

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

Рубрика: Радиолюбительские Технологии | Метки: , | Комментарии (133)

AVR. Учебный курс. Делаем АЦП из Аналогового компаратора

Так сложилось, что основной МК с которым я работаю постоянно и на котором делаю подавляющее большинство задач это ATTiny2313 — он популярен, а, главное, это самый дешевый контроллер из всей линейки AVR с числом ног более 8. Я их брал … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (46)

AVR. Учебный Курс. Виртуальные порты

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

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (40)

Переменный резистор

Переменный резистор Ограничение крайних значений Повышение точности Вроде бы простая деталька, чего тут может быть сложного? Ан нет! Есть в использовании этой штуки пара хитростей. Конструктивно переменный резистор устроен также как и нарисован на схеме — полоска из материала с … Читать далее

Рубрика: Начинающим | Метки: , , , | Комментарии (43)

AVR. Учебный Курс. Отладка программ. Часть 3

Метод 3. USART (Работа с последовательными интерфейсами) Пожалуй самым популярным отладочным интерфейсом является все же USART. Во-первых, он поддерживается аппаратно почти всеми микроконтроллерами. Во-вторых, он прост в использовании и требует всего один/два сигнальных провода, а в третьих, для связи с … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (22)

AVR. Учебный Курс. Отладка программ. Часть 1

У каждого случалась такая ситуация — программа вроде бы написана, даже компилится, но не работает. Почему не работает? Дак все же просто — в ней есть лажа! Процесс избавления программ от лажи называется, соответственно, отлаживанием. И часто этот процесс длится … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (32)

Извращенский ШИМ из UART

Пока писал статью про UART пришла в голову одна извращенная идея — на базе UART же можно организовать самый натуральный низкодискретный ШИМ! Достаточно только сделать где-нибудь в памяти переменную, куда мы будем совать число с заданной скважностью нулей и единиц, … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (19)

AVR. Учебный курс. Работа с портами ввода-вывода. Практика

Вот ты читаешь сейчас это и думаешь — память, регистры, стек и прочее это хорошо. Но ведь это не пощупать, не увидеть. Разве что в симуляторе, но я и на дельфи с тем же условием могу накодить. Где мясо!!! В … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (44)

AVR. Учебный Курс. Управляемый вектор прерывания

Бывает такая ситуация, когда надо на один периферийный девайс повесить много разных задач, а он всего один и что то надо с этим делать. Простой пример — таймер и его прерывание по переполнению. Мы можем задавать выдержку и по прерыванию … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (39)

AVR. Учебный Курс. Оценка загрузки контроллера.

Как оценить загруженность микроконтроллера? С памятью все понятно — размеры занимаемого кода и оперативной памяти показывает компилятор, а что делать с процессорным временем? Конечно, в линейной программе можно взять и посчитать время выполнения каждой процедуры и станет ясно успеет микроконтроллер … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (11)

AVR. Учебный курс. Операционная система. Пример.

Отлично, с теорией работы ОС ознакомил. Устанавливать научил, осталось научить использовать весь этот конвеерно таймерный шухер. Чем я сейчас и займусь. Сразу берем быка за рога и формулируем учебно-боевую программу. Тестовое задание: Пусть у нас будет ATMega8, с несколькими кнопками. … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (94)

AVR. Учебный курс. Скелет программы

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

Рубрика: AVR. Учебный курс | Метки: , , , , , | Комментарии (54)

AVR. Учебный Курс. Типовые конструкции

При написании программ постоянно приходится использовать разные стандартные конструкции вроде циклов, операторов выбора, перехода, сравнения. Всякие там if-then-else или case-switch. В высокоуровневых языках это все уже готово, а на ассемблере приходится изобретать каждый раз заново. Впрочем, такие вещи пишутся один … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , , | Комментарии (84)

AVR. Учебный курс. Ветвления на индексных переходах

Таблицы переходов Вот представь, что нам надо сделать мега CASE, когда на вход валится число от 1 до 100 и нам надо сто вариантов действий. Как будешь делать? Если лепить сто штук CPI с последующими переходами, то можно дальше убиться … Читать далее

Рубрика: AVR. Учебный курс | Метки: , , , | Комментарии (84)