Микроконтроллер для начинающих: Микроконтроллеры для начинающих

Содержание

ПРОГРАММИРОВАНИЕ МИКРООКНТРОЛЛЕРОВ ДЛЯ НАЧИНАЮЩИХ | О курсе

Вы хотите освоить современную область электроники и научиться программировать микроконтроллеры?

И не просто научиться программировать, а научиться ПОНИМАТЬ как микроконтроллеры работают НА УРОВНЕ МАШИННЫХ КОДОВ И ОТДЕЛЬНЫХ ЭЛЕКТРИЧЕСКИХ СИГНАЛОВ

Здесь Есть Все, что бы Самому Начать Разрабатывать Собственные Электронные Устройства на Микроконтроллерах

Здравствуйте!

 

Меня зовут Ceливaнoв Мaкcим. И если Вас интересует электроника, программирование и микроконтроллеры, и Вы хотите пополнить свой багаж знаний в этих областях, то, Вы попали на нужную страницу!

 

Вот уже почти 7 лет, я занимаюсь разработкой электронных устройств на микроконтроллерах. Сначала это было просто хобби, продолжение моего увлечения электроникой еще с детства. Разрабатывал и собирал всю электронику самостоятельно: от идеи до рабочей платы. Никогда не нравилось повторять чужие схемы из журналов или из интернета. Всегда доставляло удовольствие проектирование собственных устройств, с теми функциями, которые нужны мне, а не которые навязывает автор статьи. Все устройства собирал в основном для себя, иногда для знакомых и родственников. А c 2008 года я начал выполнять и индивидуальные заказы. И с тех пор это еще и дополнительный источник дохода.

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

Кто пробовал, тот меня поймет.

 

А сегодня я готов поделиться всем своим личным опытом создания и отладки устройств на микроконтроллерах. И я с гордостью хочу представить Вам мой авторский обучающий видеокурс по программированию микроконтроллеров!

Для кого этот курс?

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

 

Курс замечательно подойдет и тем, кто только недавно предпринял первые попытки изучить программирование микроконтроллеров, но уже готов все бросить от того, что у него ничего не работает или работает, но не так как ему нужно.

 

Курс будет полезен и тем, кто уже собирает простенькие (а может и не очень) схемы на микроконтроллерах, но плохо понимает суть того как микроконтроллер работает и как взаимодействует с внешними устройствами.

Что Вы узнаете, изучив мой курс?

Прежде всего, после изучения курса у Вас появиться четкое понимание, как работают микроконтроллеры на самом низком уровне, на уровне машинных команд, на уровне отдельных сигналов на выводах. А это очень многого стоит в наше время, когда программисты хоть и владеют разными языками программирования, но плохо себе представляют, какие процессы скрываются за командами того языка на котором они пишут свои программы.

Вы узнаете, как микроконтроллеры взаимодействуют с различными периферийными устройствами и электронными компонентами.

Научитесь грамотно создавать принципиальные схемы и грамотно проектировать печатные платы для своих устройств.

Познакомитесь с популярными протоколами обмена: RS232, UART, I2C, SPI, 1-WIRE, Манчестерский код, кодирование без возврата к нулю.

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

Благодаря программной реализации протоколов, у Вас появиться очень четкое понимание того, как организованы протоколы обмена данными на самом низком уровне и по какой логике происходит построение протоколов обмена!

Более того, Вам вполне по силам будет создать свой собственный протокол обмена!

Вы научитесь использовать различные средства отладки и программирования: от программы виртуального моделирования электронных схем до логического анализатора. Без этих средств сегодня не обходиться ни один серьезный разработчик.

Для того, что бы лучше понимать работу микроконтроллера, я научу Вас программировать на самом низкоуровневом языке – на Assembler’е . Почему на ассемблере, а не на Си? Потому что Ассемблер, в отличие от более высокоуровнего языка Си,  дает намного более глубокое понимание работы микроконтроллера. Изучение языка ассемблера дает программисту одно очень важное преимущество — он глубже начинает понимать принцип работы программ, написанных на любых других языках.

На этом языке мы вместе напишем множество программ, и разберем работу программных библиотек для работы с различными микросхемами и модулями, а так же изучим популярные протоколы обмена.

И обращаю ваше внимание, что все программы и программные библиотеки, которые будут встречаться в этом курсе, написаны мной лично. Подобных библиотек Вы не найдете ни в интернете, ни в книгах!

Но самое главное, что Вы приобретете — это бесценный практический опыт! Потому что все что мы будем изучать, мы ТУТ ЖЕ ПОСЛЕ ИЗУЧЕНИЯ, БУДЕМ ПРОДЕЛЫВАТЬ НА ПРАКТИКЕ!

А какие преимущества у обучающего курса?

Во первых, благодаря видео урокам, Вы будете отслеживать каждое мое действие, которое я буду сопровождать подробными комментариями, и Вам не составит труда все проделанное повторить уже самостоятельно. Эффективность обучения по видео урокам НА ПОРЯДОК превышает все другие формы обучения! Как будто, рядом с Вами сидит преподаватель и разъясняет, почему он делает все так, а не иначе.

 

Во-вторых, во всех примерах я использую только современные, но легкодоступные электронные компоненты и модули. Так что, возможно, Вы откроете для себя новые функциональные компоненты!

 

В-третьих, материал в курсе по большей части ориентирован на практику программирования микроконтроллеров. То есть, почти вся теория в обязательном порядке будет закреплена на практике. А как известно, самый лучший способ понять теорию — это применить ее на практике.

 

А в-четвертых, такого объема информации на одном диске вы не найдете больше нигде. Здесь есть почти ВСЕ, что бы успешно не только начать осваивать программирование микроконтроллеров, но и значительно дальше других продвинуться в понимании того, как работает вся современная электроника.

Еще никогда изучение такой сложной темы, как микроконтроллеры не было таким простым!

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

Другими словами, всего за месяц я научу вас выполнять полный цикл производства готового изделия: от идеи до работающего устройства.

 

Но,

 

Пожалуйста, не думайте, что пройдя курс вы станете профессионалом в области программирования микроконтроллеров. Ни один курс, каким бы замечательным он ни был, и даже 5-летнее обучение в университете этого не сделают. Это просто невозможно, потому что профессионалами становятся учась годами на практике, проектируя, собирая и отлаживая сотни различных проектов.

Но я обещаю вам, что вы сможете совершить скачек, от уровня человека, что-то слышавшего про микроконтроллеры, до уровня разработчика средней квалификации.

Что значит уровня «средней квалификации»?

Вот несколько примеров тех устройств, которые Вам вполне будет по силам спроектировать самостоятельно, после изучения курса:

 Автоматический регулятор температуры с часами, управляющий нагревательным прибором и выводящий показания на дисплей, регистрирующий почасовые показания температуры во внутренней памяти с возможностью их просмотра на дисплее или на компьютере. Управление регулятором осуществляется или непосредственно с помощью клавиатуры, или дистанционно через USB порт компьютера.

 

 Охранное устройство, собирающее информацию с различных датчиков и контролирующее охраняемый периметр. Снятие и постановка на охрану осуществляется либо при помощи электронных ключей-таблеток, либо дистанционно при помощи пульта управления.

 

 Устройство, принимающее команды с обычного пульта дистанционного управления и осуществляющее управление различными устройствами (двигателями, освещением, нагревательными приборами и др.) по заранее заданным алгоритмам.

И еще раз повторюсь: Самое главное — это не то, что Вы сможете собрать подобную электронику на микроконтроллерах, а то, что Вы получите ОЧЕНЬ ГЛУБОКОЕ и ЧЁТКОЕ понимание того, как все это работает!

Благодаря глубокому пониманию работы микроконтроллеров и различных протоколов обмена данными Вы на порядок лучше будете разбираться в современной электронике, чем те, кто программирует на высокоуровневых языках типа Си, Pascal или вообще использует arduino.

А какие темы будут рассмотрены в курсе?

Всего на диске записано 109 видеоуроков общей продолжительностью 60 часов!

 

Все темы я условно разбил на семь разделов. Вот краткое содержание этих разделов и скриншоты из некоторых видеоуроков:

Теоретические основы микроконтроллеров. Отличие микроконтроллеров от процессоров, компьютеров, микрокомпьютеров и промышленных контроллеров.

Основные этапы эволюции языков программирования от машинных кодов до языков высокого уровня. Выбор ассемблера в качестве основного языка для изучения микроконтроллеров. Выбор среды для написания и отладки программ.

Краткий обзор современных микроконтроллеров и средств программирования. Выбор микроконтроллера для изучения.

Краткое ознакомление с архитектурой и командами микроконтроллеров AVR. Разбор файла описаний микроконтроллера. Написание первой программы. Трансляция программы и получение файла прошивки.

Разбор содержимого файла прошивки и коррекция работы программы при помощи редактирования отдельных байтов hex-файла.

Подробный разбор среды программирования AVR Studio и среды отладки AVR Simulator. Обзор программы PROTEUS.

Подробное изучение архитектуры и команд микроконтроллеров AVR. Регистр статуса. Стековая память. Понятие «срыва стека» и программные ошибки, приводящие к этому явлению. Прерывания микроконтроллера. Внешние и внутренние прерывания. Механизм сохранения адреса возврата в стековой памяти.

Представление отрицательных двоичных чисел. Понятие дополнения до 2, дополнения до 1, дополнительного кода и обратного кода.

Управление портами ввода-вывода. Считывание и запись байтов из памяти программ и памяти данных. Выражения языка ассемблера, макроопределения ассемблера и подключение библиотечных файлов.

Подробное изучение архитектуры и команд микроконтроллеров AVR. Регистр статуса. Стековая память. Понятие «срыва стека» и программные ошибки, приводящие к этому явлению. Прерывания микроконтроллера. Внешние и внутренние прерывания. Механизм сохранения адреса возврата в стековой памяти.

Представление отрицательных двоичных чисел. Понятие дополнения до 2, дополнения до 1, дополнительного кода и обратного кода.

Управление портами ввода-вывода. Считывание и запись байтов из памяти программ и памяти данных. Выражения языка ассемблера, макроопределения ассемблера и подключение библиотечных файлов.

Работа с EEPROM памятью микроконтроллера. Основные правила по предотвращению потери данных в EEPROM-памяти.

Таймеры микроконтроллера. Работа таймера в режиме сброса по переполнению и сброса по совпадению. Прерывания таймера по совпадению и переполнению. Режим широтно-импульсной модуляции. Режим захвата.

Понятие сторожевого таймера. Режимы работы сторожевого таймера. Модуль аналогового компаратора. Режимы работы аналогового компаратора и настройка прерываний.

Понятие динамического режима индикации. Основные параметры динамической индикации и тонкости аппаратной реализации.

Матричный способ опроса группы механических контактов.

Модуль USART микроконтроллера. Конфигурирование модуля на режим асинхронной передачи данных. Связь микроконтроллера и компьютера. Обмен данными через USB.

Виды энкодеров. Подключение инкрементного энкодера к микроконтроллеру.

