Журнал практической электроники Datagor.ru

 
 

Начало » Микроконтроллеры

 
 
Назад Вперед

Программатор AVR910: перезагрузка! Ускорение работы + «превращение» в STK500


Сегодня ночью я не лег спать. Включил фоном какую-то киношку с Джеки Чаном и быстренько спаял второй USB-программатор AVR-ок из датагорского кита Project-5 D-AVR910.

Теперь у меня на столе лежит два одинаковых программатора. А всё для того, чтобы попробовать новую прошивку. Эти близняшки буду шить друг друга. Все опыты проводятся под MS Windows XP SP3.
Цель — увеличение скорости работы и расширение совместимости программатора.
 

Ассемблер для микроконтроллера с нуля. Часть 7. Компиляция, отладка, загрузка


Привет датагорцам и гостям нашего кибер-города! В предыдущих частях материала по Ассемблеру основное внимание уделялось оформлению кода, в то время как компиляция, компоновка, отладка и загрузка программы в МК были упомянуты вскользь [1–5], либо вовсе не рассматривались.
Пришло время остановиться на указанных и сопутствующих [6–9] вопросах подробнее.
 

Ассемблер для микроконтроллера с нуля. Часть 6. Протоколы обмена данными I2C и SPI


В проекте из предыдущей части нашей ассемблерной эпопеи мы подключали к микроконтроллеру светодиод и потенциометр, которые не поддерживают обратной связи с МК и не являются цифровыми, т. е. не оперируют численными значениями.

То же самое можно сказать и о некоторых других внешних устройствах: кнопке, терморезисторе, реле и т. д.

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

Кроме того, нередко возникает необходимость обмена информацией с другим девайсом на базе МК, смартфоном или компьютером.
Во всех этих случаях движение данных между сторонами обмена регламентируется набором правил, именуемых протоколом, с двумя из которых — I2C и SPI — мы сегодня и познакомимся.
 

Ассемблер для микроконтроллера с нуля. Часть 5. Периферия МК.


Сегодня мы рассмотрим работу следующих модулей периферии:
• порта ввода-вывода,
• таймера
• аналого-цифрового преобразователя,
• PWM для nRF52832
и, обобщив все полученные знания, реализуем проект «lightControl» для управления состоянием двух светодиодов.
 

Ассемблер для микроконтроллера с нуля. Часть 4. Система адресации памяти, назначение выводов, тактирование и прерывания МК


Привет датагорцам! Сегодня мы остановимся на следующих вопросах касательно рассматриваемых нами МК:
1. Система адресации регистров памяти данных.
2. Дефолтное и альтернативные назначения выводов.
3. Организация системы тактирования.
4. Преимущества использования прерываний и требования к их оформлению в коде.
 

Измеритель активной мощности Ивана Внуковского на одной плате


Благодарю Ивана (if33) за полезную разработку! Давно мечтал собрать прибор, который мерит именно активную мощность бытовой техники. Прочитав статью камрада if33 «V7 — Измерение RMS-значений напряжения, тока, активной и полной мощности» вдоль и поперёк, я пришёл к выводу, что хочу собрать всё на одной плате, без отдельной платы БП.
Также я решил сделать плату практически размером с LCD, что повлекло за собой переход на компактный корпус TQFP МК ATMega8. Получилось компактно, как я люблю. После этого потребовалась «пересадка» кода с языка Bascom на C.
 

Шаговый двигатель в доработке новогоднего диско-фонаря (ATtiny2313A, ULN2003)


Привет читателям и писателям Датагор.ру! Попала мне в руки такая вот красивая новогодняя игрушка. Внутри три светодиода, над ними вращается прозрачный шар из пластика. Конструкция формирует линзы, которые проецируют красоту во все стороны. Шар медленно крутится, разноцветные узоры бегают по стенам и потолку.

Всё бы ничего, но вот моторчик почти сразу начал достаточно громко и противно шуметь щётками. Такой маленький, и такая зараза! Мне ничего не оставалось, как решить проблему самым радикальным образом: избавиться от щеток совсем. С моим гигантским запасом шаговых двигателей сделать это казалось не сложно 😂
 

Ассемблер для микроконтроллера с нуля. Часть 3. Макросы и функции


Привет, датагорцы — любители Ассемблера!
В пункте 2.5.2 «Инструкции условного перехода» предыдущей части статьи мы переложили на язык инструкций AVR-8 и Cortex M-4 шутливые обязанности ЦПУ из первой части.
Не смотря на то, что полученный в итоге код успешно выполняет поставленную перед ним задачу — эмулирует в терминал печать букв, прихлопы и притопы — подобная структура программы, когда всё её содержимое размещается в одном файле, несёт в себе ряд недостатков.

Выясним, что это за недостатки и как их устранить.
 

Ассемблер для микроконтроллера с нуля. Часть 2. Шаблонные файлы и инструкции МК


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

Ассемблер для микроконтроллера с нуля. Часть 1. Начало пути


Приветствую всех сограждан и читателей журнала Датагор! Пользуясь кучей времени, предоставленной коронавирусом (даже в нашествии такой гадости можно, при желании, найти положительные моменты), решил поднять и пересмотреть записи по микроконтроллерам (МК), которые я делал в разное время для своих детей. В итоге родилась идея объединить разрозненные материалы. Настоящая работа не является учебным курсом по программированию МК, хотя некоторые его элементы будут присутствовать. Скорее, это попытка осветить путь от написания программы до её загрузки в микроконтроллер. Я лишь расскажу о доступных практически для каждого средствах, необходимых для прохождения этого пути, расставлю «вешки» по всему маршруту и намечу направления. Соединять их вам придётся самостоятельно.

Не смотря на то, что знаком с МК я уже достаточно давно, знания мои в этой области далеки не то чтобы от совершенства, но даже от полноты. Это явилось причиной серьёзных сомнений: браться ли за столь обширную тему? В конце концов верх взяла мысль о том, что для кого-то эта информация (пусть и не полная) окажется важной и полезной.
 
Назад Вперед