Архив метки: Assembler

Работа с резистивным сенсорным экраном

Хоть резистивный touchscreen и является устаревшим и активно вытесняется емкостными сенсорами, но тем не менее он еще не скоро канет в Лету. Во первых из-за простоты и дешевизны, а во вторых из-за элементарной работы с ним. Конструктив Итак, как он … Читать далее

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

Создание Bootloader’a

Введение На написание данной статьи меня сподвигло практически полное отсутствие какой либо вменяемой информации по теме бутлоадеров на русском языке, и конкретно для чипов основанных на архитектуре AVR. В общем то DI как то писал о вкусностях этих тулз для … Читать далее

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

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

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

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

AVR. Учебный Курс. Архитектура Программ. Часть 4

Вытесняющий диспетчер Давным-давно, когда я учился в школе, мне не давал покоя вопрос. Как работают параллельные операционки? Как тот же самый Windows умудряется переключать процессы, не терять регистры (да, я тогда уже начинал учить асму), как он определяет момент переключения, … Читать далее

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

AVR. Учебный Курс. Программирование на Си. Часть 4

Теперь глянем на нашу программу, скомпилим, прошьем, поглядим как выполняется. Зашиваю все через AVR Prog в Pinboard и смотрю на поведение LED1 и LED2. LED1 мигает как и задумано, но стоит мне попытаться зажечь LED2 отправкой с терминала «1″, как … Читать далее

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

AVR. Учебный Курс. Программирование на Си. Часть 2.

Вторая часть марлезонского балета, точнее введения в программирование на Си под микроконтроллеры. Структура программы Ну вот, МК у тебя уже кое что сделал. И хоть внешне ничего не видно, но внутри у него произошли изменения — передатчик стал готов к … Читать далее

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

Часы реального времени PCF8583

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

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

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

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

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

AVR. Учебный Курс. Библиотека для LCD на базе HD44780

Сел я и дописал свою библиотеку для LCD на базе HD44780. Как она работает я тут расписывать не буду — код весьма плотно фарширован комментариями. Тем более я уже рассказывал как работать с этим дисплеем Поэтому, думаю, разберетесь. Если будут … Читать далее

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

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

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

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

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

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

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

Работа с АЦП. Программные средства повышения точности

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

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

AVR. Учебный Курс. Выдача данных с АЦП на UART. Мультиплексирование каналов АЦП

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

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

AVR. Учебный Курс. Использование EEPROM

Иногда нужно сохранить данные так, чтобы они восстановились после перезагрузки контроллера. В этом тебе поможет EEPROM, почти все контроллеры серии AVR имеют на борту некоторое количество этой памяти. Физически и логически эта память находится в отдельном адресном пространстве, а чтение … Читать далее

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

Система моделирования ISIS Proteus. Быстрый старт.

Собранная виртуальная схема Вообще существует масса систем моделирования электронных схем. Из всех, что я видел мне наиболее понравились Multisim и ISIS Proteus. Multisim обладает очень удобным интерфейсом, и в нем удобно отлаживать аналоговые девайсы, т.к. он позволяет использовать виртуальные (т.е. … Читать далее

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

AVR. Учебный курс. Передача данных через UART

Почти каждый микроконтроллер имеет на борту универсальный последовательный интерфейс — UART. AVR тут не исключение и поддерживает этот протокол в полном обьеме полностью аппаратно. По структуре это обычный асинхронный последовательный протокол, то есть передающая сторона по очереди выдает в линию … Читать далее

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

AVR. Учебный курс. Использование ШИМ

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

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

AVR. Учебный курс. Таймеры

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

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

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

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

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

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

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

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