Жидкокристаллический символьный индикатор на базе контроллера HD44780. Подключение индикатора к микроконтроллеру. Программная библиотека для управления индикатором.

Прием данных, передаваемых по инфракрасному каналу связи. Виды протоколов передачи. Универсальный алгоритм дешифрации принятых посылок.

Шина SPI. Теория передачи данных по SPI в четырех режимах работы. Программная эмуляция шины. Flash-карты памяти формата SD и SDHC. Подключение карт памяти к микроконтроллеру. Чтение и запись данных в посекторном режиме.

Шина I2C. Теория обмена данными по шине. Программная эмуляция протокола I2C. Микросхема часов реального времени. Считывание и запись байт данных. Вывод считанных данных на индикатор.

Шина 1-WIRE. Теория обмена данными по шине 1-WIRE. Программная эмуляция работы шины. Микросхемы класса iButton. Считывание ID кода микросхем и вывод на индикатор. Микросхема температурного датчика. Команды транспортного и сетевого уровней. Запуск процесса преобразования температуры, считывание и преобразование байт данных. Программный подсчет контрольной суммы CRC-8. Понятие полиномного генератора. Программная реализация полиномного генератора.

Вот некоторые отзывы от тех, кто изучил мой курс

Некоторые из отзывов я специально просил оставить, а другие я взял из переписки через e-mail

Если захотите оставить отзыв о курсе, то я его тоже опубликую.

“ Если коротко то ЭТО ПОТРЯСАЮЩЕ «

“… у Вас просто талант учителя.”

”В курсе очень много информации…”

”Автор — профессионал высокого класса… ”

Сомневаетесь, нужен ли Вам этот курс?

Без всякого стеснения могу сказать, что данный курс уникален, и аналогов ему нет. Запись всех видеоуроков у меня по времени заняло 1 год. В этот курс я вложил весь свой опыт и очень много сил, тщательно разжевывая каждую деталь, но при этом, стараясь не впадать в крайности и не зацикливаться на объяснении очевидных вещей.

Отличительной особенностью этого видеокурса является очень глубокий подход к изучению работы микроконтроллеров на уровне их архитектуры и очень глубокое изучение протоколов обмена данными на уровне отдельных сигналов.

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

Конечно, при изучении такой сложной темы, как низкоуровневое программирование микроконтроллеров, не может не возникнуть вопросов.

И поэтому каждый покупатель курса получает возможность обращаться ко мне со всеми возникающими вопросами по материалам видеокурса.

Где Вы еще сможете получить бесплатные консультации по самому широкому кругу вопросов, связанных с программированием микроконтроллеров?

Для тех, кто «в теме»

Мне иногда задают вопросы вроде такого: «Я знаком с микроконтроллерами AVR и умею писать программы на ассемблере для этих микроконтроллеров. Узнаю ли я что-нибудь нового из вашего курса?»

Для того что бы уважаемый посетитель этой страницы смог самостоятельно ответить на этот вопрос, чуть ниже я привожу пример небольшой программы на ассемблере для микроконтроллеров AVR.

Если Вы разбираетесь в том, как работает эта программа, то в плане понимания работы микроконтроллера, скорее всего, ничего нового не узнаете.

 

01  /*

02  Для МК tiny2313, mega8, mega88, mega48, mega16, mega32 и других,

03  где spl = 0x3D и ОЗУ начинается с 0x60

04  */

05

06  .cseg

07  .org  0x00

08            ldi R31,low(m0)

09            ldi R30,byte1((m0>>1) + 1)

10            sts 0x10,R30

11            eor R15,R15

12            lpm

13            sts 0x5F,R0

14            rjmp PC+(m0 — 8)                                ;Переход на строку 18

15  m1:   .dw 0x00,(main)+1,0xFF

16

17  .org  0x100

18  m0:    out 0x3D,R16

19            ldi R30,byte1((m1+1)*2)

20            ldi R31,byte2((-(m1+1)*2) — 1)

21            sbc R15,R31

22            sts 0x1F,R15

23            pop R16

24            pop R16

25            pop R16

26

27            lpm

28            sts 0x86,R0

29            adiw R30:R31,1

30            lpm

31            sts 0x85,R0

32            ret    ;Переход на строку 35

33

34  main: nop

35            inc R16

36  .db     «эПереход на main»                           ;Переход на строку 34

37  /*В последней строке в двойных кавычках прописать

38  русскими буквами «эПереход на main»*/

Программа написана для ассемблера среды AVR Studio (Atmel Studio). Выполнение начинается со строки 8. В строке 14 происходит переход на строку 18. Далее подряд выполняются команды в строках с 18 по 32. В строке 32 происходит переход на строку 35. Последующее выполнение программы происходит в бесконечном цикле в строках 34, 35 и 36.

А можно ли посмотреть фрагменты из видеоуроков?

Да, фрагменты из видеоуроков посмотреть можно. Сообщите мне (координаты для обратной связи находятся внизу страницы) отрывки из каких видеоуроков Вы хотели бы посмотреть. Я их подготовлю и вышлю Вам ссылку на скачивание. Таким образом, Вы сможете оценить качество материала видеоуроков.

Микроконтроллеры для начинающих. Часть 27. Команды управления | Разумный мир

Мы заканчиваем краткое знакомство с набором команд процессоров микроконтроллеров. Нам осталась последняя группа команд — команды управления. Эти команды имеют узкую и несколько специфичную функциональную направленность. Но в их работе нет особых сложностей.

В отличии от предыдущих статей я не буду приводить в конце список команд. Я буду рассматривать каждую команду в отдельности в ходе статьи.

Ничего не делать

Практически во всех процессорах есть команда NOP — отсутствие операции. Эта команда ничего не делает, просто занимает место и тратит время процессора впустую. Казалось бы, зачем такое вообще нужно? Команду NOP часто используют в циклах для организации коротких задержек, которые отсчитываются в машинных циклах. Кроме того, она бывает полезна при внесении небольших изменений в двоичный код программы без необходимости ее повторной компиляции, например, во время отладки. Иногда такая команда необходима из-за особенностей процессора. И мы еще увидим это при рассмотрении прерываний PIC.

Режимы работы микроконтроллера — выполнение программы и сон

Обычно, процессор микроконтроллера непрерывно выбирает и выполняет команды. Но иногда нужно подождать какого то события и просто ничего не делать. Этим событием может быть, например, окончание работы АЦП, нажатие кнопки пользователем, внешнее прерывание свидетельствующее о поступлении информации по каналу связи.

Такое ожидание можно реализовать бесконечным циклов с непрерывной проверкой ожидаемого события. А можно просто отправить микроконтроллер в режим сна. Это позволит и снизить энергопотребление и немного улучшит ситуацию с электромагнитной совместимостью.

Режим сна по разному реализован в разных микроконтроллерах. И мы с этим еще будем разбираться отдельно. В большинстве случаев останавливается тактовый генератор процессора, что и приводит к остановке выполнения программы. Периферийные модули микроконтроллера могут выключаться или продолжать работу. Это определяется производителем, но иногда на это можно повлиять программными настройками. Возобновить выполнение программы, то есть, выйти из режима сна, микроконтроллер может по аппаратному прерыванию, что обычно и происходит.

Довольно распространенной является ситуация, когда микроконтроллер в устройстве большую часть времени проводит в режиме сна просыпаясь лишь на короткое время.

Для перевода микроконтроллера (хотя точнее, процессора) в режим сна используется команда SLEEP, которая есть у PIC и AVR.

В STM8 такая команда называется HALT — останов. Можно считать, что микроконтроллер действительно остановлен в режиме сна. Но для STM8 четко оговаривается, что останавливается и тактовый генератор и все периферийные модули. Энергопотребление при этом минимально.

Кроме того, в STM8 есть режимы не полного останова. В частности, при выполнении команды WFE (ожидание события) процессор останавливается, но периферийные модули продолжают работать. В PIC аналогичное поведение обеспечивает так называемая независимая от ядра периферия, которая имеется в некоторых моделях.

В STM8 есть и очень похожая на WFE команда WFI (ожидание прерывания). Основным отличием от WFE является то, что при выполнении WFI прерывания всегда разрешены. А при выполнении WFE их обработка зависит от флага I регистра CC.

Сторожевой пес, он же таймер

Опять таки, это тема отдельного разговора. Но мы должны ее немного коснуться сейчас, что бы понять, как работает команда сброса сторожевого таймера.

В общем, и упрощенном, случае сторожевой таймер — WDT (Watch Dog Timer) — это счетчик с отдельным тактовым генератором. Это позволяет ему работать режиме сна, когда основной тактовый генератор остановлен. Когда этот счетчик переполняется производится сброс микроконтроллера. Или его пробуждение, если он был в спящем режиме.

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

Для сброса сторожевого таймера в PIC существует специальная команда CLRWDT, так как его счетчик не имеет адреса. В AVR сторожевой таймер сбрасывается командой WDR.

В STM8 есть два сторожевых таймера, управляющие регистры которых имеют адреса и доступны программно. Поэтому специальной команды для сброса сторожевого таймера нет.

Прервемся для отладки

В AVR и STM8 есть команда BREAK, которая предназначена для использования в аппаратным отладчиком. При выполнении этой команды процессор останавливается, а продолжение нормальной работы возможно только отладчиком. Эта команда реализует установку точек останова (break point) отладчика.

Если отладчик не подключен, что BREAK выполняется как NOP.

Заключение

Подошла к концу не только статья, но и наше знакомство машинными командами микроконтроллеров. И даже знакомство в процессорами микроконтроллеров.

Это был трудный путь, который многим мог показаться и довольно скучным. Но эти знания важны для глубокого понимания работы микроконтроллер и, в конечном итоге, успешного их применения. Возможно, вы никогда не напишите ни одной машинной команды, ни одной программы на ассемблере (который мы не рассматривали, кстати). Но к этим знаниям бы будем возвращаться еще не раз, даже при программировании на С.

Начиная со следующей статьи мы будем «строить мост» между процессором, с его машинными командами и регистрами, и языком высокого уровня, в качестве которого будет выступать С.

Там будет немного полегче и понятнее для тех, кого не очень интересуют все эти темные глубины.

До новых встреч!

мир электроники — Начинающим о AVR микроконтроллерах

Общие понятия и основы программирования

Этот раздел посвящен микроконтроллерам семейства AVR: общие понятия, структура, основы программирования и так далее.

Здесь мы постараемся разобраться с принципом работы микроконтроллеров, его отдельными блоками, периферийными устройствами, прерываниями, памятью, таймерами, портами ввода-вывода и так далее…

Возможно что по-началу все эти вышеперечисленные понятия и покажутся вам «китайской грамотой», но при детальном изучении на самом деле все это довольно просто, и мы постараемся все это наглядно пояснить.

Итак, материалы раздела:

Введение

Общие сведения о AVR микроконтроллерах
Архитектура AVR микроконтроллера
Строение и характеристики AVR микроконтроллеров
Дребезг контактов. Что это такое и как с ним бороться
Функция RESET в AVR микроконтроллерах
Что такое фьюзы AVR микроконтроллеров
Что такое протоколы в AVR микроконтроллерах
Что такое прерывания в AVR микроконтроллерах
Порты ввода-вывода AVR микроконтроллера
Отладочная плата для микроконтроллера Attiy13

