Статьи по микроконтроллерам и микропроцессорам

Микроконтроллер - это специализированная микросхема, которая используется для управления различными электронными механизмами. Впервые микроконтроллеры создали в 1971 году, на базе микропроцессоров общего назначения. Разроботчикам просто пришла в голову идея - совместить процессор, ПЗУ, ОЗУ и периферию, разместив это все внутри одного корпуса, по внешнему виду похожего на типовую микросхему. С того года выпуск микроконтроллеров и их востребовательность не уменьшается.
микроконтроллеры

Сегодня существует огромное число разновидностей микроконтроллеров производимых двумя десятками фирм. Большой популярностью у электронщиков получили 8-битные PIC-контроллеры фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 компании TI и 32-битные МК с архитектурой ARM разработанные фирмой ARM Limited.

Микроконтроллеры Atmel

Настоящая техногенная революция в области микроконтроллеров случилась в 1996 году, когда фирма Atmel представила в большой мир свое семейство чипов на ядре AVR. МК Atmel сочетают прорывные идеи и встроенные готовые решения повышенной эффективности практически для любых задач.

Микроконтроллеры AVR

Эта серия микроконтроллеров фирмы Atmel применяется в автомобильной и бытовой электронике, сетевых картах и материнских платах компьютеров и ноутбуков, в смартфонах и планшетах. МК AVR приобрели огромную популярность в радиолюбительской среде, привлекая электронщиков такими показателями, как цена, энергоэффективность и быстродействие. Кроме того огромным плюсом являются удобные режимы программирования, свободная доступностью программных средств поддержки и широкий выбор.

Микроконтроллеры STM32

Одной из первых фирм выпустившей в большой мир микроконтроллеры на ядре ARM Cortex-M3 является компания «STMicroelectronics». Начиналось всё не так и давно в 2007 году с появления двух семейств – «Performance Line» (STM32F103) и «Access Line» (STM32F101). На текущий момент МК STM32 представлены десятью основными линейками для различных задач. Основные их достоинства это «pin-to-pin» и полная программная совместимость по всем возможным линейкам. И это всё уместилось на ядре ARM Cortex-M3. Рассмотрим основные инструменты, для того что бы можно было начать работу с МК STM32

16-разрядных микроконтроллеров семейства PMC-16LX Fujitsu

В справочном пособии представлена техническая документация на  Flash память 16-разрядных микроконтроллеров PMC-16LX фирмы Fujitsu, кроме того подробно рассмотрено ядро и архитектуры микропроцессоров, показана организация памяти и модули встроенной периферии, кроме того приведены используемые программные средства. Функциональные модули микроконтроллеров семейства LX16. Ядро CPU микроконтроллеров семейства F2MC-16LX. Модуль формирования тактовых сигналов - Clock. Обработка сигналов сброса. Модуль контроллера режимов энергосбережения. Модуль генерации задержанного прерывания. Выводы установки режима и организация обращения к внешней памяти. Модуль программируемого генератора импульсов. Модули контроллеров/драйверов жидкокристаллических дисплеев и многие др.

Микроконтроллеры семейства AVR фирмы Atmel

Автор Гребнев В. Микроконтроллеры семейства AVR описанные в данном издании отличаются высоким быстродействием и низким энергопотреблением. Разработчик сможет почерпнуть для себя структуру, систему команд, периферийные устройства и работу микроконтроллеров фирмы Atmel.

Инженер электронщик сможет правильно выбрать микроконтроллер определенного типа, разработать функциональную схему девайса и разработать программу работы микроконтроллера на языке AVR Ассемблера

PIC-микроконтроллеры. Практика применения

Автором Тавернье К. преподнесена техническая информация о программных средствах разработки на базе PIC-микроконтроллеров. В приложениях имеется коллекция схемных и программных решений на PIC-микроконтроллерах, реализованны типовые интерфейсы. В книге расписано очень много примеров программной реализации самых различных функций: организация прерываний, подпрограммы расширенной арифметики, арифметики с плавающей запятой и т.д. Для закрепления теории на практике даются несложные устройства, в том числе часы-будильник и многоканальный цифровой вольтметр.

