Рубрики
Метки
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. Учебный курс. Конечный автомат
Каждый кто пытался разбираться с конечными автоматами наверняка натыкался на всякие замудреные графы, какие то графики. Многие посчитав это слишком сложным плюнули и забили. А Зря! С простейшим конечным автоматом каждый из нас сталкивался с самого детства — это механическая … Читать далее
М. Дамке «Операционные системы микроЭВМ»
Автор: М. Дамке Название: Операционные системы микроЭВМ Издательство: Финансы и статистика Старожил сайта и один из самых активных и толковых комментаторов, камрад SWG сделал замечательную вещь— отсканировал и пожал в DejaVu книгу по написанию операционных систем под микро-ЭВМ. Я пока … Читать далее
Это сладкое слово ХАЛЯВА!
Не раз и не два в комментах и в постах я упоминал, что у меня полно всяких радиодеталей, причем редких, дорогих и не продающихся в наших лабазах даже под заказ. Пора бы поделиться с читателями сокровенным — где я надыбал … Читать далее
AVR. Учебный курс. Делаем АЦП из Аналогового компаратора
Так сложилось, что основной МК с которым я работаю постоянно и на котором делаю подавляющее большинство задач это ATTiny2313 — он популярен, а, главное, это самый дешевый контроллер из всей линейки AVR с числом ног более 8. Я их брал … Читать далее
Рубрика: AVR. Учебный курс
Метки: АЦП, Компаратор, Обработка сигналов, Программирование, Трюки
Комментарии (46)
AVR. Учебный Курс. Виртуальные порты
Глядя на то, как раскиданы порой ножки портов по корпусу контроллеров, у меня возникают большое подозрение, что разводчик кристалла дунул что то сильно забористое. Когда вперемешку идут выводы разных портов, да еще почти в рандомном порядке… Когда к этим портам … Читать далее
Переменный резистор
Переменный резистор Ограничение крайних значений Повышение точности Вроде бы простая деталька, чего тут может быть сложного? Ан нет! Есть в использовании этой штуки пара хитростей. Конструктивно переменный резистор устроен также как и нарисован на схеме — полоска из материала с … Читать далее
AVR. Учебный Курс. Отладка программ. Часть 3
Метод 3. USART (Работа с последовательными интерфейсами) Пожалуй самым популярным отладочным интерфейсом является все же USART. Во-первых, он поддерживается аппаратно почти всеми микроконтроллерами. Во-вторых, он прост в использовании и требует всего один/два сигнальных провода, а в третьих, для связи с … Читать далее
AVR. Учебный Курс. Отладка программ. Часть 1
У каждого случалась такая ситуация — программа вроде бы написана, даже компилится, но не работает. Почему не работает? Дак все же просто — в ней есть лажа! Процесс избавления программ от лажи называется, соответственно, отлаживанием. И часто этот процесс длится … Читать далее
Извращенский ШИМ из UART
Пока писал статью про UART пришла в голову одна извращенная идея — на базе UART же можно организовать самый натуральный низкодискретный ШИМ! Достаточно только сделать где-нибудь в памяти переменную, куда мы будем совать число с заданной скважностью нулей и единиц, … Читать далее
AVR. Учебный курс. Работа с портами ввода-вывода. Практика
Вот ты читаешь сейчас это и думаешь — память, регистры, стек и прочее это хорошо. Но ведь это не пощупать, не увидеть. Разве что в симуляторе, но я и на дельфи с тем же условием могу накодить. Где мясо!!! В … Читать далее
AVR. Учебный Курс. Управляемый вектор прерывания
Бывает такая ситуация, когда надо на один периферийный девайс повесить много разных задач, а он всего один и что то надо с этим делать. Простой пример — таймер и его прерывание по переполнению. Мы можем задавать выдержку и по прерыванию … Читать далее
AVR. Учебный Курс. Оценка загрузки контроллера.
Как оценить загруженность микроконтроллера? С памятью все понятно — размеры занимаемого кода и оперативной памяти показывает компилятор, а что делать с процессорным временем? Конечно, в линейной программе можно взять и посчитать время выполнения каждой процедуры и станет ясно успеет микроконтроллер … Читать далее
AVR. Учебный курс. Операционная система. Пример.
Отлично, с теорией работы ОС ознакомил. Устанавливать научил, осталось научить использовать весь этот конвеерно таймерный шухер. Чем я сейчас и займусь. Сразу берем быка за рога и формулируем учебно-боевую программу. Тестовое задание: Пусть у нас будет ATMega8, с несколькими кнопками. … Читать далее
AVR. Учебный курс. Скелет программы
При написании прошивки надо очень внимательно подходить к процессу организации архитектуры будущей программы. Программа должна быть быстрой, не допускать задержек главного цикла и легко расширяться. Оптимально использовать аппаратные ресурсы и стараться выжать максимум возможного из имеющихся ресурсов. Вообще, архитектура программ … Читать далее
Рубрика: AVR. Учебный курс
Метки: Assembler, AVR, Макро язык, Программирование, Трюки, Флаги
Комментарии (54)
AVR. Учебный Курс. Типовые конструкции
При написании программ постоянно приходится использовать разные стандартные конструкции вроде циклов, операторов выбора, перехода, сравнения. Всякие там if-then-else или case-switch. В высокоуровневых языках это все уже готово, а на ассемблере приходится изобретать каждый раз заново. Впрочем, такие вещи пишутся один … Читать далее
Рубрика: AVR. Учебный курс
Метки: Assembler, Макро язык, Начинающим, Оптимизация, Трюки
Комментарии (84)
AVR. Учебный курс. Ветвления на индексных переходах
Таблицы переходов Вот представь, что нам надо сделать мега CASE, когда на вход валится число от 1 до 100 и нам надо сто вариантов действий. Как будешь делать? Если лепить сто штук CPI с последующими переходами, то можно дальше убиться … Читать далее