Программирование AVR микроконтроллеров для начинающих

Программирование для начинающих. часть1
Программирование для начинающих. часть 2
Программирование для начинающих. часть3
Видеокурс по программированию AVR микроконтроллеров для начинающих
Простые проекты на AVR микроконтроллерах
Простые проекты на AVR микроконтроллерах. продолжение

Софт для программирования микроконтроллеров

Программа CodeVisionAVR
Программа UniProf
ISIS Proteus 7.7 SP2

Литература по микроконтроллерам

Микроконтроллеры AVR семейства Tiny и Mega фирмы ATMEL
Применение микроконтроллеров AVR
Самоучитель разработчика устройств на микроконтроллерах AVR
Микроконтроллер AVR вводный курс
Микроконтроллер это просто
Микроконтроллеры AVR для начинающих

Программирование микроконтроллеров для начинающих и не только » MIRLIB.RU

Название: Программирование микроконтроллеров для начинающих и не только
Автор: А. Белов
Издательство: НиТ
Год: 2016
Cтраниц: 352
Формат: pdf
Размер: 11 мб
Язык: русский

Вы хотите научиться разрабатывать самостоятельно интересные устройства на микроконтроллерах? Хотите легко научиться придумывать схемы и писать программы? Тогда эта книга для вас! Новейший самоучитель позволит уверенно пройти путь от уровня, получившего меткое название «чайник», до вполне готового специалиста, умеющего самостоятельно разрабатывать готовые работоспособные микроэлектронные устройства. Процесс освоения начинается с азов цифровой техники (базовые элементы цифровой логики, теория цифрового сигнала, основы Булевой Алгебры, системы исчисления и т.п.). Следуя постепенно от простого к сложному, вы изучите основы микропроцессорной техники, возможности семейства микроконтроллеров на примере AVR. Ну и, наконец, вы освоите основы схемотехники и конструирования микроэлектронных устройств. Книга позволит изучить сразу два языка программирования для микроконтроллеров (язык Ассемблера и язык СИ). Научит транслировать, отлаживать программы, прошивать их в память микроконтроллера, правильно обращаться с инструментальными программами и разными видами программаторов.

Данная книга для уменьшения ее стоимости не комплектуется CD диском, как это сделано в других изданиях. Взамен CD диска автором книги разработан и размещен в Интернете его аналог — «Виртуальный диск».
Виртуальный диск вы всегда можете найти по адресу http://book.mirmk.ru/wdisk

Скачать Белов А. — Программирование микроконтроллеров для начинающих и не только


Нашел ошибку? Есть жалоба? Жми!
Пожаловаться администрации

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Видеокурсы — Микроконтроллеры для всех

Программирование микроконтроллеров для начинающих

Курс посвящен введению в программирование микроконтроллеров.

Основное назначение данного курса — дать понимание основных принципов организации и работы микроконтроллеров и различных протоколов обмена данными.

Изучение ведется на примере программ на языке ассемблер микроконтроллеров AVR фирмы Atmel.

Кроме сведений о программировании микроконтроллеров, в курс так же включена информация о подключении электронных компонентов к микроконтроллеру и основные сведения о правилах трассировки печатных плат.

Подробнее


Программирование микроконтроллеров на языке С

Курс посвящен введению в программирование микроконтроллеров на языке С.

Курс предназначен для желающих изучить программирование микроконтроллеров с использованием языка С.

Основным преимуществом курса является очень глубокий подход к изучению фундаментальных основ языка С.

Изучение ведется на примере микроконтроллеров AVR фирмы Atmel. Полученные знания так же могут быть применены для программирования микроконтроллеров других фирм, а так же для написания программ на языке С для персональных компьютеров.

Подробнее


Создание устройств на микроконтроллерах В данном курсе рассматривается подключение к микроконтроллеру различных электронных модулей.

Основной упор сделан на глубокое понимание принципов работы электронных модулей и их взаимодействия с микроконтроллерами.

На фундаментальном уровне раскрываются такие темы как радиочастотная идентификация, TFT LCD модули, сенсорный экран, воспроизведение звука, беспроводная передача данных и другие темы.

Курс построен на использовании языка Си для микроконтроллеров AVR. Но, при желании, код может быть с легкостью перенесен и на другие микроконтроллеры.

Курс ориентирован на тех, кто имеет навык программирования микроконтроллеров на языке Си и хочет изучить приведенные в курсе темы на глубоком уровне.

Подробнее


Программирование дисплеев Nextion

Курс посвящен изучению программируемого дисплея  Nextion от компании ITEAD studio.

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

Особый упор в курсе сделан на изучении режимов работы, команд для записи скриптов и создании графического оформления проектов.

Преимуществом курса является очень подробный разбор всех возможностей дисплеев Nextion.

Подробнее

Программирование микроконтроллеров для начинающих: легко и доступно

Всё популярнее становится тема электронного конструирования. Предлагаем вашему вниманию статью, которая расскажет, что такое программирование микроконтроллеров для начинающих.

Какие микроконтроллеры существуют?

Прежде всего, необходимо обрисовать ситуацию с микроконтроллерами. Дело в том, что они выпускаются не одной фирмой, а сразу несколькими, поэтому существует довольно много различных микроконтроллеров, которые имеют разные параметры, разные особенности при использовании и различные возможности. Различаются они по скорости быстродействия, дополнительным интерфейсам и количеству выводов. Самыми популярными на всем пространстве бывшего СССР являются представители РІС и AVR. Программирование микроконтроллеров AVR и РІС не составляет труда, что и обеспечило их популярность.

Как микроконтроллеры программируются?

Программирование микроконтроллеров осуществляется, как правило, с помощью специальных приспособлений, которые называются программаторами. Программаторы могут быть или покупными или самодельными. Но при прошивке микроконтроллера с помощью самодельного программатора шанс того, что он превратится в «кирпич», довольно высокий. Есть ещё один вариант, который можно рассмотреть на примере платы «Ардуино». Плата работает на МК фирмы Atmel, и в ней осуществляется программирование микроконтроллеров AVR. В плате уже есть заранее прошитый бутлоадер и порт USB, которые позволяют безопасно прошить используемый микроконтроллер, не давая пользователю доступа к данным, что могут этот самый МК вывести из строя. Программирование микроконтроллеров для начинающих не так сложно, как может показаться, и при определённой сноровке и сообразительности избавит вас от необходимости ехать за новым механизмом.

Аппаратные различия разных микроконтроллеров

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

Языки программирования микроконтроллеров

В качестве языков программирования микроконтроллеров используется два: С/С++ и ассемблер. Каждый из них имеет свои преимущества и недостатки. Так, если говорить про ассемблер, то он даёт возможность сделать всё очень тонко и качественно, особенно важно это, когда не хватает оперативной памяти или оперативных мощностей (что, впрочем, довольно редко происходит). Но его изучение и написание программ на нём требует довольно много усилий, пунктуальности и времени. Поэтому для разработок на основе микроконтроллеров часто используют языки программирования С и С++. Они являются более понятными, по своему виду и структуре они близки человеческой речи, хотя и не представляют из себя её в полноценном понимании. Также они имеют очень хорошо проработанный функционал, который может запросто взаимодействовать с аппаратной частью, представляя, что это всего лишь элемент программы. При всех своих явных преимуществах на С и С++ создают более объемные программы, нежели на ассемблере.

Также в отдельных случаях, когда критичным является используемое оперативное пространство, можно соединить эти языки. Почти все среды разработки для С и С++ имеют возможность установки в программу ассемблерных вставок. Поэтому в случае возникновения проблемы на критическом участке можно написать ассемблерную вставку и интегрировать её в прошивку для микроконтроллера, а саму прошивку, точнее, большую её часть, написать на С или С++. Программирование микроконтроллеров на СИ является более лёгким, поэтому многие выбирают именно эти языки. Но те, кто не боится трудностей и хочет понять особенность работы аппаратуры, могут попробовать свои силы и с ассемблером.

Напутствие

Если появилось желание поэкспериментировать с микроконтроллерами, это прекрасно. Можно только посоветовать запастись терпением и настойчивостью, и тогда любые цели, поставленные перед изобретателем, окажутся осуществимыми. Программирование микроконтроллеров для начинающих и для опытных людей выглядит по-разному: что для начинающих сложно, то для опытных — рутина. Главное — помнить, что всё, что не противоречит законам физики, является осуществимым и решаемым.

Про микроконтроллеры для начинающих — история создания, основные виды и различия. Разница между микропроцессором и микроконтроллером В чем заключается отличия микропроцессоров удешевленных версий

Удивительно, как небольшая часть технологии изменила лицо персональных компьютеров. С первого коммерческого микропроцессора (4-бит 4004), который был разработан Intel в 1971 году для более продвинутого и универсального 64-битного Itanium 2, микропроцессорная технология перешла в совершенно новую сферу архитектуры следующего поколения. Достижения в области микропроцессорной техники сделали персональные вычисления более быстрыми и надежными, чем когда-либо прежде. Если микропроцессор является сердцем компьютерной системы, микроконтроллер — это мозг. Как микропроцессор, так и микроконтроллер часто используются в синонимах друг друга из-за того, что они имеют общие функции и специально разработаны для приложений реального времени. Однако у них есть и их доля различий.

Что такое микропроцессор?

Микропроцессор — это интегрированный чип на основе кремния, имеющий только центральный процессор. Это сердце компьютерной системы, которая предназначена для выполнения множества задач, связанных с данными. Микропроцессоры не имеют RAM, ROM, IO контактов, таймеров и других периферийных устройств на чипе. Они должны быть добавлены извне, чтобы сделать их функциональными. Он состоит из ALU, который обрабатывает все арифметические и логические операции; блок управления, который управляет и управляет потоком инструкций по всей системе; и Register Array, который хранит данные из памяти для быстрого доступа. Они предназначены для приложений общего назначения, таких как логические операции в компьютерной системе. Проще говоря, это полностью функциональный процессор на единой интегральной схеме, который используется компьютерной системой для выполнения своей работы.

Что такое микроконтроллер?

Микроконтроллер похож на мини-компьютер с процессором, а также RAM, ROM, последовательные порты, таймеры и периферийные устройства ввода-вывода, встроенные в один чип. Он предназначен для выполнения конкретных задач, требующих определенной степени контроля, таких как пульт телевизора, светодиодная панель дисплея, интеллектуальные часы, транспортные средства, управление светофором, контроль температуры и т. Д. Это высококачественное устройство с микропроцессор, память и порты ввода / вывода на одном чипе. Это мозги компьютерной системы, которые содержат достаточно схем для выполнения определенных функций без внешней памяти. Поскольку в нем отсутствуют внешние компоненты, потребляемая мощность меньше, что делает его идеальным для устройств, работающих на батареях. Простой разговор, микроконтроллер — это полная компьютерная система с меньшим внешним оборудованием.

Разница между микропроцессором и микроконтроллером