Питание и тактирование PIC-микроконтроллеров
Разработка приложений. Какой микроконтроллер нужно выбрать
Схемные решения интерфейсов микроконтроллеров
Управление светодиодами и оптронами, реле, цифровыми иникаторами, АЦП
Взаимодействие с периферией по последовательному интерфейсу
Беззнаковое умножение 8-разрядных чисел
Знаковое и беззнаковое умножение 16-разрядных чисел
Деление, сложение и вычитание 16-розрядных чисел
Операции с плавающей запятой
Преобразование двоично-десятичных кодов в двоичные
Готовые схемотехнические решения: часы-будильник, реализация интрерфейса и2ц, вольтметр со светодиодной индикацией
Управление шаговыми двигателями
Самоучитель по микропроцессорной технике

Книга Белова А.  начинается с введения в цифровую технику. Далее автор усложняет описания и вводит такие понятия, как логические элементы, цифровой сигнал, принципы хранения и обработки цифровой информации. Подготовив читателя  раскрываются основные принципы построения микропроцессорных систем. И, в завершение для закрепления усвоенного теоретического матеръяла  разрабатываем микропроцессорное устройство, раскрываем принципы и приемы разработки схемы и управляющей программы

Типовая схема микропроцессорной системы
Алгоритм работы
Механизм прерываний и прямой доступ к памяти
Микроконтроллер АТ89С2051 структурная схема, назначение выводов, внутренние регистры и озу контроллера
Разработка Позиционера для спутниковой антенны
Трансляция и отладка программ
Система команд микроконтроллера АТ89С2051
Простой самоучитель по PIC микроконтроллерам + программы используемые в курсе
Что такое микроконтроллер и как он работает
Система команд PIC16F84A
Что такое программа и правила ее составления. Пример создания программы автоколебательного мультивибратора. Директивы.
Интегрированная среда проектирования MPLAB IDE и работа в ней
Пример создания программы
Работа в симуляторе. Отладка программы
Пример разработки программы с уходом в прерывания
Организация вычисляемого перехода.
Работа с EEPROM памятью данных
Как работает цифровой компаратор
Циклический сдвиг. Операция умножения
Введение в принцип построения подпрограммы динамической индикации. Косвенная адресация
Преобразование двоичных чисел в двоично-десятичные. Окончательное формирование текста подпрограммы динамической индикации
Принцип счета. Работа с таймером TMR0. Принцип установки групп команд счета в текст программы
Микроконтроллер i8051 + Програмирование на языке ассемблера для микроконтроллеров 8050, 8080 и 8085

Начнем описание основателя семейства, микроконтроллера типа 8051, с перечисления 40 выводов интегральной схемы и кратких сведений об их назначении

Источник питания подключается к выводам Vss (20) «земля» и Vcc (40) +5В
Для управления работой всех устройств в микроконтроллере используется генератор импульсов, который может работать от внешнего источника или автономно (в режиме самовозбуждения). В последнем случае к выводам XTAL2 (18) и XTAL1 (19) должен быть подключен кварцевый резонатор на частоту не более 12 МГц
После включения питания необходимо установить внутренние устройства микроконтроллера в исходное состояние подачей импульса на вывод RST (9). После этого микроконтроллер начинает работу с исполнения команды, записанной по нулевому адресу
Для связи с внешним миром у микроконтроллера есть двунаправленные порты: 4 параллельных и один последовательный (дуплексный порт для приема и передачи)
Параллельные порты работают в байтовом формате, то есть имеют по 8 выводов: РО (32-39), Р1 (1-8), Р2 (21-28) и РЗ (10-17). Порты РО и Р2 используются также для выдачи адреса при обращении к внешним запоминающим устройствам
Выводы, к которым присоединены шины порта 3, могут использоваться: для последовательного порта в качестве принимающей RxD (10) и передающей TxD (11) линий, для ввода сигналов внешних прерываний INTO# (12) и INT1# (13), для счета внешних импульсов ТО (14) и Т1 (15) для выдачи сигналов записи WR# (16) и чтения RD# (17) на внешние запоминающие устройства.Кроме того для работы с внешними ЗУ используются выводы PSEN# (29), ALE# (30) и EA# (31)
Интерфейс RS-232 Связь между компьютером и микроконтроллером

Интерфейс RS232 в компьютере: электрические характеристики, распиновка, програмирование, Управление состояниями и чтение состояний линий Инициализация

RS232 в микроконтроллере: характеристики, использование сигналов RS232 для запуска и программирования микроконтроллера, микросхемы преобразователей уровней интерфейса, примеры сопряжения микроконтроллеров с компьютером по RS232; Пример применения RS232 для программирования микроконтроллеров ADUC8XX; Программаторы микроконтроллеров

Что может и чего не может интерфейс RS232 Приложение:

