Наш канал в telegram

Записи с меткой «контроллер»

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 3. Карта памяти контроллеров stm32, доступ к отдельным битам памяти

Изучать архитектуру контроллеров stm32 мы начнём с их карты памяти. Зачем это надо? Ну, наверное, потому, что программа управления контроллером записана в памяти, данные, которыми мы оперируем, находятся в памяти, различные регистры контроллера также спроецированы на определённые адреса памяти. То есть чтобы работать с контроллером, нам просто необходимо знать что где расположено (по каким адресам) …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 2. Основы ассемблера, структура и синтаксис программы. Простейшая программа

Итак, мы создали новый проект, выполнили основные настройки, создали и подключили к проекту файл, в котором хотим написать на ассемблере какую-нибудь простенькую программу. Что дальше? Дальше, собственно говоря, можно писать программу, используя набор команд thumb-2, поддерживаемый ядром Cortex-M3. Список и описание поддерживаемых команд можно посмотреть в документе под названием Cortex-M3 Generic User Guide (глава The …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 1. Установка MDK, создание проекта, основы Keil uVision

Сегодня мы начнём учиться программировать ARM-контроллеры STM32 на ядре Cortex-M3. Эти камни уже гораздо серьёзнее, чем восьмибитные пики и атмелы, поэтому для полного использования всех их возможностей без языка высокого уровня нам при программировании не обойтись (если мы конечно не мазохисты), но для лучшего понимания происходящего, начнём мы всё же с ассемблера, а потом уже …

Управляющая программа для микроконтроллерного диммера светодиодных драйверов на NCP3066

В этой статье приводится пример простейшей программы управления микроконтроллером для диммера светодиодных драйверов на NCP3066. Диммер у нас сделан на микроконтроллере ATTiny13 и представляет собой генератор прямоугольных импульсов с регулируемым коэффициентом заполнения. С представленной ниже программой наш диммер генерирует прямоугольные импульсы на частоте около 600 Гц и умеет регулировать их коэффициент заполнения в зависимости от …

Микроконтроллерный диммер для светодиодных драйверов на NCP3066

Описанное в этой статье устройство предназначено для совместной работы со светодиодными драйверами, построенными на микросхемах NCP3066, и добавляет этим драйверам функцию диммирования. То есть, оно позволяет регулировать средний выходной ток светодиодного драйвера и, как следствие, регулировать яркость подключенного к этому драйверу светодиода. Устройство построено на базе микроконтроллера ATtiny13 и представляет собой по сути генератор прямоугольных …

Управление биполярным шаговым двигателем. Часть 2. Схема с контроллером PIC12F629 и драйвером L293D

— Часть 1. Теория. Схема с PIC12F629 и драйвером LB1838 — Часть 2. Схема с PIC12F629 и драйвером L293D Поскольку драйвера для шаговиков L293D более популярны у радиолюбителей, чем LB1838, и их гораздо легче достать, то, по просьбам форумчан, я решил написать продолжение статьи про управление биполярными шаговыми двигателями и рассмотреть схему с драйвером L293D. …

Справочные данные для контроллеров PIC. Алгоритмы перевода в режим программирования, диапазоны напряжения Vpp, используемые для программирования выводы

В представленной ниже таблице, для различных моделей pic-контроллеров фирмы Microchip приведены поддерживаемые алгоритмы перевода контроллеров в режим программирования (в соответствии с классификацией из этой статьи), диапазоны напряжений Vpp (для моделей, поддерживающих HVP — high voltage programming), а также используемые для программирования выводы. Все эти данные выужены из официальных спецификаций по программированию pic-контроллеров, которые лежат тут, …

Программирование микроконтроллеров PIC. Часть 6. Как перевести контроллер в режим программирования и залить в него прошивку

Часть 1. Необходимые инструменты и программы. Основы MPLAB Часть 2. Что такое микроконтроллер и как с ним работать Часть 3. Структура программы на ассемблере Часть 4. Разработка рабочей части программы. Алгоритмы Часть 5. Ассемблер. Организация циклов и ветвлений Часть 6. Как перевести контроллер в режим программирования и залить в него прошивку В предыдущих частях мы …

Программа для контроллера I2C-шлюза (режим I2C-slave из терминалки ПК)

Итак, продолжаем эксперименты с собранным ранее I2C-шлюзом (который, как вы помните, у нас реализован на ATTiny2313). В этой статье мы рассмотрим полностью программную реализацию режима I2C-Slave, который позволит нашему девайсу из терминальной программы персонального компьютера прикидываться любым Slave-устройством, а также просто подглядывать за обменом данными на шине I2C (то есть работать как сниффер). Прога, как …

Программа для контроллера I2C-шлюза (режим I2C-master из терминалки ПК)

Программа, рассмотренная в этой статье, разработана для контроллера I2C-шлюза (шлюз у нас реализован на ATTiny2313). Эта программа позволяет из терминальной программы персонального компьютера общаться с I2C устройствами в режиме Master. Программа полностью написана на ассемблере, в конце статьи выложены исходники (с комментариями) и прошивка. Для реализации обмена данными по I2C между контроллером и подключаемым устройством …