1) Технология, используемая в микропроцессоре и микроконтроллере

Микропроцессор — это программируемый многоцелевой кремниевый чип, который является наиболее важным компонентом в компьютерной системе. Это, как сердце компьютерной системы, состоящее из ALU (Арифметической логической единицы), блока управления, декодеров команд и массива регистров. Микроконтроллер, с другой стороны, является сердцем встроенной системы, которая является побочным продуктом микропроцессорной технологии.

2) Архитектура микропроцессора и микроконтроллера

Микропроцессор — это просто интегральная схема без ОЗУ, ПЗУ или контактов ввода / вывода. В основном это относится к центральному процессору компьютерной системы, который извлекает, интерпретирует и выполняет команды, переданные ему. Он включает функции ЦП в единую интегральную схему. Микроконтроллеры, с другой стороны, являются более мощными устройствами, которые содержат схему микропроцессора и имеют ОЗУ, IO и процессор в одном чипе.

3) Работа микропроцессора и микроконтроллера

Для микропроцессора требуется внешняя шина для подключения к периферийным устройствам, таким как RAM, ROM, Analog и Digital IO, а также последовательные порты. ALU выполняет все арифметические и логические операции, поступающие с устройств памяти или ввода, и выполняет результаты на выходных устройствах. Микроконтроллер представляет собой небольшое устройство со всеми периферийными устройствами, встроенными в один чип, и предназначен для выполнения определенных задач, таких как выполнение программ для управления другими устройствами.

4) Память данных в микропроцессоре и микроконтроллере

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

5) Хранение в микропроцессоре и микроконтроллере

Микропроцессоры основаны на архитектуре фон Неймана (также известной как модель фон Неймана и архитектура Принстона), в которой блок управления получает команды, назначая управляющие сигналы аппаратным средствам и декодирует их. Идея состоит в том, чтобы хранить инструкции в памяти вместе с данными, на которых действуют инструкции. Микроконтроллеры, с другой стороны, основаны на архитектуре Гарварда, где инструкции и данные программы хранятся отдельно.

6) Приложения микропроцессора и микроконтроллера

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

Микропроцессор против микроконтроллера: сравнительная таблица

Резюме микропроцессора и микроконтроллера

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

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

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

Это как маленький компьютер на одной микросхеме. Он содержит ядро процессора, ПЗУ, ОЗУ и порты ввода/вывода, которые отвечают за выполнение различных задач. Микроконтроллеры обычно используются в проектах и приложениях, которые требуют прямого управления пользователя. Так как он имеет все компоненты, необходимые в одном чипе, он не нуждается в каких-либо внешних цепей, чтобы сделать свою задачу, так микроконтроллеры часто используются во встраиваемых системах и основные микроконтроллеры производства компании делают их применение на рынке встраиваемых решений. Микроконтроллер можно назвать сердцем встроенных систем. Некоторые примеры популярных микроконтроллеров: 8051, АВР, серия pic.

Выше архитектуры 8051 микроконтроллера. И вы можете видеть все необходимые компоненты для небольшого проекта присутствуют в одном чипе.

Микропроцессор имеет только процессор внутри них в одной или нескольких интегральных схем. Как и микроконтроллеры не имеют оперативной памяти, ROM и другие периферийные устройства. Они зависят от внешних цепей периферийных устройств к работе. Но микропроцессоры делаются не для конкретной задачи, а они необходимы там, где задачи являются сложными и хитрыми, как Разработка программного обеспечения, игр и других приложений, требующих большого объема памяти и где вход и выход не определены. Его можно назвать сердцем компьютерной системы. Некоторые примеры являются микропроцессор Pentium, i3, и i5, и т. д.

Из этого образа архитектуры микропроцессоров можно легко увидеть, что это есть регистры и АЛУ в качестве устройства обработки и не имеет оперативной памяти, ПЗУ в нем.

Итак, в чем разница между микропроцессором и микроконтроллером?

1. Ключевым отличием в них является наличие внешнего периферийного устройства, в микроконтроллерах ОЗУ, ПЗУ, ЭСППЗУ встроенные в него, в случае микропроцессоров мы должны использовать внешние цепи.

2. Вся периферийного микроконтроллера собрана на одном кристалле она компактна, в то время как микропроцессор является громоздким.

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

4. Скорость обработки данных микроконтроллеров составляет около 8 МГц до 50 МГц, но в отличие от скорости обработки из микропроцессоров выше 1 ГГц, поэтому они работают намного быстрее, чем микроконтроллеры.

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

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

7. Задачи, выполняемые микроконтроллером ограничены и, как правило, менее сложные. Хотя задачи, выполняемые микропроцессорами являются: Разработка программного обеспечения, разработка игр, сайтов, оформление документов и т. д. которые, как правило, более сложные, поэтому требуют больше памяти и скорости, поэтому внешнее ПЗУ, ОЗУ используются с ним.

8. Микроконтроллеры основаны на Гарвардской архитектуре памяти программ и памяти данных, где находятся отдельные микропроцессоры, а основаны на фон Неймановской модели, где программы и данные хранятся в одной памяти модуля.

Когда вы приступаете к изучению микропроцессоров и микроконтроллеров, то первый вопрос, который может у вас возникнуть это «эй…а в чем же между ними разница?». В этой статье будут приведены основные сходства и различия между микроконтроллерами и микропроцессорами. По сути, это будет простое сравнение обоих микровычислительных устройств.

Основное назначение микропроцессоров и микроконтроллеров заключается в выполнении определенных операций — выборки инструкций (или команд) из памяти, выполнении этих инструкций (выполнение арифметических, логических операций) и выдачи результата на устройства вывода. Оба устройства способны непрерывно выбирать команды из памяти и продолжать выполнение этих команд тех пор, пока не будет отключено питание. Команды представляют собой набор битов. Эти команды всегда извлекаются из области хранения, называемой памятью. Теперь давайте взглянем на блок-схемы микропроцессорной системы и микроконтроллерной системы.

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

На этой блок-схеме представлена микроконтроллерная система. Итак, какое основное отличие мы видим? Все вспомогательные устройства, такие как ПЗУ, ОЗУ, последовательный интерфейс, порты ввода/вывода, являются внутренними. В данном случае нет необходимости сопряжения этих устройств, такой подход может сэкономить много времени для разработчиков систем. То есть, микроконтроллер ни что иное, как микропроцессорная система со всеми вспомогательными устройствами внутри одной микросхемы. Здесь не требуется какого-либо обязательного внешнего взаимодействия, если только не нужно работать с внешней памятью, модулями АЦП/ЦАП и прочими подобными устройствами. Для обеспечения работы микроконтроллера нужно только подвести к нему питающее напряжение постоянного тока, подключить цепь сброса и при необходимости кварцевый генератор для тактирования.

Итак, теперь нам ясны базовые различия между микроконтроллерами и микропроцессорами. Сейчас давайте сравним некоторые особенности обеих систем.

Сравнение

Как вы уже знаете, вспомогательные устройства в микропроцессорной системе являются внешними, а в микроконтроллерной — внутренними. В микроконтроллерах обеспечивается защита программного кода, в то время как в микропроцессорной системе не предлагается системы защиты. То есть, в микроконтроллерах можно «заблокировать» внутреннюю память программ для предотвращения ее считывания с помощью внешней схемы. Хорошо, но это только основные различия, в процессе работы с этими устройствами вы обнаружите больше. Так, например, поскольку в микропроцессорной системе требуется внешнее взаимодействие с вспомогательными устройствами, то время на создание схемы будет затрачено больше, размер устройства будет больше, а также возрастет энергопотребление по сравнению с микроконтроллерной системой.

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

И микропроцессор и микроконтроллер предназначены для выполнения некоторых операций — они извлекают команды из памяти и выполняют эти инструкции (представляющие собой арифметические или логические операции) и результат используется для обслуживания выходных устройств. И микроконтроллер и микропроцессор способны непрерывно производить выборку команд из памяти и выполнять эти инструкции, пока на устройство подается питание. Инструкции представляют из себя наборы битов. Эти инструкции всегда извлекаются из места их хранения, которое называется памятью.

Что такое микропроцессор

Микропроцессор (в ангоязычной литературе MPU — Micro Processor Unit) содержит функционал компьютерного центрального процессора, или ЦП (CPU — Central Processing Unit) на одном полупроводниковом кристалле (ИМС — интегральная микросхема или на западный манер — Integrated Circuit).

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

Микропроцессор обрабатывает данные, поступающие с входных периферийных устройств и передает обработанные данные на выходные периферийные устройства.

Существует четыре основных типа процессоров, различающихся своей архитектурой.

Микропроцессоры с полным набором команд (Complex Instruction Set Computer, CISC -архитектура). Характеризуются нефиксированным значением длины команды, кодированием арифметических действий одной командой, небольшим числом регистров, выполняющих строго определённые функции. Примером такого типа процессоров служит семейство x86.

Микропроцессоры с сокращенным набором команд (Reduced Instruction Set Computer, RISC -архитектура). Обладают, как правило, повышенным быстродействием за счёт упрощения инструкций, что позволяет упростить процесс декодирования и, соответственно, сократить время их выполнения. Большинство графических процессоров разрабатываются, используя этот тип архитектуры.

Микропроцессоры с минимальным набором команд (Minimal Instruction Set Computer, MISC -архитектура). В отличие от RISC-архитектуры, в них используются длинные командные слова, что позволяет выполнять достаточно сложные действия за один цикл работы устройства. Формирование длинных «командных слов» стало возможным благодаря увеличению разрядности микропроцессорных устройств.

В суперскалярных процессорах (Superscalar Processors ) используются несколько декодеров команд , которые загружают работой множество исполнительных блоков . Планирование исполнения потока команд происходит динамически и осуществляется самим вычислительным ядром. Примером процессора с таким типом архитектуры является, например Cortex A8.

Отдельно хочу выделить микропроцессоры специального назначения (ASIC — Application S pecific I ntegrated C ircuit). Как следует из названия, предназначены для решения конкретной задачи. В отличие от микропроцессоров общего назначения, применяются в конкретном устройстве и выполняют определенные функции, характерные только для данного устройства. Специализация на выполнении узкого класса функций приводит к увеличению скорости работы устройства и, как правило, позволяет снизить стоимость такой интегральной схемы. Примерами таких микропроцессоров может быть микросхема, разработанная исключительно для управления мобильным телефоном , микросхемы аппаратного кодирования и декодирования аудио- и видеосигналов — так называемые цифровые сигнальные процессоры (Digital Signal Processing, DSP multiprocessors). Могут быть реализованы в виде ПЛИС (программируемая логическая интегральная схема). При разработке таких процессоров для описания их функциональности используют языки описания аппаратных устройств (HDL — Hardware D escription L anguage) , такие как Verilog и VHDL .

Системы на основе микропроцессоров строят примерно следующим образом.

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

Теперь, давайте, рассмотрим микроконтроллер.

Что такое микроконтроллер