Удаленная система сбора и обработки информации, поступающей с датчиков аналоговых, частотных и дискретных сигналов на базе IBM-совместимого компьютера и MSC-51

Гололобов В. Н. «Умный дом» своими руками

Книга может быть интересна всем, кто интересуется радиоэлектроникой. Расмотрен практический пример создание системы автоматизации «Умный дом» на микроконтроллере PIC16F628A в программе MPLAB. Компоненты системы и модули отлаживаются на одной макетной плате. Для всех экспериментов, описанных в книге, можно использовать одну и ту же микросхему контроллера. Программатор, работающий с программой PonnyProg2000, легко собирается и не содержит дефицитных деталей. Компьютер в лаборатории радиолюбителя превращается, фактически, в саму лабораторию. Управляющая программа системы может быть написана на языке программирования Visual Basic или на любом другом языке. В заключительной части приведены справочные материалы по командам микроконтроллера PIC16F628A, схема датчика движения и программатора для программирования PIC-контроллеров.

Заец Н.И Радиолюбительские конструкции на PIC-микроконтроллерах
Все четыре книги, кроме того в архив добавлены все исходники описываемых программ и другая дополнительная справочная информация. В архиве также вы найдете исходные тексты программ и «прошивки» контроллеров. Справочные материалы на все микроконтроллеры рассмотренные во всех четырех книгах (PIC12c67x PIC16c432 PIC16c433 PIC16c505 PIC16c54_58 PIC16c554_558 PIC16c620_622 PIC16c623_625 PIC16c62B_72A PIC16c63a_65b_73b_74b PIC16c64x_66x PIC16c6x PIC16c717_77x PIC16C71xx PIC16c72 PIC16c72_77 PIC16c745_765 PIC16c77x PIC16c781_782 PIC16c92x PIC16F630_676 PIC16f7x PIC16f84a PIC16f85_86 PIC16F87xA PIC16hv540 PIC16Lc74b PIC17c4x PIC17c752_756 PIC17c7xx PIC17LC752P16 PIC18c601_801 PIC18cXX8)
Введение в CAN 2.0 интерфейс
Модуль CAN в микроконтроллерах PIC
Програмная реализация I2C интерфейса и краткий его обзор
Микросхемы KeeLoq с технологией "прыгающего кода"
Универсальная последовательная шина USB в микроконтроллерах PIC и програмное обеспечение для работы с USB
Модули х-разрядного АЦП в микроконтроллерах PIC
Рекомендации по работе с АЦП в микроконтроллерах PIC
А также софт для програмирования описанных в книгах PIC-Микроконтроллеров IC-Prog и PonyProg2000
Тим Уилмсхерст. Разработка встроенных систем с помощью микроконтроллеров PIC

К вопросам отладки разработчики относятся по-разному. Одни считают, что достаточно внимательно проанализировать исходный текст программы, проверить формирование сигналов на выводах МК, и можно исправить все ошибки. Другие используют наборы специальных подпрограмм, которые вызываются в контрольных точках и выдают определённым способом (например, выводом на индикатор или последовательный канал связи) информацию о состоянии ресурсов МК. Кстати на этом основана технология ICD (In-Circuit Debugger - внутрисхемная отладка), реализуемая в некоторых МК фирм Motorola и Microchip. Но при любом из вышеуказанных способов отладки возникает одна существенная проблема - необходимость перепрограммирования МК после внесения в программу даже незначительных изменений. Особенно эта проблема актуальна для однократно программируемых МК. Правда в последнем случае отладку можно вести, скажем, на МК с FLASH-памятью, но всё равно время, затрачиваемое на программирование достаточно велико и порой достигает нескольких минут. Кроме того, МК ,как правило, нужно извлечь из отлаживаемой схемы, подключить к программатору, а затем вставить обратно. Те, кто имел дело с программированием на ПК, особенно чувствуют разницу. Например, при программировании в среде Borland C++ 3.1 (BC++) для запуска отлаживаемой программы достаточно нажать комбинацию клавиш Ctrl+F9, и через несколько секунд она уже будет работать (если конечно не содержит ошибок). Хотелось бы получить подобный результат и при написании управляющих программ МК. И это возможно благодаря применению ВСЭ, представляющего собой программно-аппаратное средство, способное замещать собой эмулируемый МК в реальном устройстве, с которым его соединяют кабелем со специальной эмуляционной головкой. Использование такого эмулятора ничем не отличается от использования реального МК, за исключением того, что модифицированная программа перезагружается во ВСЭ почти мгновенно.