Ниже представлена блок-схема микроконтроллера. Какого же его основное отличие от микропроцессора? Все опорные устройства, такие как постоянное запоминающее устройство, оперативная память, таймер, последовательный интерфейс, порты ввода/вывода являются встроенными. Поэтому не возникает необходимости создавать интерфейсы с этими вспомогательными устройствами, и это экономит много времени для разработчика системы.

Микроконтроллер не что иное, как микропроцессорная система со всеми опорными устройствами, интегрированными в одном чипе. Если вы хотите создать устройство, взаимодействующее с внешней памятью или блоком ЦАП/АЦП, вам нужно только подключить соответствующий источник питания постоянного напряжения, цепь сброса и кристалл кварца (источник тактовой частоты). Их просто проблематично интегрировать в полупроводниковый кристалл.

Ядро микроконтроллера (центральный процессор), как правило строится на основе RISC-архитектуры.

Программа, записанная в память микроконтроллера может быть защищена от возможности ее последующего чтения/записи, что обеспечивает защиту от ее несанкционированного использования.

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

Микропроцессор Микроконтроллер
Использование Компьютерные системы Встраиваемые системы
Устройство Содержит центральный процессор, регистры общего назначения, указатели стека, счетчики программы, таймер и цепи прерываний Cодержит схему микропроцессора и имеет встроенные ПЗУ, ОЗУ, устройства ввода/вывода, таймеры и счетчики.
Память данных Имеет много инструкций для перемещения данных между памятью и процессором. Имеет одну-две инструкции для перемещения данных между памятью и процессором.
Электрические цепи Высокая сложность Достаточно простые
Затраты Стоимость всей системы увеличивается Низкая стоимость системы
Число регистров Имеет меньшее количество регистров, операции в основном производятся в памяти. Имеет большее число регистров, поэтому проще писать программы
Запоминающее устройство Основано на архитектуре фон Неймана. Программа и данные хранятся в том же модуле памяти. Основано на Гарвардской архитектуре. Программы и данные хранятся в разных модулях памяти.
Время доступа Время доступа к памяти и устройствам ввода/вывода больше. Меньшее время доступа для встроенной памяти и устройств ввода/вывода.
Железо Требует большее количество аппаратного обеспечения. Требует меньшее количество аппаратного обеспечения.

В составе многих современных цифровых устройств есть микроконтроллер и микропроцессор. Что представляют собой данные электронные компоненты?

Что такое микроконтроллер?

Под микроконтроллером понимается электронный компонент, содержащий в себе основные аппаратные модули, необходимые для выполнения им своих функций. Такие как, например:

  • вычислительный чип;
  • модуль ПЗУ;
  • модуль ОЗУ;
  • таймер;
  • мосты;
  • регулятор напряжения;
  • порты ввода и вывода.

Таким образом, все соответствующие компоненты являются встроенными. Микроконтроллер, если он устанавливается в компьютере, чаще всего взаимодействует с другими аппаратными модулями ПК (например, жестким диском или оперативной памятью) напрямую и не применяет без особой надобности модули в ПК, аналогичные по назначению тем, что встроены в девайс.

Так, благодаря встроенному модулю, отвечающему за управление напряжением, микроконтроллер не требует адаптации внешнего напряжения к особенностям питания внутренних компонентов и в общем случае не использует внешних компонентов контроля над уровнем напряжения.

Микроконтроллеры, как правило, отвечают за какую-либо часть вычислительных операций. Например, если они стоят на ПК, это может быть чтение и запись данных, включение и выключение устройств, подключенных к ПК. Поэтому их производительность относительно невысока.

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

Что такое микропроцессор?

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

Микропроцессоры, как правило, не укомплектованы большим количеством дополнительных компонентов (как микроконтроллеры) и используют преимущественно внешние устройства в целях выполнения своих функций. Это могут быть модули ОЗУ, регуляторы напряжения или отдельные источники питания, порты ввода и вывода. В принципе, данные компоненты те же по назначению, что и в случае с контроллерами, но внешние. Однако, как и сам вычислительный чип микропроцессора, в большинстве случаев более производительные, чем те, что стоят в микроконтроллере.

Внутренних модулей у процессора немного. Как правило, современные модели электронных компонентов рассматриваемого типа содержат микросхему ОЗУ — из тех типов компонентов, что характерны для конструкции микроконтроллера. ПЗУ, регулятор напряжения, порты в структуре микропроцессора обычно отсутствуют.

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

Сравнение

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

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

Определив, в чем разница между микроконтроллером и микропроцессором, зафиксируем выводы в таблице.

Таблица

Микроконтроллер Микропроцессор
Что общего между ними?
Вычислительный чип, который входит в состав микроконтроллера, может выполнять функции, схожие с теми, что характерны для микропроцессора
В чем разница между ними?
Использует для выполнения функций главным образом встроенные аппаратные модули Применяет в основном внешние аппаратные модули
Имеет относительно невысокую производительность, отвечает, как правило, за часть вычислительных операций устройства, в котором установлен Характеризуется высокой производительностью и потому в устройстве, в котором установлен, нередко является главной микросхемой
Часто выступает более выгодной альтернативой процессору (если от микроконтроллера не требуется высокой производительности), но, в принципе, может быть им заменен Считается более производительной альтернативой контроллеру, но, как правило, не может быть им заменен при выполнении своих функций — поскольку производительности второго может оказаться недостаточно

Руководство по микроконтроллерам для новичков: 10 шагов (с изображениями)

Слишком много микроконтроллеров, чтобы охватить их в одном руководстве. Если у вас есть особые потребности, возможно, для этого есть микроконтроллер (как и приложения!). Чтобы получить представление о некоторых других платах, не упомянутых в этом руководстве, просмотрите инвентарь SparkFun Electronics и Adafruit Industries и / или спросите людей в этой области!

Вот несколько моих любимых:

Particle Photon

Подобно Arduino Nano, Photon представляет собой микроконтроллер с подключением к Wi-Fi, который можно программировать по беспроводной сети.Самая простая установка использует (бесплатное) приложение для смартфона, но его также можно запрограммировать напрямую через USB на почти том же языке, что и Arduino *.

Рекомендуемый возраст : 12+ (или дети удобны со схемами и кодированием)

Сложность : средний

Стоимость : ~ 20 долларов

Для получения дополнительной информации и настройки Photon посетите веб-сайт Particle хранить здесь.

Язык программирования: Подключение (более или менее)

Пример проекта

Промышленные масштабы IoT

* Подключение — это структура кода, поэтому большая часть кода Arduino будет работать без изменений.Может также писать на C / C ++ или сборке ARM.

Adafruit HUZZAH ESP8266 Breakout

Супер маленький, супер дешевый (и в настоящее время очень популярный в сообществе IoT *) микроконтроллер WiFi. Вам понадобится FTDI или консольный кабель. Вы можете использовать Arduino IDE для программирования этой платы или интерпретатора Lua от NodeMCU.

Рекомендуемый возраст : 14+ (или дети, удобные с аппаратным и программным обеспечением)

Сложность : Средний ++

Стоимость : ~ 10 долларов США

Для получения дополнительной информации посетите страницу продукта HUZZAH Adafruit.

(SparkFun также имеет аналогичную плату, «ESP8266 Thing», которую вы можете найти здесь примерно за 15 долларов.)

Язык программирования : Lua (вроде как Python) или Wiring (Arduino IDE)

* IoT расшифровывается как «Интернет вещей», который относится к подключению к Интернету различных аппаратных устройств, таких как датчики и бытовая электроника, и управления ими.

Adafruit Trinket M0

Крошечный, но мощный микроконтроллер, стирающий границы между компьютером и микроконтроллером (в нем 32-битный процессор Cortex M0 ATSAMD21E18).Его можно запрограммировать с помощью Circuit Python или в среде Arudino IDE.

Рекомендуемый возраст : 14+ (или дети, удобные с аппаратным и программным обеспечением)

Сложность : средний

Стоимость : ~

долларов США

Для получения дополнительной информации посетите страницу продукта Adafruit для Trinket M0.

Язык программирования : CircuitPython или Wiring (Arduino IDE)

Существует ТОННА других плат M0, аналогичных по объему подключаемым микроконтроллерам Arduino Zero.Если это не соответствует вашим потребностям или вашей фантазии, поищите на сайтах Adafruit и SparkFun!

А лучший микроконтроллер для начинающих — это…

% {[data-embed-type = «image» data-embed-id = «5df275f0f6d5f267ee21146d» data-embed-element = «aside» data-embed-align = » left «data-embed-alt =» Electronicdesign Com Sites Electronicdesign com Загрузка файлов 2016 07 28 Boardtesting «data-embed-src =» https://img.electronicdesign.com/files/base/ebm/electronicdesign/image/2016/ 08 / electronicdesign_com_sites_electronicdesign.com_files_uploads_2016_07_28_boardtesting.png? auto = format & fit = max & w = 1440 «data-embed-caption =» «]}% Изображение предоставлено Thinkstock

Во-первых, спасибо всем, кто ответил на мой предыдущий блог «Как выбрать лучший микроконтроллер». Приятно получить такой отзыв от экспертов по этому вопросу. Хотя ответы были широкими, существует своего рода консенсус.

В неофициальной, ненаучной таблице ваших ответов я пришел к выводу, что платформа Arduino с Atmel ATmega328p выиграла конкурс.Большинство согласны с тем, что Arduino — отличная отправная точка для новичков, а контроллер Atmel является типичным и представителем современных микросхем.

На втором месте оказались устройства PIC от Microchip. Они дешевы, просты и имеют много программного и аппаратного обеспечения. Были рекомендованы разные модели. Кстати, если вы не знали, Atmel принадлежит Microchip.

На третьем месте, что меня удивило, MPS430 от Texas Instruments. Я слышал об этом, но не исследовал его как чип для новичков.Планирую посмотреть. Доступны ли они физическим лицам?

Четвертое место занимает ARM. Я отказался от этой линейки процессоров, но их использование широко распространено и растет. Он сложнее типичных 8-битных устройств, но заслуживает второго взгляда.

Еще одна неожиданная рекомендация — это PSOC Cypress Semiconductor. Он получил много похвал за простоту использования и поддержки. Еще один для расследования.

Было несколько голосов за некоторые устройства NXP и STM. Я даже получил рекомендацию по 6502.Помните это? Раньше я использовал его в нескольких проектах — отличный, простой и способный процессор. Разве это не то, что использовали Apple I и II? Было также много памятных упоминаний о 8051, но все согласились, что он слишком устарел для большинства новых разработок.

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

Недавно я купил Arduino Uno. Цена подходящая, и есть немало книг и веб-материалов, подтверждающих ее. К сожалению, я еще не заставил это работать; Я не могу заставить работать бесплатное программное обеспечение с сайта Arduino. Похоже, это проблема с «драйвером». Это просто обескураживающее событие, отпугивающее начинающих учиться. Я подозреваю, что в конечном итоге решу эту проблему, но пока ни одна из многих полученных мною ссылок не оказалась полезной. Может, это только я.Есть предположения?

Что касается программирования, то рекомендации были единообразными для языка Си. Ассемблер получил несколько голосов, но C является языком программирования для встраиваемых контроллеров. БЕЙСИК был отвергнут всеми. Журнал IEEE Spectrum недавно составил рейтинг языков программирования. Номер один был C, на втором месте — Java, а на третьем — Python. Arduino и Assembler заняли 12-е и 13-е места, в то время как BASIC в форме Visual Basic занял 18-е место. Похоже, мне лучше начать изучать C.

Я очень признателен за отзывы всех вас, ребята, у кого есть опыт. Еще раз спасибо.

% {[data-embed-type = «image» data-embed-id = «5df275eef6d5f267ee210836» data-embed-element = «aside» data-embed-alt = «Electronicdesign Com Sites Electronicdesign com Загрузка файлов 2016 07 14 Источник Esb Баннер Lookin For Parts «data-embed-src =» https://img.electronicdesign.com/files/base/ebm/electronicdesign/image/2016/05/electronicdesign_com_sites_electronicdesign.com_files_uploads_2016_07_14_SourceESB_Look_in_For.png? auto = format & fit = max & w = 1440 «data-embed-caption =» «]}%

6 лучших плат микроконтроллеров для всех уровней

Микроконтроллеры в основном имеют похожий дизайн. Они имеют ограниченную встроенную память, работают с низким энергопотреблением и оснащены набором контактов ввода-вывода общего назначения (GPIO), которые обычно программируются через USB-кабель.

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

Независимо от того, на каком уровне вы находитесь, один из этих микроконтроллеров должен хорошо работать для вас.

1.Лучший микроконтроллер для начинающих Arduino Uno R3

Если вас интересуют микроконтроллеры, вы почти наверняка слышали об Arduino.Они популяризировали хобби-оборудование с открытым исходным кодом с помощью своего набора плат для разработки и независимой среды разработки (IDE) для их кодирования.

Arduino Uno R3 — это стандартный Arduino, который можно найти в большинстве стартовых комплектов, и его проще всего использовать.Если бюджет является проблемой, обратите внимание, что Arduino — это оборудование с открытым исходным кодом. Таким образом, копии дизайна являются полностью законными. Если вы ищете клоны Arduino, вы найдете их по гораздо более низкой цене, чем официальные платы Arduino.

Погодите, это не похоже на плату микроконтроллера!

Что ж, у mBot Robot Kit в качестве мозга используется микроконтроллер.Благодаря своей конструкции он идеально подходит для обучения детей робототехнике без необходимости работать со сложным кодом. Код визуального блока, собранный в приложении Blocky, передается на плату через Bluetooth, чтобы повлиять на поведение робота.

Вы можете купить микроконтроллер отдельно от комплекта робота, но зачем вам это? Роботы самые лучшие!

Этот комплект охватывает все, от создания роботов до основных основ программирования.Нет ничего лучше для знакомства с микроконтроллерами молодой аудитории!

Плата STM32 F3 Discovery — это микроконтроллер на базе ARM Cortex-M4, предназначенный для экспериментов со всеми аспектами программирования оборудования.Плата оснащена встроенным датчиком движения, трехосным гироскопом, датчиком линейного ускорения и датчиком магнитного поля.

Также имеется восемь светодиодов, расположенных по кругу.Обратите внимание, что для этой платы требуется отдельный адаптер FTDI для связи с компьютерами через USB. Если вы не уверены, что это такое, то один из них был использован в нашем руководстве по сборке вашего собственного Arduino для связи с чипом ATMega328P.

Обучение программированию F3 Discovery — более глубокий процесс, чем у многих других микроконтроллеров.К счастью, существуют библиотеки, которые делают процесс более доступным, и многие учебники начинаются с основ. Помимо использования языка программирования C ++, доска является предметом книги «Открытие»; руководство по началу работы по внедрению языка программирования Rust.

4.Лучший микроконтроллер для носимых устройств — Adafruit Gemma M0

Благодаря микроконтроллерам, сочетающим расширенное управление светодиодами и другими компонентами с небольшими форм-факторами и низким энергопотреблением, неудивительно, что они используются в дизайне костюмов и косплея.Плата Gemma M0 от Adafruit представляет собой микроконтроллер размером с монету, идеально подходящий для подключения к светодиодам или другим компонентам с помощью токопроводящей нити. В качестве альтернативы вы можете использовать встроенный светодиод RGB DotStar.

Микросхема ATSAMD21E18 (попробуйте сказать, что торопитесь) является шагом вперед по сравнению с обычными бортовыми контроллерами для микроконтроллеров этого типа.Хотя вы можете использовать стандартный тип Arduino C ++, на плате предустановлен CircuitPython для программирования на Python и имеется собственное USB-соединение, которого обычно не хватает на других платах этого типа.

5.Лучший микроконтроллер для PowerTeensy 3.2

Для чистой мощности в крошечном форм-факторе Teensy 3.2 линия по праву считается лучшей в мире. 32-битный микропроцессор ARM Cortex работает кольцами почти на всех остальных платах. Помимо скорости, Teensy имеет интеграцию звука I2C и несколько высококачественных аналого-цифровых преобразователей (АЦП).

Каждый вывод на Teensy настраивается как прерывание, а платы работают с 64 КБ ОЗУ вместе с 256 КБ флэш-памяти.Все это совместимо с Arduino IDE с использованием библиотеки Teensyduino, и если 28 контактов Teensy 3.2 вам недостаточно, 48-контактные Teensy 3.5 и 3.6 доступны на веб-сайте PJRC.

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

Хорошим примером платы прямо на границе между потребителем и промышленностью является плата разработки Mbed LPC1768.Эта плата — скачок качества и инструментов, и цена это отражает. Mbed предоставляет онлайн-среду IDE для оборудования и библиотеки для выполнения задач с контактами GPIO и встроенными светодиодами.

Этот значительный скачок в цене также отражает разницу в вариантах использования.Такие платы, как LPC1768, находят применение в стандартных отраслевых ситуациях, и использование платы для расширения ваших знаний может стать важной частью изучения встроенного программирования.

Маленькие доски, большие планы

Этот список должен помочь вам принять обоснованное решение о том, какой микроконтроллер вам подходит.Однако он ни в коем случае не является исчерпывающим и пропускает замечательные платы, такие как Arduino, убивающая NodeMCU.

Какую бы плату вы ни выбрали, микроконтроллеры — идеальный способ сочетать электронику и кодирование.Любой из этих проектов для начинающих Arduino поможет вам разобраться в обоих!

Кредит изображения: Ha4ipiri / Depositphotos

Надеемся, вам понравятся предметы, которые мы рекомендуем и обсуждаем! MUO имеет аффилированное лицо и спонсируемые партнерства, поэтому мы получаем долю дохода от некоторых ваших покупок.Этот не повлияет на цену, которую вы платите, и поможет нам предложить лучшие рекомендации по продуктам.

Хотите создавать игры, одновременно обучаясь программированию? Вот что вам нужно

Если вы мечтаете научиться программировать, методы, используемые в этих курсах, сделают ваше занятие веселым.

Читать далее

Об авторе Ян Бакли (Опубликовано 212 статей)

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

Более От Яна Бакли
Подпишитесь на нашу рассылку новостей

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.

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

— Введение — Руководство для начинающих по Atmel AVR Atmega32

Микроконтроллер — Руководство для начинающих — Введение

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

Что касается микроконтроллеров в целом, хорошо знать, что эти маленькие микросхемы нашел везде. Вы можете найти их в микроволновых печах, новых устройствах, автомобилях, телевизоры и т. д. Эти микроконтроллеры управляют и воспринимают окружающую электронику. и окружающая среда.Например, микроконтроллеры могут выводить данные на дисплей, двигатель, светодиоды и т. д., считывающие окружающую среду, например, наклон с помощью акселерометра, свет, угловая скорость с помощью гироскопа MEMS (Microelectromechanical System), звук, энкодеры движения, температуры и ввод с клавиатуры или кнопки.

Чтобы дать вам общее представление о микроконтроллере, микроконтроллер AVR Atmega32 считается компьютером на микросхеме.Микроконтроллер умеет выполнять набор инструкций в виде программы. Язык программы, который я буду в этих проектах используется C ++. Чтобы предоставить пользователям этого сайта лучшую возможность Чтобы узнать, программы C ++ будут объяснены очень подробно.

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

На левой стороне микросхемы, если смотреть на нее, образуются вершина и маленький треугольник. находится вверху слева, 20 контактов (это 40-контактный микроконтроллер). Первое начиная с верхнего левого угла — контакты PB0-7. Это всего 8 контактов, так как индекс этих контактов и почти все в программе начинается с индекса 0.Этот набор контактов называется «Порт B», а еще 3 порта помечены от A до D. Эти порты могут быть настроены для приема информации и называются INPUT и они могут быть настроены на отправку напряжения в некоторой форме, называемой ВЫХОДНЫМ. Общие выводы питания чтобы получить питание для чипа, называемого VCC и GND. Все, кроме одного контакта порта D (PD0-6) также находится на левой стороне (нижняя часть). PD7 (контакт 7 порта D) в одиночку запускает правую часть микроконтроллера.

Продолжая движение по правой стороне и в конце порта D, порт C продолжался от нижний угол вверх. С этого момента, пусть любимые контакты продолжатся, от аналогового к цифровому булавки. Эти штыри могут определять окружающую среду с помощью компонентов. которые подают на эти контакты аналоговое напряжение. Не беспокойтесь о непонимании аналоговый или даже цифровой на этом этапе, это будет объяснено более подробно позже. Эти выводы аналогово-цифрового преобразователя составляют порт A.

Одним из примеров использования аналогового преобразования в цифровую форму может быть, скажем, зондирование температура. Вы можете подключить компонент, преобразующий температуру в уровень напряжения, называемого термистором, на один из контактов порта A и микроконтроллер преобразует это напряжение в число от 0 до 255 (8-битное число — более высокое разрешение возможно при 10 битах). Программа, которая написана и хранится в микроконтроллере. можно использовать эту температуру и реагировать определенным образом.Например, если у вас есть термистор против кипящего котла, микроконтроллер может реагировать и обеспечивать выход на другой контакт, который издает звуковой сигнал или мигает светом.

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

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

Как выбрать микроконтроллер (для начинающих)

Много месяцев назад, когда я был в отпуске, я побеседовал с фантастическими людьми, стоящими за SnapEDA, о моих очень самоуверенных мыслях о том, как выбрать микроконтроллер (в сторону: если вы разработчик оборудования, и вы никогда не использовали SnapEDA — зарегистрируйтесь бесплатно и наблюдайте, как ваша жизнь мгновенно становится проще).Они кратко написали об этих мыслях в своем посте «Топ-10 микроконтроллеров».

Вот и прошло примерно 6 месяцев, и я подумал, что было бы неплохо еще раз посетить некоторые из этих мнений. Я только что выбрал несколько новых микроконтроллеров для некоторых проектов, поэтому недавно снова прошел через эти решения.

При выборе микроконтроллера следует учитывать множество факторов, но проблема в том, что их обычно слишком много, и легко попасть в ситуацию «аналитического паралича».

Ниже приведены некоторые соображения по дизайну при выборе MCU, но вы заметите, что я полностью отклоняю некоторые из них.

Предостережения

Чтобы предупредить обо всем заранее … Все, о чем я говорю, связано со стандартной игрой IoT / Wearables — в каждой отрасли есть свои собственные требования, которые иногда выходят за рамки, но я собираюсь обобщить. Например, многое из того, что я собираюсь упомянуть, может быть перевернуто с ног на голову в аэрокосмической или военной сфере (на самом деле, это последнее утверждение на 100% верно) — но я просто сосредотачиваюсь на том, на что трачу больше моего времени.

Кроме того, я не зря назвал этот пост «Как выбрать микроконтроллер (для начинающих) ». Если вы знаете, что делаете, вы поймете, что есть гораздо больше нюансов, о которых нужно подумать, когда вам нужно выбрать электростанцию ​​для вашего дизайна … Но я бы сказал, что 80% типичных дизайнов можно выбрать, как я Обсудили ниже, и все будет хорошо.

РЕДАКТИРОВАТЬ: Судя по некоторым комментариям на этой странице и на HackerNews, кажется, что мое использование слова «для начинающих» было немного переоцененным.

Смысл того, что я имел в виду, был похож на людей, которые немного раньше работали с оборудованием и микроконтроллерами (возможно, даже в школе) и, возможно, думали о том, чтобы выложить свою первую плату — или уйти от мир Arduino. Хорошим примером могут быть молодые стартапы, а также разработчики оборудования / прошивки младшего / среднего уровня.

Если вы никогда не слышали о некоторых из этих сокращений (UART / SPI / I2C) — тогда это будет непросто. В этом случае я бы порекомендовал начать с Arduino и прекратить работу (мои фавориты — платы Teensy).Существует невероятное сообщество и почти безграничное количество ресурсов, которые помогут вам начать работу.

Если вам нужна операционная система (Linux), используйте Raspberry Pi по тем же причинам, что и Arduino.

Хотя ради:

  • MCU: Microcontroller Unit — Тема поста.
  • BOM: Bill of Materials — список компонентов / сборок (и количества), которые вам понадобятся для создания продукта.
  • UART: универсальный асинхронный приемник / передатчик
    • Низкоскоростной двухточечный последовательный интерфейс (обычно), используемый для связи между компонентами (например,грамм. MCU к модемам, модулям GPS, Bluetooth) или для обеспечения внешней связи (например, MCU с компьютером через последовательный порт)
  • SPI: последовательный периферийный интерфейс
    • Высокоскоростная последовательная шина (обычно), используемая для осуществлять связь на малых расстояниях (внутри платы) между микроконтроллерами и периферийными устройствами (например, акселерометром). Выделенная линия выбора микросхемы используется для выбора конкретного периферийного устройства для связи с MCU.
  • I2C: Межинтегральная схема — (обычно) среднескоростная шина с несколькими ведущими периферийными устройствами, используемая для связи на малых расстояниях (внутри платы).Адреса устройств используются для связи с периферийным устройством.
  • BLE: Bluetooth Low Energy — стандарт беспроводной связи, предназначенный для двухточечной связи между центральным (например, телефоном) и периферийным устройством (например, пульсометром). Я не буду идти дальше, так как могу написать книгу, используя все сокращения Bluetooth.

Возможно, сейчас самое время упомянуть одну из первых книг, которые я когда-либо читал по дизайну аппаратного обеспечения (на самом деле моя любимая) — «Искусство электроники».

Аппаратное обеспечение

Core

Если вам нужно спросить, то придерживайтесь ARM. По сути, обсуждение вращается вокруг M0 / M0 + против M3 против M4.

Самый простой способ взглянуть на это — получить более мощные микросхемы с более высокими числами, но при этом потребляется более высокая мощность. Итак — нужна ли вам скорость вычислений? Или малая мощность? Кроме того, M4, как правило, дороже (и имеют больше флэш-памяти / памяти), а M0 стоят дешевле.

Примечание. Если у вас есть «специальная» сердцевина, вам нужно сравнить яблоки с яблоками.Таким образом, сравнение STM32L1 и STM32F1 не является справедливым сравнением стоимости и энергопотребления, потому что серия L специально разработана для более низкой мощности, а серия F более чувствительна к стоимости. Так что мои вопиющие обобщения не всегда применимы к этим случаям.

Еще одна небольшая разбивка: если вам нужна обработка с плавающей запятой, вы, вероятно, будете использовать M4. Если вам нужен простой маршрутизатор данных (например, считывание с датчиков, отправка по BLE или Wi-Fi, включение некоторых светодиодов, без реальной обработки данных), вы, вероятно, будете использовать M0 +.Что-то среднее, скорее всего, будет M3.

Я только что нашел это отличное изображение от AnandTech, которое должно помочь расширить этот последний пункт.

Скорость

Как и в случае с размером ядра, я обычно объединяю все в «маломощный» и «быстрый» и рассматриваю их как взаимоисключающие. Огромный отказ, но он работает достаточно хорошо, как и в моих предыдущих пунктах.

Средняя цена

Резюме: Цены договорные. Но для прогнозов они все равно нужны.

Зайдите в Octopart, чтобы получить приблизительное представление о вашем объеме.По крайней мере, это полезно для сравнения если не с точной ценой, то «дороже чем» и «дешевле чем».

Рулевая рубка, в которой я пытаюсь работать, стоит 1-2 доллара, так что это дает вам представление о том, чем я занимаюсь — ни в чем не нуждаются эти сумасшедшие процессоры A7. Довольно часто это срабатывает, потому что я выбираю другие датчики / компоненты для разгрузки некоторой обработки или разрабатываю аналоговые схемы для обработки фильтрации. Обычно приводит к более дешевому дизайну (но иногда менее расширяемому — пока не было реальной проблемой).

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

Энергопотребление

Как уже говорилось ранее, выбранное ядро ​​оказывает большое влияние на энергопотребление. Если вы действительно заинтересованы в малом энергопотреблении, но все же нуждаетесь в вычислительной мощности, возможно, вам придется купить специальный MCU (например, микроконтроллер).грамм. STM32L-series), но у вас не может быть всего этого, так что рассчитывайте заплатить за это больше.

Но это только одна общая метрика бюджета мощности — энергопотребление во время работы (мкА / МГц) против энергопотребления в спящем режиме.

Невероятно важный, но упускаемый из виду аспект энергопотребления — это набор периферийных устройств, доступных в каждом состоянии низкого энергопотребления.

Например, можете ли вы использовать DMA / PWM / DAC в спящем режиме? В недавнем проекте Cypress PROC4 BLE я обнаружил, что не могу поддерживать ЦАП в режиме глубокого сна, хотя документы предполагали, что это должно быть возможно.Это означало, что без обходного пути мне пришлось бы держать ЦП в активном состоянии и на довольно значительном уровне мощности только для того, чтобы поддерживать выход ЦАП на одном из контактов. Разница в режимах мощности составляла от микроампер до миллиампер — очень существенная (в 1000 раз только для ЦАП).

Кроме того, не выполняйте гипероптимизацию, если она вам не нужна. Всегда ли устройство включено и запитано ли оно от сети? Тогда сосредоточьтесь на стоимости и производительности микроконтроллера — пропустите разговор о питании.

Дополнение также относится к конструкциям с батарейным питанием.Если ваша спецификация заключается в том, чтобы устройство работало в течение 1 недели перед подзарядкой, спроектируйте его так, чтобы оно работало за 2–3 недели до подзарядки, чтобы учесть неэффективность, которая возникает с течением времени. НЕ проектируйте его так, чтобы он прослужил 6 месяцев — потому что вы платите за весь дополнительный срок службы либо в спецификации, либо в НИОКР, и это, вероятно, не добавит ценности продукту.

Периферийные устройства

Обычно периферийные устройства — это то место, где я провожу большую часть своего времени, глядя на микроконтроллеры (и такие необычные вещи, как, имеет ли этот микроконтроллер встроенный RTC, поэтому мне не нужно покупать внешний).Эта добавленная стоимость очень важна для меня и облегчает мою жизнь.

Обычно ответы на вопросы здесь являются частью ваших требований. Вам нужен SPI / I2C / UART / и т. Д.?

У Atmel есть несколько микросхем с общими «блоками последовательной связи», которые позволяют вам выбирать каждый из них, что кажется довольно крутым. Cypress в основном позволяет вам наложить любую функциональность на любой пин, что намного круче.

Впрочем, здесь есть свои нюансы. Например, мне требовалось устройство с поддержкой USB, которое могло бы работать с I2C / UART / SPI и около 20 GPIO.Мне он тоже понадобился за \ $ 1. Это легко обнаружить, НО, что USB-способность имеет тенденцию быть USB в периферийном режиме, а не в режиме хоста (поскольку здесь вам нужно устройство USB OTG).

Для микроконтроллеров USB OTG вам нужно добавить как минимум еще $ 1. В моей ситуации, в частности, мне требовалось одно периферийное USB-устройство и одно USB-OTG, поэтому я столкнулся с проблемой… Доплачиваю ли я дополнительно и сохраняю только 1 тип MCU в моем дизайне, или я предпочитаю самую низкую стоимость спецификации в пользу необходимо поддерживать 2 разных микроконтроллера.Ага, решение непростое.

В этом случае мы просто полностью отказались от требований USB, и нам никогда не приходилось принимать это решение!

Профессиональный совет: всегда добавляйте 1 UART в дополнение к тому, сколько требуется для вашей конструкции — это можно использовать в качестве CLI / регистратора, и это абсолютно бесценно.

Упаковка

Meh…

48-контактный, 64-контактный, 100-контактный… Все сводится к количеству вводов-выводов, необходимых для GPIO, I2C, SPI, АЦП, ЦАП и т.д. чем то, о чем нужно активно думать.Для простоты выберите наименьшее количество контактов, которое удовлетворяет вашим требованиям к вводу-выводу (плюс немного подстраховаться с помощью пары дополнительных GPIO для изменения требований или отладки).

Я думаю, единственное, что здесь нужно учитывать, — это искать ли вы BGA против QFN против… Моя основная рекомендация — держаться подальше от BGA — потому что они невероятно сложно отладить плохие соединения (невозможно сделать визуально).

Рекомендации по программному обеспечению

Разработчики старой школы сочтут меня болваном, но мне нравятся хорошие IDE, платформы, совместимые с компилятором GCC, и различная поддержка программного обеспечения, такая как STCube или Cypress’s PSOC Creator.

Хорошие инструменты позволят вам визуализировать распиновку, предупредить вас, когда возникнут конфликты и ошибки, и сгенерируют тонкие уровни доступа к оборудованию, чтобы избавить вас от необходимости вручную прикручивать регистры. Мне также нравятся эти визуальные распиновки как простой способ создания карты ввода-вывода между моей прошивкой и разработчиками оборудования, а не с помощью Excel.

Вам все еще нужно ПОНИМАТЬ регистры, но я буду проклят, если захочу потратить день или два, возясь с ними, когда инструмент может просто автоматически генерировать правильные конфигурации и позволить мне перейти к кодированию на уровне приложения .

Поддержка

В частности… Документация, поддержка производителя и примеры сообщества.

Этот уровень поддержки зависит от семейства микроконтроллеров, а не от точного номера детали, но опять же, все сводится к тому, сколько времени я хочу возиться с микроконтроллером, чтобы выполнить любую работу.

Поддержка производителя — это хорошо, но поддержка сообщества — это то место, где вы слышите о реальных проблемах и всех грязных секретах.

Простой и дешевый способ сделать это — отдать предпочтение микроконтроллерам с продвинутой коммутационной платой.Что касается ST, у них есть всевозможные платы для открытий, но мне нравится использовать чипы на платах Nucleo, потому что компания тратит много времени на их изготовление и маркетинг (и раздачу). В результате эти чипы используют гораздо больше людей, больше документов, больше примеров кода и больше людей, обнаруживающих ошибки — и, как правило, они более проверены.

И прежде, чем кто-либо засмеется над этим подходом, я хотел бы, чтобы они потратили 12–16 недель на общение с ST о недавно обнаруженных ошибках в их чипах, а затем сказали мне, что этот подход не лучше, безопаснее и эффективнее по времени.

Фактор горя

Сколько горя причинит мне этот чип?

Это может быть больше связано с датчиками и модулями связи (например, BLE), но, например, сколько внешних компонентов мне нужно для запуска и работы этого модуля. Или, может быть, сколько шаблонного кода мне нужно, чтобы он заработал? Насколько актуальны примеры для этого чипа?

С микроконтроллерами это обычно довольно просто, так что, возможно, это больше для других компонентов.

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

И последнее, но не менее важное… Размер флэш-памяти

Это невероятно важно (также должно относиться к «аппаратным соображениям»), и я оставил его напоследок, поскольку он не так прост, как многие думают.

По мере увеличения размера флэш-памяти обычно увеличивается количество контактов и цена, так что все взаимосвязано (например, найдите мне микроконтроллер флэш-памяти 32k со 144 контактами — этого не произойдет). SRAM тоже имеет значение, но я обычно немного помахиваю им рукой, предполагая, что если мое приложение умещается во флэш-памяти, я заставлю его работать в выделенной оперативной памяти.

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

Если вы используете ОСРВ (например, FreeRTOS), ожидайте, что эти требования немного вырастут, так как выполнение всех операций требует больше места и оперативной памяти. Однако, возвращаясь к хорошему набору инструментов — используя STCube (или аналогичный) для подготовки ваших задач, очередей и семафоров — он может вычислить минимально необходимую кучу до времени компиляции, так что у вас есть немедленная базовая оценка того, какой размер RAM вам нужен.

Тогда удвойте

Одна вещь, о которой часто забывают… Беспроводные обновления.

Допустим, вы можете выполнять обновления OTA с помощью Wi-Fi или Bluetooth… Хорошо, хорошо, а где будет находиться это приложение для резервного копирования?

Вы можете получить огромный внешний флеш-чип по дешевке, что всегда приятно, но мне лично нравится иметь все внутри MCU, чтобы уменьшить потребность в дополнительных драйверах в загрузчике и просто другие вещи, которые могут пойти не так. наличие большего количества компонентов на плате.

Итак, теперь вам нужно иметь место на MCU для вашего приложения, плюс ваш загрузчик (обычно небольшой), а затем, если вы храните приложение резервного копирования в своем MCU, вам нужно удвоить размер приложения, чтобы получить общий размер вспышки.

Некоторые люди обходятся без этого, сначала стирая основное приложение, а затем помещая свое новое приложение в это пространство (Nordic называет это приложениями «единого банка» в своих компонентах BLE).

Я предпочитаю установку с двумя банками, при которой у вас всегда есть известное рабочее приложение, вы отправляете обновление во вторичный «банк» пустого места, и при сбросе ваш загрузчик указывает на это новое приложение, и если что-то идет не так, он возвращается к исходному приложению.

Это в основном отказоустойчивое обновление MCU в полевых условиях. Я видел, как слишком много однобанковых OTA терпят неудачу в полевых условиях, и в лучшем случае неловко, что вам приходится пытаться выполнить обновление несколько раз, потому что пользователь не может использовать свое устройство в противном случае, и довольно часто — они замуровал его и нужно вернуть, чтобы получить новый.

С двойным банком, в случае сбоя обновления, их устройство все еще работает на 100%, но только с предыдущей версией.

Наконец … Я не фанат ST

Прочитав этот пост еще раз, я понял, что часто обращаюсь к ST, но для ясности я не рекомендую их продукты.Я использую их довольно часто, но это в большей степени из-за того, что они имеют буквально все мыслимые перестановки MCU в различных ценовых категориях.

Кроме того, STCube великолепен, и я добился успеха, используя бесплатную IDE / компилятор System Workbench (без ограничений по размеру кода).

Но, как я уже упоминал в других сообщениях, мне жаль всех, кому приходится напрямую взаимодействовать с ST за поддержкой, потому что гарантировано, что в результате ваш проект будет отставать от графика на 6-12 недель.

Мое изображение функции Tri-Core устройства Infineon, с которым я скоро поиграюсь, но это в основном для автомобильных приложений (и стоит дорого).

Я много слышал о всей линейке продуктов Kinetis от Freescale (эээ… NXP), но использовал ее всего пару раз.

Я сделал несколько приложений, используя серию SAM D от Atmel (эээ… Microchip), и это было нормально. Откровенно говоря, предложения Атмела меня не слишком впечатлили.

В противном случае многие проекты переходят (перешли) на использование микроконтроллеров, встроенных в устройства BLE или Wifi (что я тоже предпочитаю из соображений стоимости).Линии Cypress PSOC / PROC BLE и Nordic NRF52 — хорошие тому примеры.

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

В любом случае, это все для меня на этой неделе — на следующей неделе та ценовая напыщенная речь, которую я обещал!

Руководство по микроконтроллерам для начинающих «Adafruit Industries — Создатели, хакеры, художники, дизайнеры и инженеры!

Очень удобное руководство от jenfoxbot обсуждает многие из десятков микроконтроллеров, доступных для людей, интересующихся интерактивной электроникой. Она начинает с вопроса «Что такое микроконтроллер?»

Микроконтроллер — это «простой компьютер», который выполняет одну программу в цикле.Они предназначены для выполнения одной конкретной задачи.

Затем помогает понять различия между микроконтроллерами и Raspberry Pi и другими компьютерами.

Наконец, она обсуждает 10 наиболее распространенных плат, включая Adafruit Circuit Playground Express, Adafruit Flora и Gemma.

Ознакомьтесь с этим Руководством, чтобы узнать больше.

(Ред .: Не рекомендую надолго прикреплять доски к коже, может быть, пришить одну из удобных для шитья к костюму или использовать сумку для переноски ??)

Прекратите макетирование и пайку — немедленно приступайте к изготовлению! Площадка Circuit Playground от Adafruit забита светодиодами, датчиками, кнопками, зажимами из кожи аллигатора и многим другим.Создавайте проекты с помощью Circuit Playground за несколько минут с помощью сайта программирования MakeCode с перетаскиванием, изучайте информатику с помощью класса CS Discoveries на code.org, переходите в CircuitPython, чтобы изучать Python и оборудование вместе, TinyGO или даже использовать Arduino IDE. Circuit Playground Express — это новейшая и лучшая плата Circuit Playground с поддержкой CircuitPython, MakeCode и Arduino. Он имеет мощный процессор, 10 NeoPixels, мини-динамик, инфракрасный прием и передачу, две кнопки, переключатель, 14 зажимов из кожи аллигатора и множество датчиков: емкостное прикосновение, ИК-приближение, температуру, свет, движение и звук.Вас ждет целый мир электроники и программирования, и он умещается на ладони.

Присоединяйтесь к 27 000+ создателей на каналах Discord Adafruit и станьте частью сообщества! http://adafru.it/discord

Хотите поделиться замечательным проектом? Выставка Electronics Show and Tell проходит каждую среду в 19:00 по восточному времени! Чтобы присоединиться, перейдите на YouTube и посмотрите чат в прямом эфире шоу — мы разместим ссылку там.

Присоединяйтесь к нам каждую среду вечером в 20:00 по восточноевропейскому времени на «Спроси инженера»!

Подпишитесь на Adafruit в Instagram, чтобы узнавать о совершенно секретных новых продуктах, о кулуарах и многом другом https: // www.instagram.com/adafruit/

CircuitPython — Самый простой способ программирования микроконтроллеров — CircuitPython.org

Получайте единственную ежедневную рассылку без спама о носимых устройствах, ведении делопроизводства, электронных советах и ​​многом другом! Подпишитесь на AdafruitDaily.com!

Пока комментариев нет.

Извините, форма комментариев в настоящее время закрыта.

Learn Микроконтроллер | Полное руководство для начинающих

Learn Микроконтроллер: Микроконтроллер — это компактная интегральная схема, которая предназначена для конкретной операции во встроенной системе.Кроме того, это типичный для Microcontroller Programming , который включает в себя память, процессор, а также вывод / ввод на одном кристалле.

Как работает микроконтроллер?

Микроконтроллер и встроен в систему для управления особой функцией устройства. В этой интерпретации микроконтроллер Pic , данные микроконтроллера AVR, которые могут получать от его периферийных устройств ввода-вывода, используют его центральный процессор. В частности, он может использовать свои периферийные устройства ввода-вывода для связи, а также для выполнения соответствующих действий.Он будет получать и отправлять данные с помощью периферийных устройств ввода-вывода и обрабатывать данные для выполнения обозначенных задач.

Характеристики микроконтроллера

Процессор микроконтроллера может изменять приложения. Он будет выбирать диапазон от простых 4-битных, 8-битных или 16-битных процессоров до более сложных 32-битных или 64-битных процессоров. В то же время микроконтроллер будет использовать энергозависимые типы памяти, такие как оперативная память, а также энергонезависимые типы памяти, которые включают в себя стираемую программируемую постоянную память, а также EEPROM.Он напрямую взаимодействует с датчиками, а также с другими компонентами.

Для этого процессоры микроконтроллеров будут основаны на комплексе вычислений набора команд, иначе это уменьшит вычисление набора команд (RISC). CISC будет проще реализовать, и он более эффективно использует память. У него будет снижение производительности из-за большего количества тактов, необходимых для выполнения инструкций.

Некоторые вспомогательные элементы микроконтроллера

Системная шина: В этой системной шине используется тип соединительного провода, который соединяется со всеми компонентами микроконтроллера вместе.

Цифро-аналоговый преобразователь (ЦАП): ЦАП выполняет обратную функцию АЦП и позволяет процессору в этом центре микроконтроллера передавать сигналы внешним аналоговым компонентам.

Аналого-цифровой преобразователь (АЦП) — В частности, АЦП — это тип схемы, которая преобразует аналоговые сигналы в цифровые. Он обращается к процессору в центре своего микроконтроллера для взаимодействия с внешними аналоговыми устройствами, такими как датчики.

Разница между микроконтроллерами и микропроцессорами

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

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *