Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

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

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

Микроконтроллеры выпускают десятки компаний, причем производятся не только современные 32-битные микроконтроллеры, но и 16, и даже 8-битные (как i8051 и аналоги). Внутри каждого семейства часто можно встретить почти одинаковые модели, различающиеся скоростью работы ЦПУ и объемом памяти.

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

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

На сегодняшний день существует более 200 модификаций микроконтроллеров, совместимых с i8051, выпускаемых двумя десятками компаний, и большое количество микроконтроллеров других типов. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства.

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

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

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

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

Софт для микроконтроллеров может привлечь внимание тех, кто обожает «гоняться за битами», так как обычно память в микроконтроллерах составляет от 2 до 128 Кб. Если меньше, то писать приходится на ассемблере или Форте, если есть возможность, то используют специальные версии Бейсика, Паскаля, но в основном – Си. Прежде чем окончательно запрограммировать микроконтроллер, его тестируют в эмуляторах – программных или аппаратных. 

МИКРОКОНТРОЛЛЕР – это уже не процессор, но ещё и не компьютер.

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

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

Так что же такое микроконтроллер и чем отличается от собственно процессора или это совершенно различные электронные компоненты?

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

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

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

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

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

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

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

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

Как я научился работать с микроконтроллерами — опыт новичка / Хабр

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

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



Вместо вступления

Впервые интерес к МК у меня возник, когда я учился в 10 классе. На тот момент был 2009 год. Я умел немного программировать на ПК в QBasic и Visual Basic — школьная программа, но так сложилась жизнь, что я особо не разбирался в программировании, да и отсутствие знающих людей по части электроники и МК рядом сделали своё дело — для меня это была новая ниша. Хотя я с детства ковырялся с платами и микросхемами найденными на помойках, но как оно работало я толком не понимал — толком никто не мог объяснить. Как работает транзистор нормально я узнал только спустя пару лет после описанных событий.

Когда я выбирал первый МК то смотрел характеристики на сайте ЧИП-ДИП. Скажу честно — для меня это было как иероглифы. Так что не стоит этого бояться. И да, про Arduino тогда никто понятия не имел.

Как всё началось

Начал ковыряться в яндексах и гуглах. Понимал, что сам контроллер — половина дела, нужна ещё и программа. А как сказано во вступлении — с программированием у меня было не очень. В конце концов попал на какой-то сайт. Как стало позднее ясно, я с этим сайтом реально «попал». Создатель сайта написал ещё и учебник по программированию, я на радостях скачал учебник и первое что там увидел — «В качестве образца для работы я использовал PIC16F84A ». Собственно так я и выбрал свой первый МК. Теперь вопрос — почему я именно «попал». А попал я из-за того, что создатель этого учебника и сайта предлагал программировать МК на АССЕМБЛЕРЕ. Его не все практикующие проггеры то знают, а тут новичок… Контроллер я уже заказал, и только потом начал читать учебник, к сожалению.

Как я выходил из положения

После того, как я понял, что ничего не понял, я забросил МК на пару лет, но параллельно всё-таки шарился на форумах типа Схем. нет и прочих, и ко мне постепенно приходило понимание вопроса. Решил учиться кстати на модели PIC16F877A.

Итак, что нужно знать новичку:

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

  • Рабочие частоты от единиц до ~100 Мгц, я лично использую в своих устройствах как правило частоты 20 Мгц, именно МЕГАгерц, а не ГИГАгерц. Частота задаётся внешним источником тактирования — кварцевым или керамическим резонатором.

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

Микроконтроллер рассчитан на работу на плате, скажем так, в конкретной «железке», на плате, в устройстве. Так что не стоит думать, что на нём можно поиграть в CS 🙂

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

Начал выбирать язык программирования и среду в которой можно программировать. Так как я хоть как-то знал Basic, то и задумался, что было бы хорошо прогать на нём. Да, он не очень совершенный и ещё куча недостатков, но для начала подходил как нельзя кстати. Мне повезло, оказалось, что есть язык PIC-Basic. По нему есть учебник, автор Чак Хелибайк и переведённое на русский руководство, собственно до всего доходил дальше по учебнику и руководству. Среда работает из-под ДОС, но можно прикрутить CodeStudio и всё будет работать из-под Windows.

Программатор

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

  • В настоящее время есть адаптированные языки программирования для МК, тот же Бэйсик, СИ и прочие.
  • После написания программы она компилируется в машинный код — файлик с расширением HEX, его-то и надо прошивать в память МК.
  • Для того, чтобы «прошить МК» — записать в него выполняемый код нужно две вещи:

    1) плата-программатор, которая является промежуточным устройством между разъёмом компьютера и самим чипом
    2) Программа-программатор, которая будет знать как работать с программатором, собранным по конкретной схеме.
    То есть нужно чтобы программа на ПК знала какая схема подключена к ПК чтоб правильно прошить чип. В моём случае это заводское решение — вместе с программатором PicKit идет диск с нужными программами.

  • Памяти в МК ограниченное количество, это надо учитывать, иногда приходится выкраивать каждый байт прошивки, лишь бы влезть в объём памяти чипа. Так же следует понимать, что в МК нет никакой операционной системы, и Ваша прошивка — единственные данные которые знает МК.

Несколько слов про периферию

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

Например у PIC16F877А их 40 штук, причем 7 штук вылетают сразу, т.к. используются для подачи питания, подключения резонатора и управления аварийным сбросом. Так же надо внимательно смотреть документацию на чип. Например тот же АЦП — в PIC16F877А он может измерять напряжение только на 8 конкретных ножках чипа, на других он это делать не может. То есть под каждую встроенную функцию отводятся конкретные выводы и поменять их нельзя.

Суть сей басни такова

Освоить МК реально даже самому и с нуля, но есть места где не очень понятно. Если с программированием никогда не сталкивались, то сначала выучите хотя-бы азы программирования и напишите «Hello World» на компьютере. После этого будет проще. Если не хотите особо заморачиваться — Arduino Ваше всё. МК расчитаны на использование в «железках» — блоки управления, платы, контроллеры итд итп, это не полноценный компьютер, а контроллер. И ожидать от него следует соответственно. Благо сейчас полно примеров на ютубе, и я надеюсь, что мой опыт начинания с нуля будет не таким горьким и моя статья кому-нибудь, да поможет.

Что такое микроконтроллер: рассказываю простым языком для новичков | ASUTPP

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

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

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

Поверьте, ничего сложного в нем нет! Есть просто базовые вещи о которых читайте ниже.

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

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

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

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

Как управлять микроконтроллером?

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

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

Для чего вы можете использовать микроконтроллер?

Да для чего угодно!

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

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

Круто ведь! Да?

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

И, конечно, же найти пару готовых проектов на Arduino, например, вот эти и просто повторить. Вам понравится!

Порты ввода-вывода микроконтроллера

Устройство микроконтроллера:
– назначение, устройство и программирование портов ввода-вывода микроконтроллера

Доброго дня уважаемые радиолюбители!
Приветствую вас на сайте “Радиолюбитель“

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

Порты ввода/вывода микроконтроллера AVR

Порты ввода/вывода (далее я буду писать сокращенно – ПВВ) – предназначены для общения микроконтроллера с внешними устройствами. С их помощью мы передаем информацию другим устройствам и принимаем информацию от них. В зависимости от типа, микроконтроллер может иметь на своем борту от одного до семи ПВВ. Каждому порту ввода/вывода присвоено буквенное обозначение – A, B, C, D, E, F, G. Все порты в микроконтроллере равнозначные, восьмиразрядные (содержат восемь линий, они же выводы, они же разряды, они же биты) и двунаправленные – могут как передавать, так и принимать информацию. ПВВ в микроконтроллере обслуживают все его устройства, в том числе и периферийные. Поэтому, в зависимости от того какое устройство будет работать с портом он может принимать и передавать или цифровую информацию, или аналоговую.

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

В технической литературе и схемам ПВВ обозначаются следующим образом:
– “Р” – первая буква, означающая слово “порт”
– “А” (В, С, D, E, F, G) – вторая буква, обозначающая конкретный порт
– “0” (1, 2, 3, 4, 5, 6, 7) – третий символ – цифра, обозначающая конкретный вывод (регистр, бит) порта.
К примеру: “порт А” – РА, “пятый разряд порта А” – РА5.
Если в МК есть несколько портов, то не обязательно их имена могут идти по порядку – A, B, C. Может быть и так – В, С, D. Поэтому пугаться и судорожно искать где же порт А не надо.
Кроме того, хотя порты восьмиразрядные, выводов у порта не обязательно должно быть 8, может быть и меньше, к примеру 3 – PA0, PA1, PA2. В таком случае порт называют неполным, или урезанным.
Давайте посмотрим на конкретный МК – ATmega8:


Как видите, в этом МК порта с именем “А” нет (отсутствует как класс ;). Порт РВ и порт PD – полные, имеют по восемь выводов. А порт С – неполный (ущемленный, нет места в корпусе МК для его вывода), в нем отсутствует восьмой разряд (реально, внутри корпуса МК, он есть, но работать мы с ним не можем).

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

Обратите внимание на два переключателя – Sin и Sout, и сопротивление Rup.
С помощью Sin осуществляется переключение вывода порта или для работы на вход, или для работы на выход. Управляется этот переключатель с помощью регистра ввода/вывода DDRx. У каждого порта свой регистр. Каждый разряд регистра управляет соответствующим разрядом порта (нулевой – нулевым, первый – первым и т.д.). Символ “x” в названии порта заменяется соответствующим именем порта: для порта А – DDRA, для порта С – DDRC. При записи в разряд регистра DDRx “единицы”, соответствующий ему разряд порта переключается на вывод информации, а при записи “нуля” – на ввод информации. Просмотрите рисунки ниже, и вы поймете как работать с регистром DDRx.

1. Переключение всех выводов порта на вывод информации:


2. Переключение всех выводов порта на ввод информации:


3. Переключение части выводов порта на ввод, и части на вывод информации:

В “классическом” Ассемблере настройка выводов портов на ввод и вывод информации выглядит так (просто пример 3-го рисунка):

Idi    R20, 0b01100010 – этой командой мы записываем в РОН R20 двоичное число 01100010, которым определяем – какой вывод порта будет работать на вывод (1), а какой на ввод (0) информации. В данном случаем разряды порта В 1,5,6 – настраиваются на вывод информации, а 0,2,3,4,7 – на ввод информации
Out   DDRB, R20 – этой командой мы переносим содержимое РОН R20 в регистр ввода/вывода порта В.

В Algorithm Builder запись немного отличается:
#b01100010 –> DDRB
Дело в том, что Algorithm Builder несколько более смещен к языкам высокого уровня, поэтому мы просто прописываем “свое желание” одной строчкой, но а при компилировании (переводе в машинные коды), программа сама преобразует эту строчку как и в “классической” записи.

Второй переключатель – Sout. Этот переключатель имеет двойное назначение, в зависимости от настройки разрядов порта на вывод или ввод информации.
Если разряд порта настроен на вывод информации, то с его помощью мы устанавливаем на выходе разряда или логическую “1”, или логический “0”.
Если разряд порта настроен на ввод информации
, то с его помощью подключается так называемый “подтягивающий резистор” – Rup, или “внутренний нагрузочный резистор”. Благодаря этому резистору упрощается подключение внешних кнопок и переключателей, т.к. обычно контакты требуют внешнего резистора.
Как и переключатель Sin, Sout – это регистр ввода/вывода под названием PORTx, где “х” – буквенное обозначение порта (к примеру для порта D регистр будет иметь вид – PORTD).
В семейств МК Mega имеется дополнительный переключатель – PUD, – 2-й разряд регистра ввода/вывода SFIOR (он называется “Регистр специальных функций”). С помощью этого PUD осуществляется общее управление подтягивающими резисторами:
– при записи в этот разряд “1” – все подтягивающие резисторы для всех портов отключаются;
– при записи в этот разряд “0” – состояние подтягивающих резисторов определяется регистром PORTx.
Зачем нужно общее отключение резисторов, да и этот PUD заодно, мы сегодня рассматривать не будем.
В режиме работы разрядов порта на вывод, задача регистра PORTx очень проста – то, что мы в него запишем, то и будет на выходе. Запишем одни “нули” – на выходах буду логические нули, запишем “единицы” – на выходе буду логические “единицы”.
Например:
Настраиваем порт В на вывод информации:
Idi    R20, 0b11111111
Out   DDRB, R20
Выводим в разряды 0-3 логический ноль, а в разряды 4-7 логическую единицу:
Idi    R20, 0b11110000
Out   PORTB, R20
В Algorithm Builder:
#b11111111 –> DDRB
#b11110000 –> PORTB
Надеюсь, что пока все понятно.
Вышеприведенные примеры позволяют настроить весь порт сразу, и вывести нужные значения на все выводы порта за один раз.
Если необходимо настроить только один разряд порта на ввод или вывод, а также вывести “0” или “1” только в один разряд порта, не затрагивая состояние и содержание других разрядов этого порта, существуют следующие команды:
SBI A,b – установить разряд регистра
CBI A,b – сбросить разряд регистра
При этом: “А” – номер регистра, “b” – разряд этого регистра.
Данные команды работают не только с РВВ DDRx и PORTx, но и с теми, которые имеют номера от 0 до 31.

Пример:
– “классический” Ассемблер:
Настраиваем порт В на вывод информации:
Idi R20, 0b11111111
Out DDRB, R20
Нам нужно переключить 1-й разряд порта на ввод информации:
CBI $17, 1 (где $17 – номер РВВ порта В – DDRB, 1 – разряд порта В)
– Algorithm Builder:
#b11111111 –> DDRB
0 –> PORTB.1

У портов ввода/вывода есть еще один регистр: PINx, регистр выводов порта (“х” – буквенное обозначение порта)
Этот регистр предназначен для считывания информации с вывода порта, независимо в какой он конфигурации – на ввод, или на вывод. Записать в этот регистр мы ничего не можем, он предназначен только для считывания. 

Состояние выводов портов в зависимости от их конфигурации:

* PUD нет в МК Tiny и в МК модели ATMega161

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

Некоторые рекомендации по использованию портов ввода/вывода:

При сбросе или включении питания микроконтроллера все выводы всех портов (за очень-очень редким случаем) переводятся в высокоимпедансное состояние – “Z- состояние”. Этот момент следует учитывать в реальных схемах. Если нагрузкой выхода служит транзисторный ключ, то для того, чтобы его база (затвор полевого транзистора) не болтались в воздухе, необходимо ставить дополнительные внешние резисторы сопротивлением 10-100 кОм.

Если вы не используете выводы порта, то не следует их оставлять “парящими в воздухе” – из-за этого повышается потребляемый ток МК (почему – не так важно, но это так).  Все неиспользуемые выходы в схеме рекомендуется нагружать на сопротивления 10-100 кОм (можно использовать и внутренние подтягивающие резисторы), или переводить выводы в режим цифровых выходов.

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

Подтягивающие резисторы не совсем “резисторы” – их роль выполняют полевые транзисторы, которые имеют большой технологический разброс – номинал подтягивающего сопротивления может колебаться в пределах 30-100 кОм. При мощных помехах, да и в других “критических случаях” рекомендуется (хотя такой рекомендации и нет в даташитах) подключать дополнительные подтягивающие резисторы номиналом 2-5 кОм. Такие резисторы следует устанавливать на вывод “Reset”, на выводы внешних прерываний, если они не используются. Также следует устанавливать резисторы при работе выводов МК на общую шину (I2C, или просто при подсоединении выхода МК к выходу другого устройства с открытым коллектором, при подключении к двухвыводным кнопкам). Сопротивление встроенного резистора в таких случаях слишком велико, чтобы отсеивать электромагнитные помехи.


Создаем программу «мигалку»

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

Для этого нам понадобится среда AVRStudio (о которой упоминалось раньше) и середа для симуляции микроконтроллера – Proteus 7. В сети маса примеров по установке этих программ, так что на этом останавливаться не будем.

Первая наша программа будет состоять из:

Подключения файла директив, инициализации МК;

Настройки портов ввода-вывода МК;

Простейшего цикла переключения портов из логического состояния «0» в «1»;

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

При штатной установке программы AVR Studio, файлы с директивами микроконтроллера располагается по следующему адресу C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes.

В нашем примере будем использовать микроконтроллер Attiny2313. Его inc файл имеет название 2313def.

Для начала откроем программу AVR Studio 4 и создадим проект.

Нажимаем на клавишу создания нового проекта.

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

В последнем окне необходимо выбрать симулятор и тип нашего МК. Далее, нажимаем на клавишу «finish» и можно будет увидеть, как откроется новое окно нашего проекта.

Наш проект уже создан и его можно наполнять программным кодом. Как говорилось раньше, первым делом нужно подключить файл директив данного микроконтроллера. Если возникнет необходимость проводить симуляцию проекта в среде AVR Studio 4, то желательно указать еще и имя нашего МК. Для этого нужно прописать следующую строку «.device ATtiny2313».

Для подключения inc файла, нужно прописать .include “tn2313def.inc”. Тем самым мы разрешим компилятору использовать файл директив данного МК.

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

К примеру, на следующем рисунке обозначена строка значения ОЗУ нашего МК. В программе мы пишем «spl», хотя можно написать и« $3d».

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

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

Итак, на Листинге 1 приведу пример нашей простой программы.

Листинг 1.

.device Attiny2313 ; указываем тип устройства

.include “tn2313def.inc” ; подключаем файл директив МК ATtiny2313

.def temp = r16 ; задаем имя нашему регистру общего назначения

.org 0x0000 ; начало программы с 0 адреса

ldi temp,ramend ; грузим значение ramend в регистр temp

out $3d, temp ;

ser temp ; настраиваем все выводы порта В на выход

out DDRB, temp ;

main:

sbi portb,5; устанавливаем логическую «1» в PORTB5

rjmp main

Итак, разберем все по строкам, что мы сделали.

Первым делом, на всякий случай указали тип устройства .device Attiny2313.

Подключили файл директив .include “tn2313def.inc”.

Для простоты написания программы задали регистру R16 имя .def temp = r16. Такая операция хорошо будет упрощать написание программы в дальнейшем. Ведь словесное название регистра нам проще запомнить, нежели просто писать R16. Таким образом, можно присвоить имя любому регистру начинаю от R0 и заканчивая R31.

Командой ser temp мы грузим в регистр temp значение 255 и выгружаем его в out DDRB. Тем самым конфигурируем порт на выход. В дальнейшем, при симуляции программы в Proteus 7, мы увидем как данные порты приймут состояние логического нуля.

Устанавливаем на порте вывода PB5 логическую единицу с помощью команды sbi portb,5.

В самом конце необходимо организовать какой-то цикл, чтобы микроконтроллер не завис.

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

Открываем среду моделирования Proteus 7 и смотрим результат.

Теперь немного усложним задачу и заставим порт вывода переключаться с логического нуля в единицу. Для этого нам необходимо немного доработать нашу программу, Листинг 2. Все изменения происходит только в цикле «main», так что весь код не будем повторять.

main:

sbi portb,5; устанавливаем логическую “1” в PORTB5

cbi portb,5; устанавливаем логический “0” в PORTB5

rjmp main

Смотрим результат моделирования в среде Proteus 7, пподключив к выводу PB5 осциллограф.

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

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

Листинг 3.

main:

sbi portb,5; устанавливаем логическую “1” в PORTB5

rcall delay ;вызываем подпрограмму задержки

cbi portb,5; устанавливаем логический “0” в PORTB5

rcall delay

rjmp main

delay:

clr r20; очистить регистры

clr r21

d_1:

inc r20; добавить 1

cpi r20,200 ; сравниваем, R20 = 200 ?

brne d_1; если не равно, то переходим по метке d_1, иначе пропускаем

d_2:

inc r21

cpi r21,50 ;

brne d_1

ret

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

На этом закончим. В следующей части мы разберем примеры программы с подключением кнопок, напишем цикл бегущей строки.

Предыдущие статьи:

♦ Микроконтроллер и как его победить
♦ Микроконтроллер и системы счисления
♦ Микроконтроллер и логические операции
♦ Общее устройство микроконтроллера
♦ Арифметико-логическое устройство и организация памяти – память программ, память данных, энергонезависимая память
♦ Регистры общего назначения, регистры ввода/вывода, стек, счетчик команд
♦ Регистр состояния SREG



РадиоКот :: Для чего нужны прерывания?

РадиоКот >Обучалка >Микроконтроллеры и ПЛИС >Микроконтроллеры AVR – пишем, компилируем, прошиваем… >

Для чего нужны прерывания?

Прерывание – это остановка извне выполнения текущей программы на время выполнения некоторой подпрограммы (которая называется “обработчик прерывания”).

Что это значит?

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

В AT90s2313 существует 11 событий, по которым можно установить прерывания (прерывание – дело добровольное, хочешь – ставишь, хочешь – не ставишь). Что это за события? Открываем даташит по микросхеме на стр.19 и смотрим табличку “Reset and interrupt vectors”.

Для ленивых привожу ее здесь:

Английский знаем? Ну ладно, переведу 🙂

  1. Reset – прерывание по сбросу (подача 0 на вывод микросхемы “Reset”; или включение питания; или по переполнению сторожевого таймера)
  2. INT_0 – первое внешнее прерывание (сигнал на вывод микросхемы “INT0”)
  3. INT_1 – второе внешнее прерывание (сигнал на “INT1”)
  4. Timer1_capt1 – прерывание защелки 1-го таймера
  5. Timer1_comp1 – прерывание компаратора 1-го таймера
  6. Timer1_OVF1 – по переполнению 1-го таймера
  7. Timer0_OVF0 – по переполнению 0-го таймера
  8. UART_RX – по окончанию приема пакета по протоколу UART
  9. UART_UDRE – по опустошению регистра данных UART
  10. UART_TX – по окончанию передачи пакета по UART
  11. ANA_COMP – прерывание аналогового компаратора

Если некоторые слова вам еще не знакомы – не отчаивайтесь, так и должно быть. Давайте лучше разбираться, что такое – Interrupt Vectors – Вектора Прерываний? А это ни что иное, как указатели на адрес ПЗУ, на который мы переходим в результате прерывания. Все векторы расположены в самом начале адресного пространства, и занимают первые 11 адресов ПЗУ (с $000 по $00A). Это прекрасно видно из таблицы. То есть, если мы, скажем, хотим активизировать прерывание Timer1_comp1, то мы должны по адресу $004 поставить ссылку на подпрограмму – обработчик этого прерывания. А вообще, лучше расставить в начале программы ссылки на все прерывания. Давайте так и сделаем.


.cseg
.org 0

rjmp Reset
rjmp INT_0
rjmp INT_1
rjmp Timer1_capt1
rjmp Timer1_comp1
rjmp Timer1_OVF1
rjmp Timer0_OVF0
rjmp UART_RX
rjmp UART_UDRE
rjmp UART_TX
rjmp ANA_COMP

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

Например: по прерыванию компаратора таймера 1 (Timer1_comp1), мы перескакиваем на адрес $004, то есть – на 5-ю строчку программы. В пятой строчке стоит безусловный переход на метку Timer1_comp1. Где-то ниже в программе, мы пишем обработчик этого прерывания и в его начале ставим эту метку. Вот так все несложно…

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

Кстати, чуть не забыл:

reti – Interrupt return – выход из обработчика прерывания

Итак, пишем:


Reset:
INT_0:
INT_1:
Timer1_capt1:
Timer1_comp1:
Timer1_OVF1:
Timer0_OVF0:
UART_RX:
UART_UDRE:
UART_TX:
ANA_COMP:
          reti

Пусть вас не смущает, что столько меток стоят на одну команду: это не страшно, так можно делать. Нельзя ставить несколько ОДИНАКОВЫХ меток…

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

Ну вот. Теперь возвращаемся к нашим баранам. То есть – бегущим огонечкам.

<<–Вспомним пройденное—-Поехали дальше–>>

Электронные самоделки на микроконтроллерах. Схемы и устройства на микроконтроллерах

В данной статье предлагается схема цифрового термометра на микроконтроллере AVR ATtiny2313, датчике температуры DS1820 (или DS18b20), подключенному к микроконтроллеру по протоколу 1-wire, и ЖК-дисплее 16×2 на контроллере HD44780. Описываемое устройство может найти широкое применение среди радиолюбителей.

Программа для микроконтроллера написана на ассемблере в среде AVR Studio. Монтаж выполнен на макетной плате, кварцевый резонатор на 4МГц, микроконтроллер ATtiny2313 можно заменить на AT90S2313, предварительно перекомпилировав исходный код программы. Погрешность датчика DS1820 около 0,5 С. В архиве также находится прошивка для случая если используется датчик DS18B20. Опрос датчика производится каждую секунду.

WAV-плеер собран на микроконтроллере AVR ATtiny85 (можно использовать ATtiny25/45/85 серии). У микроконтроллеров этой серии всего восемь ножек и два ШИМ (Fast PWM) с несущей 250kHz. Для управления картой памяти достаточно всего 6 проводов: два для питания и четыре сигнальные. Восемь ножек микроконтроллера вполне достаточно для работой с картой памяти, вывода звука и кнопки управления. В любом случае данный плеер очень прост.

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

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

Данный проект был сделан по просьбе друга для установки на дверь в складское помещение. В дальнейшем было изготовлено ещё несколько по просьбе друзей и знакомых. Конструкция оказалась простой и надёжной. Работает данное устройство так: пропускает только те RFID-карты, которые были заранее занесены в память устройства.

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

В этой статье описывается универсальный трехфазный преобразователь частоты на микроконтроллере(МК) ATmega 88/168/328P . ATmega берет на себя полный контроль над элементами управления, ЖК-дисплеем и генерацией трех фаз. Предполагалось, что проект будет работать на готовых платах, таких как Arduino 2009 или Uno, но это не было реализовано. В отличие от других решений, синусоида не вычисляется здесь, а выводится из таблицы. Это экономит ресурсы, объем памяти и позволяет МК обрабатывать и отслеживать все элементы управления. Расчеты с плавающей точкой в программе не производятся.

Частота и амплитуда выходных сигналов настраиваются с помощью 3 кнопок и могут быть сохранены в EEPROM памяти МК. Аналогичным образом обеспечивается внешнее управление через 2 аналоговых входа. Направление вращения двигателя определяется перемычкой или переключателем.

Регулируемая характеристика V/f позволяет адаптироваться ко многим моторам и другим потребителям. Также был задействован интегрированный ПИД-регулятор для аналоговых входов, параметры ПИД-регулятора могут быть сохранены в EEPROM. Время паузы между переключениями ключей (Dead-Time) можно изменить и сохранить.

Этот частотомер с AVR микроконтроллером позволяет измерять частоту от 0,45 Гц до 10 МГц и период от 0,1 до 2,2 мкс в 7-ми автоматически выбранных диапазонах. Данные отображаются на семиразрядном светодиодном дисплее. В основе проекта микроконтроллер Atmel AVR ATmega88/88A/88P/88PA, программу для загрузки вы можете найти ниже. Настройка битов конфигурации приведена на рисунке 2 .

Принцип измерения отличается от предыдущих двух частотомеров. Простой способ подсчета импульсов через 1 секунду, используемый в двух предыдущих частотомерах(частотомер I, частотомер II), не позволяет измерять доли Герц. Вот почему я выбрал другой принцип измерения для своего нового частотомера III. Этот метод намного сложнее, но позволяет измерять частоту с разрешением до 0,000 001 Гц.

Это очень простой частотомер на микроконтроллере AVR. Он позволяет измерять частоты до 10 МГц в 2-х автоматически выбранных диапазонах. Он основан на предыдущем проекте частотомера I , но имеет 6 разрядов индикатора вместо 4-х. Нижний диапазон измерения имеет разрешение 1 Гц и работает до 1 МГц. Более высокий диапазон имеет разрешение 10 Гц и работает до 10 МГц. Для отображения измеренной частоты используется 6-разрядный светодиодный дисплей. Прибор построен на основе микроконтроллера Atmel AVR ATtiny2313A или ATTiny2313

Микроконтроллер тактируется от кварцевого резонатора частотой 20 МГц (максимально допустимая тактовая частота). Точность измерения определяется точностью этого кристалла, а также конденсаторов C1 и C2. Минимальная длина полупериода измеряемого сигнала должна быть больше периода частоты кварцевого генератора (ограничение архитектуры AVR). Таким образом, при 50% рабочем цикле можно измерять частоты до 10 МГц.

Это, вероятно, самый простой частотомер на микроконтроллере AVR. Он позволяет измерять частоты до 10 МГц в 4-х автоматически выбранных диапазонах. Самый низкий диапазон имеет разрешение 1 Гц. Для отображения измеренной частоты используется 4-разрядный светодиодный дисплей. Прибор построен на основе микроконтроллера Atmel AVR ATtiny2313A или ATtiny2313 . Настройку битов конфигурации вы можете найти ниже.

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


Вариант 1: ATmega8 + Nokia 5110 LCD + питание 3V

В схеме используются Atmega8-8PU (внешний кварц частотой 8MHz), Nokia 5110 LCD и транзистор для обработки импульсов от геркона. Регулятор напряжения на 3,3V обеспечивает питание для всей цепи.

Все компоненты были смонтированы на макетной плате, включая разъемы для: ISP – программатора (USBAsp), 5110 Nokia LCD, питания (5V, подаваемого на 3.3V – регулятор), геркона, кнопки сброса и 2-контактный разъем, используемый для считывания полярности обмотки двигателя привода станка, чтобы знать, увеличивать или уменьшать счетчик.

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

Исполнительным устройством дозатора являются насосы-помпы вибрационного типа линейки ULKA. В связи с возможностью использования разных моделей данных насосов в устройстве предусмотрена калибровка производительности каждого канала и регулировка подводимой мощности методом ШИМ. В моем устройстве применены насосы широко распространенной модели ULKA EX5 230V 48W .

В данном радиоприемнике используется готовый модуль на чипе TEA5767 . Информация отображается на красивом OLED-дисплеем (SSD1306 ), разрешением 128×64 пикселя. Модулем приемника и дисплеем управляет микроконтроллер ATmega8 , тактируется от внутреннего генератора частотой 8MHz. Печатная плата приемника (наряду с батареей от телефона Samsung L760) была спроектирована так, чтобы она могла вписаться в спичечную коробку. Имеются 4 клавиши управления + клавиша сброса. В настоящее время радио не имеет аудиоусилителя (планируется установка соответствующего усилительного модуля).

Предоставляю вам схему спец сигнала (Крякалка), для самостоятельной сборки. Решил поставить ребенку на велосипед (пусть прохожих под домом пугает), но так же можно и в автомобиль поставить (если есть связи в ГАИ). Данное устройство состоит из минимум деталей, а так же простая в сборке и под силу каждому.

Часы на лампах ИН своими руками

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

JDM программатор своими руками с внешним питанием

Пришло время еще раз затронуть тему изготовление программатора, так как цены на них не такие и маленькие,и при этом гарантии нет что он заработает. Рассмотрим схему программатора jdm с внешним питанием ,с помощью которого програмируются микросхемы PIC и подключаемому к стационарному компьютеру через COM(rs232) порт.

Список прошиваемых PIC микроконтроллеров в статье.

Простое ИК управление своими руками

Простое ИК управление своими руками


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

Данное устройство предназначено для управления на небольшой дистанции. За основу взят дешевый, миниатюрный ПДУ с eBay. К нему был изготовлен дешифратор на микроконтроллере PIC12F675. Режим работы – кнопка. Состояние на выходе дешифратора удерживается до тех пор, пока нажата кнопка на пульте.

Схема новогодней гирлянды на микроконтроллере своими руками

Гирлянда на микроконтроллере своими руками

С наступающим вас дорогие пользователи. И к предстоящему празднику решил порадовать вас схемой- новогодняя гирлянда на микроконтроллере pic.

И прошу к просмотру подробнее данной статьи.

Полицейская крякалка своими руками на PIC

Полицейская крякалка своими руками на PIC

Предлагаю вам для повторения схему звукового устройства, имитирующего сигнал “Милицейской Сирены”. Устройство сделано на микроконтроллере PIC16F628 . Схема имеет две различные сирены и “Крякалку”.

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

Так же вам понадобиться программатор для PIC, вот схема

Схема простого измерителя емкости

Простой измеритель емкости и индуктивности

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

В статье предлагается проверенная схема своими руками измерителя емкости и индуктивности катушки.Если вы задавались вопросом как измерить емкость или индуктивность .То вам сюда.Схема собрана на микроконтроллере PIC 16F84A.

Дубликатор(копировальщик) ключей от домофона своими руками

Схема копирования ключей от домофона

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

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

Простой тахометр на микроконтроллере ATmega8

Тахометр применяется в автомобилях для измерения частоты вращения всяких деталей которые способны вращаться. Есть много вариантов таких устройств, я предложу вариант на AVR микроконтроллере ATmega8. Для моего варианта, вам также…

Читать полностью

Цветомузыка на микроконтроллере Attiny45 в авто

Эта цветомузыка, имея малый размер и питание 12В, как вариант может использоваться в авто при каких-либо мероприятиях. Первоисточник этой схемы Радио №5, 2013г А. ЛАПТЕВ, г. Зыряновск, Казахстан. Схема…

Читать полностью

Контроллер обогрева зеркал и заднего стекла

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

Читать полностью

Диммер для плафона автомобиля

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

Читать полностью

GSM сигнализация с оповещением на мобильник

Представляю очень популярную схему автомобильной сигнализации на базе микроконтроллера ATmega8. Такая сигнализация дает оповещение на мобильник админа в виде звонков или смс. Устройства интегрируется с мобильником с помощью…

Читать полностью

Моргающий стопак на микроконтроллере

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

Читать полностью

ДХО плюс стробоскопы

Эта поделка позволяет стробоскопить светодиодными ДХО. Поделка имеет малый размер, управление всего одной кнопкой, широкие возможности настройки. Размер платы 30 на 19 миллиметров. С обратной стороны расположен клемник…

Читать полностью

Делаем и подключаем доводчик к сигнализации

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

Читать полностью

Светодиоды включаются от скорости

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

Читать полностью

Цифровой тахометр на AVR микроконтроллере (ATtiny2313)

Тахометр измеряет частоту вращения деталей, механизмов и других агрегатах автомобиля. Тахометр состоит из 2-х основных частей — из датчика, который измеряет скорость вращения и из дисплея, где будет…

Читать полностью

Простой цифровой спидометр на микроконтроллере ATmega8

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

Читать полностью

Плавный розжиг приборки на микроконтроллере

Эта версия немного отличается схемой: добавлена вторая кнопка настройки и убран потенциометр скорости розжига. Возможности: Два отдельных независимых канала. Для каждого канала три группы настраиваемых параметра: время задержки до начала…

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

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

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

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

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

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

Ознакомимся с более распространенным и основательно устоявшимся в современном мире техники контроллером, таким как AVR. В его состав входят высокоскоростной RISC-микропроцессор, 2 вида затратной по энергии памяти (Flash-кэш проектов и кэш сведений EEPROM), эксплуатационная кэш по типу RAM, порты ввода/вывода и разнообразные удаленные сопряженные структуры.

  • рабочая температура составляет от -55 до +125 градусов Цельсия;
  • температура хранения составляет от -60 до +150 градусов;
  • наибольшая напряженность на выводе RESET, в соответствии GND: максимально 13 В;
  • максимальное напряжение питания: 6.0 В;
  • наибольший электроток линии ввода/вывода: 40 мА;
  • максимальный ток по линии питания VCC и GND: 200 мА.

Возможности микроконтроллера AVR

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

Обещанное количество оборотов переписи кэша у микроконтроллеров AVR второго поколения равен 11 тысячам оборотов, когда стандартное количество оборотов равно 100 тысячам.

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

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

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

Поделки на базе микроконтроллера AVR

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

“Направлятор”

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

Построение схемы осуществляется на основе микроконтроллера AVR с тактированием от наружного кварцевого резонатора на 11,0598 МГц. За работу с GPS отвечает NEO-6M от U-blox. Это, хоть и устаревший, но широко известный и бюджетный модуль с довольно четкой способностью к установлению местонахождения. Сведения фокусируются на экране от Nokia 5670. Также в модели присутствуют измеритель магнитных волн HMC5883L и акселерометр ADXL335.


Беспроводная система оповещения с датчиком движения

Полезное устройство, включающее в себя прибор перемещения и способность отдавать, согласно радиоканалу, знак о его срабатывании. Конструкция является подвижной и заряжается с помощью аккумулятора или батареек. Для его изготовления необходимо иметь несколько радиомодулей HC-12, а также датчик движения hc-SR501.

Прибор перемещения HC-SR501 функционирует при напряжении питания от 4,5 до 20 вольт. И для оптимальной работы от LI-Ion аккумулятора следует обогнуть предохранительный светодиод на входе питания и сомкнуть доступ и вывод линейного стабилизатора 7133 (2-я и 3-я ножки). По окончанию проведения этих процедур прибор приступает к постоянной работе при напряжении от 3 до 6 вольт.


Внимание: при работе в комплексе с радиомодулем HC-12 датчик временами ложно срабатывал. Во избежание этого необходимо снизить мощность передатчика в 2 раза (команда AT+P4). Датчик работает на масле, и одного заряженного аккумулятора, емкостью 700мА/ч, хватит свыше, чем на год.

Минитерминал

Приспособление проявило себя замечательным ассистентом. Плата с микроконтроллером AVR нужна, как фундамент для изготовления аппарата. Из-за того, что экран объединён с контроллером непосредственно, то питание должно быть не более 3,3 вольт, так как при более высоких числах могут возникнуть неполадки в устройстве.


Вам следует взять модуль преобразователя на LM2577, а основой может стать Li-Ion батарея емкостью 2500мА/ч. Выйдет дельная комплектация, отдающая постоянно 3,3 вольта во всём трудовом интервале напряжений. С целью зарядки применяйте модуль на микросхеме TP4056, который считается бюджетным и достаточно качественным. Для того чтобы иметь возможность подсоединить минитерминал к 5-ти вольтовым механизмам без опаски сжечь экран, необходимо использовать порты UART.

Основные аспекты программирования микроконтроллера AVR

Кодирование микроконтоллеров зачастую производят в стиле ассемблера или СИ, однако, можно пользоваться и другими языками Форта или Бейсика. Таким образом, чтобы по факту начать исследование по программированию контроллера, следует быть оснащенным следующим материальным набором, включающим в себя: микроконтроллер, в количестве три штуки – к высоковостребованным и эффективным относят – ATmega8A-PU, ATtiny2313A-PU и ATtiny13A- PU.

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


Чтобы исследовать процедуры коммуникации микроконтроллера с иными приборами, нужно числовое приспособление температуры DS18B20 и, показывающие правильное время, часы DS1307. Также важно иметь транзисторы, резисторы, кварцевые резонаторы, конденсаторы, кнопки.

С целью установки систем потребуется образцовая плата для монтажа. Чтобы соорудить конструкцию на микроконтроллере, следует воспользоваться макетной платой для сборки без пайки и комплектом перемычек к ней: образцовая плата МВ102 и соединительные перемычки к макетной плате нескольких видов – эластичные и жесткие, а также П-образной формы. Кодируют микроконтроллеры, применяя программатор USBASP.

Простейшее устройство на базе микроконтроллера AVR. Пример

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

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

Устройство выглядит, как печатная плата размером 43 х 43 мм, а на ней сооружена минисхемка радиатора, высота которого 24 миллиметра, а масса – 25 грамм. С целью манипулирования нагрузкой, плата драйвера содержит около шести входов.

Заключение

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

Рекомендуем также

РАЗНИЦА МЕЖДУ МИКРОПРОЦЕССОРОМ И МИКРОКОНТРОЛЛЕРОМ | СРАВНИТЕ РАЗНИЦУ МЕЖДУ ПОХОЖИМИ ТЕРМИНАМИ – ТЕХНОЛОГИЯ

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

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

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

Микропроцессор

Обычно микропроцессор – это всего лишь ядро. Это центральный процессор, который иногда дополняется контроллером памяти и не более того. Это программируемое электронное устройство с синхронизацией, которое принимает двоичные данные в качестве входных данных, затем обрабатывает данные в соответствии с инструкциями, доступными в программной памяти, и, наконец, выводит результат. Он используется с другими компонентами, такими как модули памяти (для памяти данных и программ), устройства хранения и периферийные устройства ввода / вывода. Типичными компонентами микропроцессора являются ALU, регистры, блоки выборки и декодирования и т. Д. Intel 4004 считается первым в мире микропроцессором и был обнародован в 1971 году корпорацией Intel. Микропроцессоры используются в качестве ЦП для целого ряда компьютеров, от недорогих нетбуков до высокопроизводительных серверов.

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

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

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

Микропроцессоры обычно быстрее, универсальны и дороги, чем микроконтроллеры, хотя сейчас мы видим микроконтроллеры с более высокой скоростью и более низкими ценами. Опять же, главное, микропроцессор – это просто «процессор», а микроконтроллер – это микропроцессор плюс дюжина других функций на кристалле. Когда вы покупаете микропроцессор, вы можете свободно использовать компоненты, которые вам нужны. С микроконтроллером пользователь обычно выбирает между различными разновидностями микроконтроллеров (больше / меньше памяти, 0/1/2 UART, больше / меньше таймеров, SPI и т. Д.), Но у вас будут эти функции.

Согласно рыночной оценке, количество микропроцессоров и микроконтроллеров, проданных в 2008 году, составило десять миллиардов, из которых только 2% составляют микропроцессоры, а 98% приходится на микроконтроллеры. Из-за массового производства и небольшого размера ядра микроконтроллеры очень дешевы по сравнению с микропроцессорами.

Узнайте о типах и применении микроконтроллеров – EIT: EIT

Введение в микроконтроллер:

Микроконтроллер (микроконтроллер или микроконтроллер) – это микрокомпьютер с одиночной микросхемой, изготовленный на базе СБИС. Микроконтроллер также известен как встроенный контроллер. Сегодня на рынке доступны различные типы микроконтроллеров с разной длиной слова, такие как 4-битные, 8-битные, 64-битные и 128-битные микроконтроллеры. Микроконтроллер – это сжатый микрокомпьютер, предназначенный для управления функциями встроенных систем в офисных машинах, роботах, бытовой технике, автомобилях и ряде других устройств.Микроконтроллер состоит из таких компонентов, как память, периферийные устройства и, самое главное, процессор. Микроконтроллеры в основном используются в устройствах, которым требуется степень контроля со стороны пользователя устройства.

Основы микроконтроллера

:
Любое электрическое устройство, которое хранит, измеряет, отображает информацию или вычисляет, состоит из микросхемы микроконтроллера
внутри себя. Базовая структура микроконтроллера состоит из: –
1. ЦП – Мозг микроконтроллера называется ЦП.ЦП – это устройство, которое используется для получения данных, их декодирования и успешного завершения поставленной задачи. С помощью центрального процессора все компоненты микроконтроллера объединены в единую систему. Выборка
команд, созданная программируемой памятью, декодируется ЦП.
2. Память – В микроконтроллере микросхема памяти работает так же, как микропроцессор. Чип памяти хранит все программы и данные. Микроконтроллеры построены с определенным объемом ПЗУ или ОЗУ (EPROM, EEPROM и т. Д.) Или флэш-памятью для хранения исходных кодов программ.
3. Порты ввода / вывода – порты ввода / вывода в основном используются для взаимодействия или управления различными устройствами, такими как принтеры, ЖК-дисплеи, светодиоды и т. Д.

4. Последовательные порты – эти порты предоставляют последовательные интерфейсы между микроконтроллером и различными другими периферийными устройствами, такими как параллельный порт.
5. Таймеры – микроконтроллер может быть встроен с одним или несколькими таймерами или счетчиками. Таймеры и счетчики контролируют все операции подсчета и синхронизации в микроконтроллере. Таймеры используются для подсчета внешних импульсов.Основными операциями, выполняемыми таймерами, являются генерация импульсов, функции часов, измерение частоты, модуляция, создание колебаний и т. Д.
6.ADC (аналого-цифровой преобразователь) –ADC используется для преобразования аналоговых сигналов в цифровые. Входные сигналы должны быть аналоговыми для АЦП. Производство цифровых сигналов можно использовать в различных цифровых приложениях (например, в измерительных устройствах).

7.DAC (цифро-аналоговый преобразователь) – этот преобразователь выполняет функции, противоположные функциям АЦП.Это устройство обычно используется для контроля аналоговых устройств, таких как двигатели постоянного тока и т. Д.
8. Интерпретирующее управление. Этот контроллер используется для обеспечения отложенного управления рабочей программой. Интерпретация может быть внутренней или внешней.
9. Специальный функциональный блок – Некоторые специальные микроконтроллеры, изготовленные для специальных устройств, таких как космические системы, роботы и т. Д., Содержат этот специальный функциональный блок. Этот специальный блок имеет дополнительные порты для выполнения некоторых специальных операций.

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

бит:
8-битный микроконтроллер выполняет логические и арифметические операции. Примером 8-битного микроконтроллера является Intel 8031/8051.
16-битный микроконтроллер работает с большей точностью и производительностью по сравнению с 8-битным.
Примером 16-битного микроконтроллера является Intel 8096.

32-битный микроконтроллер

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

Память:

  • Микроконтроллер с внешней памятью – когда встроенная структура построена с микроконтроллером, который не включает в себя все функционирующие блоки, существующие на микросхеме, он называется микроконтроллером внешней памяти.Для иллюстрации – микроконтроллер 8031 ​​не имеет памяти программ на микросхеме.
  • Микроконтроллер со встроенной памятью – когда встроенная структура построена с микроконтроллером, который состоит из всех функциональных блоков, существующих на микросхеме, он называется микроконтроллером встроенной памяти. Для иллюстрации – микроконтроллер 8051 имеет всю память программ и данных, счетчики и таймеры, прерывания, порты ввода / вывода и, следовательно, свой микроконтроллер встроенной памяти.

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

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

Архитектура памяти:

  • Гарвардская архитектура памяти Микроконтроллер
  • Принстонская архитектура памяти Микроконтроллер

Микроконтроллер 8051:
Наиболее широко используемый набор микроконтроллеров относится к семейству 8051. Микроконтроллеры 8051 по-прежнему остаются идеальным выбором для огромной группы любителей и экспертов.В течение 8051 года человечество стало свидетелем самого революционного набора микроконтроллеров. Первоначально микроконтроллер 8051 был изобретен Intel. Двое других членов этого семейства 8051 –

  • 8052-Этот микроконтроллер имеет 3 таймера и 256 байт ОЗУ. Кроме того, он имеет все функции традиционного микроконтроллера 8051. Микроконтроллер 8051 является частью микроконтроллера 8052.
  • 8031 ​​- Этот микроконтроллер меньше ПЗУ, за исключением того, что он имеет все функции традиционного микроконтроллера 8051.Для выполнения в его микросхему можно добавить внешнее ПЗУ размером 64 Кбайт.
Микроконтроллер

8051 задействует 2 различных типа памяти, таких как NV-RAM, UV-EPROM и Flash.

8051 Архитектура микроконтроллера:
Микроконтроллер 8051 – это восьмиразрядный микроконтроллер, выпущенный в 1981 году корпорацией Intel. Он доступен в 40-контактном DIP-корпусе (двухрядный корпус). Он имеет 4 КБ ПЗУ (программируемое пространство на кристалле) и 128 байтов встроенного ОЗУ, при желании 64 КБ внешней памяти могут быть связаны с микроконтроллером.Есть четыре параллельных 8-битных порта, которые легко программируются и адресуются. Встроенный кварцевый генератор интегрирован в микроконтроллер с тактовой частотой 12 МГц. В микроконтроллере есть последовательный порт ввода / вывода, который имеет 2 контакта. В него также встроены два таймера по 16 бит; эти таймеры могут использоваться как таймеры для внутреннего функционирования, а также как счетчики для внешнего функционирования. Микроконтроллер состоит из 5 источников прерываний, а именно: прерывание от последовательного порта
, прерывание от таймера 1, внешнее прерывание 0, прерывание от таймера 0, внешнее прерывание 1.Режим программирования этого контроллера micro-
включает в себя GPR (регистры общего назначения), SFR (регистры специальных функций) и SPR (регистры специального назначения).

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

: Контроллер периферийного интерфейса (PIC)
, предоставленный Micro-chip Technology для классификации своих микроконтроллеров с одиночным чипом. Эти устройства оказались чрезвычайно успешными в 8-битных микроконтроллерах. Основная причина этого заключается в том, что Micro-Chip Technology постоянно модернизирует архитектуру устройства и включает в микроконтроллер столь необходимые периферийные устройства, чтобы удовлетворить потребности клиентов.Микроконтроллеры PIC очень популярны среди любителей и промышленников; это единственная причина широкой доступности, низкой стоимости, большой базы пользователей и возможности последовательного программирования.

Архитектура микроконтроллера PIC:
Архитектура 8-битных микроконтроллеров PIC может быть отнесена к следующей категории:
1. Архитектура базовой линии – В базовую архитектуру включены микроконтроллеры PIC семейства PIC10F, за исключением части семейств PIC12 и PIC16. также включены. Эти устройства используют 12-битную архитектуру программного слова с альтернативами от шести до двадцати восьми выводов.
Кратко определенный набор атрибутов базовой архитектуры позволяет создавать наиболее прибыльные продуктовые решения. Эта архитектура идеально подходит для гаджетов с батарейным питанием. Серия PIC10F200 – еще один недорогой 8-битный микроконтроллер флэш-памяти с 6-контактным корпусом.

2. Архитектура среднего диапазона – в эту среднюю линию добавлены семейства PIC12 и PIC16, которые атрибутируют 14-битную архитектуру программного слова. Гаджеты среднего уровня PIC16 предлагают широкий спектр альтернативных пакетов (от 8 до 64 пакетов) с низким и высоким уровнем включения периферийных устройств
.Это устройство PIC16 поддерживает множество аналоговых, цифровых и последовательных периферийных устройств, таких как SPI, USART, I2C, USB, ЖК-дисплеи и аналого-цифровые преобразователи. Микроконтроллеры PIC16 среднего уровня обладают функцией приостановки управления с восьмиуровневой аппаратной нагрузкой.
3. Высокопроизводительная архитектура. Высокопроизводительная архитектура включала семейство устройств PIC18. Эти микроконтроллеры используют 16-битную архитектуру программного слова вместе с альтернативами от 18 до 100 выводов.Устройства PIC18 представляют собой высокопроизводительные микроконтроллеры со встроенными аналого-цифровыми преобразователями. Все микроконтроллеры PIC18 объединяют высокоразвитую архитектуру RISC, которая поддерживает флеш-устройства. PIC18 имеет улучшенные атрибуты фундамента, 32 уровня глубокой нагрузки и несколько внутренних и внешних прерываний.

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

AVR: Микроконтроллер
AVR, также известный как Advanced Virtual RISC, представляет собой индивидуальный 8-битный микроконтроллер RISC с 8-разрядной архитектурой Гарварда.Он был изобретен Атмелем в 1966 году. Архитектура Гарварда означает, что программа и данные накапливаются в разных местах и ​​используются одновременно. Это было одно из передовых семейств микроконтроллеров, в которых встроенная флэш-память использовалась в основном для хранения программ, в отличие от одноразовых программируемых EPROM, EEPROM или ROM, используемых другими микроконтроллерами одновременно. Флэш-память – это энергонезависимая (постоянная при отключении питания) программируемая память.Архитектура микроконтроллера AVR: Архитектура микроконтроллера
AVR была разработана Альф-Эгилем Богеном и Вегардом Волланом. Название AVR происходит от имен разработчиков архитектуры микроконтроллера. AT90S8515 был передовым микроконтроллером, основанным на архитектуре AVR; с другой стороны, первым микроконтроллером, который поразил коммерческий рынок, был AT90S1200, выпущенный в 1997 году.

SRAM, Flash и EEPROM объединены в одну микросхему, что устраняет необходимость в любой другой внешней памяти в максимальном количестве устройств.Несколько устройств содержат альтернативу параллельной внешней шины, чтобы добавить дополнительные устройства памяти данных. Приблизительно все устройства, за исключением микросхем TinyAVR, имеют последовательный интерфейс, который используется для соединения больших последовательных микросхем Flash и EEPROM.

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

AMR:
AMR – это название компании, которая разрабатывает архитектуру микропроцессоров. Он также занимается лицензированием их для производителей, которые производят настоящие чипы. На самом деле AMR – это настоящая 32-битная архитектура RISC.Первоначально он был разработан в 1980 году компанией Acorn Computers Ltd. Этот базовый микропроцессор AMR не имеет встроенной флэш-памяти. ARM специально разработан для устройств с микроконтроллерами, его легко обучить и использовать, но он достаточно мощный для самых сложных встраиваемых устройств.

Архитектура микроконтроллера AMR:
Архитектура AMR – это 32-битный RISC-процессор, разработанный ARM Ltd. Благодаря своим характеристикам энергосбережения центральные процессоры ARM преобладают на рынке мобильной электроники, где меньшее энергопотребление является жизненно важной задачей.Архитектура ARM состоит из нижележащих элементов RISC: –

  • Максимальное функционирование за один цикл
  • Постоянный регистровый файл размером 16 × 32 бита.
  • Загрузить или сохранить архитектуру.
  • Заданная ширина инструкции 32 бита для упрощения конвейерной обработки и декодирования при минимальной плотности кода.
  • Для несогласованного доступа к памяти нет поддержки
Применение микроконтроллера

: Микроконтроллеры
предназначены для встроенных устройств по сравнению с микропроцессорами, которые используются в ПК или других универсальных устройствах
.Микроконтроллеры используются в автоматически управляемых изобретениях и устройствах, таких как электроинструменты, имплантируемые медицинские устройства, системы управления автомобильными двигателями, офисные машины, устройства дистанционного управления, игрушки и многие другие встроенные системы
. Уменьшая размер и затраты по сравнению с конструкцией, в которой используются другой микропроцессор, устройства ввода / вывода и память, микроконтроллеры делают недорогой цифровой контроль все большего числа устройств и операций.Контроллеры Micro-
смешанного сигнала являются общими; Сборка аналоговых компонентов требовала управления нецифровыми электронными структурами.

Применение микроконтроллера в повседневных устройствах:

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


Применение микроконтроллера в промышленных устройствах управления:

  • Промышленные контрольно-измерительные приборы
  • Устройства управления технологическими процессами


Применение микроконтроллера в измерительных приборах:

  • Вольтметр
  • Измерение вращающихся объектов
  • Счетчик тока
  • Переносные измерительные системы

Источник: www.electronicshub.org/microcontrollers/

Что такое микроконтроллер? – Как работают микроконтроллеры

Микроконтроллер – это компьютер. Все компьютеры – будь то персональный настольный компьютер, большой мэйнфрейм или микроконтроллер – имеют несколько общих черт:

  • Все компьютеры имеют ЦП (центральный процессор), который выполняет программы. Если вы сейчас сидите за настольным компьютером и читаете эту статью, центральный процессор этого компьютера выполняет программу, реализующую веб-браузер, отображающий эту страницу.
  • CPU загружает программу откуда-то. На вашем настольном компьютере программа браузера загружается с жесткого диска.
  • Компьютер имеет некоторую RAM (оперативную память), где он может хранить «переменные».
  • И компьютер имеет несколько устройств ввода и вывода, так что он может разговаривать с людьми. На вашем настольном компьютере клавиатура и мышь являются устройствами ввода, а монитор и принтер – устройствами вывода. Жесткий диск – это устройство ввода-вывода – он обрабатывает как ввод, так и вывод.

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

  • Микроконтроллеры – это « встроенный » в какое-то другое устройство (часто потребительский продукт), чтобы они могли управлять функциями или действиями продукт. Поэтому другое название микроконтроллера – «встроенный контроллер».«
  • Микроконтроллеры предназначены для выполнения одной задачи и запускают одну конкретную программу. Программа хранится в ПЗУ (постоянное запоминающее устройство) и обычно не изменяется.
  • Микроконтроллеры часто представляют собой устройства с низким энергопотреблением . Настольный компьютер почти всегда подключается к розетке и может потреблять 50 Вт электроэнергии. Микроконтроллер с батарейным питанием может потреблять 50 милливатт.
  • Микроконтроллер имеет специальное устройство ввода и часто (но не всегда) имеет небольшой светодиод или ЖК-дисплей для вывода .Микроконтроллер также принимает входные данные от устройства, которым он управляет, и управляет устройством, отправляя сигналы различным компонентам устройства. Например, микроконтроллер внутри телевизора принимает входные данные с пульта дистанционного управления и отображает выходные данные на экране телевизора. Контроллер управляет переключателем каналов, акустической системой и некоторыми регулировками электроники кинескопа, такими как оттенок и яркость. Контроллер двигателя в автомобиле принимает данные от датчиков, таких как кислородный датчик и датчик детонации, и управляет такими вещами, как смесь топлива и синхронизация свечей зажигания.Контроллер микроволновой печи принимает ввод с клавиатуры, отображает выходной сигнал на ЖК-дисплее и управляет реле, которое включает и выключает микроволновый генератор.
  • Микроконтроллер часто бывает маленьким и недорогим . Компоненты выбираются так, чтобы минимизировать размер и быть как можно более дешевыми.
  • Микроконтроллер часто, но не всегда, в некотором роде имеет повышенную защиту . Например, микроконтроллер, управляющий двигателем автомобиля, должен работать при экстремальных температурах, с которыми обычный компьютер обычно не может справиться.Микроконтроллер автомобиля на Аляске должен нормально работать при -30 градусов F (-34 C), в то время как тот же микроконтроллер в Неваде может работать при 120 градусах F (49 C). Когда вы добавляете тепло, выделяемое двигателем, температура в моторном отсеке может достигать 150 или 180 градусов F (65-80 C). С другой стороны, микроконтроллер, встроенный в видеомагнитофон, совсем не защищен.

Фактический процессор , используемый для реализации микроконтроллера, может сильно различаться.Например, сотовый телефон, показанный на странице «Внутри цифрового сотового телефона», содержит процессор Z-80. Z-80 – это 8-битный микропроцессор, разработанный в 1970-х годах и первоначально использовавшийся в домашних компьютерах того времени. Мне сказали, что Garmin GPS, показанный в Как работают GPS-приемники, содержит маломощную версию Intel 80386. Изначально 80386 использовался в настольных компьютерах.

Во многих продуктах, например в микроволновых печах, требования к ЦП довольно низкие, и цена является важным фактором. В этих случаях производители обращаются к специализированным микросхемам микроконтроллера – микросхемам, которые изначально были разработаны как недорогие, небольшие, маломощные встроенные процессоры.Motorola 6811 и Intel 8051 являются хорошими примерами таких чипов. Также существует линейка популярных контроллеров под названием «микроконтроллеры PIC», созданная компанией Microchip. По сегодняшним меркам эти процессоры невероятно минималистичны; но они чрезвычайно недороги при покупке в больших количествах и часто могут удовлетворить потребности разработчика устройства с помощью всего лишь одного чипа.

Типичная микросхема микроконтроллера младшего уровня может иметь 1000 байтов ПЗУ и 20 байтов ОЗУ на микросхеме, а также восемь контактов ввода / вывода.В больших количествах стоимость этих чипов иногда может составлять всего несколько копеек. Вы, конечно, никогда не собираетесь запускать Microsoft Word на таком чипе – Microsoft Word требует, возможно, 30 мегабайт оперативной памяти и процессора, который может выполнять миллионы инструкций в секунду. Впрочем, для управления микроволновой печью Microsoft Word тоже не нужен. С микроконтроллером у вас есть одна конкретная задача, которую вы пытаетесь выполнить, и важна низкая стоимость и производительность с низким энергопотреблением.

микроконтроллеров везде

микроконтроллеров повсюду

Микроконтроллеры везде…..более здесь

Используется во всем, от простейшего контроллера полива газона до очень сложные спутниковые системы, микроконтроллер стал вездесущий и невидимый. В среднем в американском домохозяйстве около 60 встроенных микроконтроллеры. 1 BMW 7-й серии 1999 года имеет 65 микроконтроллеров. 2 Ежегодно сюда добавляется более 5 миллиардов микроконтроллеров. Хотя микроконтроллеры в ПК наиболее заметны, они составляют всего 6% от рынок микроконтроллеров. 3

Где используются микроконтроллеры

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

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

Микроконтроллеры – это законченные компьютерные системы на микросхеме, обычно объединяет арифметико-логический блок (ALU), память, таймер / счетчики, последовательный порт, порты ввода / вывода (I / O) и тактовый генератор.

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

Другой пример – микроволновая печь. Давайте посмотрим, как микроконтроллер функционирует при приготовлении пакета попкорна в микроволновой печи.

Вы открываете дверь и кладете внутрь пакет с попкорном.Ты близко дверь и нажмите кнопку с надписью «Попкорн». Через несколько минут прозвучал тон объявляет, что попкорн готов. Что произошло за кулисами?

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

Это простой пример приложения микроконтроллера. Доступны микроконтроллеры с дополнительными функциями, такими как аналого-цифровой. преобразователи (АЦП), широтно-импульсная модуляция (ШИМ), сторожевые таймеры, контроллер вычислительная сеть (CAN) и функции безопасности.

Что такое микроконтроллер? – Build Electronic Circuits

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

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

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

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

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

Микроконтроллер – это электронный компонент, похожий на мозг. Он принимает электрические сигналы и принимает решения на основе этих сигналов. Затем он реагирует, издавая электрические сигналы.

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

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

Как управлять микроконтроллером

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

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

Для чего можно использовать микроконтроллер?

Что угодно!

Микроконтроллер – один из важнейших компонентов технологии, которую вы видите сегодня.

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

Как узнать микроконтроллеры?

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

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

Ознакомьтесь с официальным стартовым комплектом от Arduino.

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

С чем вы боретесь, когда дело касается микроконтроллеров? Оставьте свой комментарий ниже.

Возврат от «Что такое микроконтроллер» к «Электронным схемам»

Изучите Интернет вещей с нуля # 3 – Что такое микроконтроллеры и как они работают?

Вступление

Это пост №3 из серии IoT, которую я пишу. В этой статье я расскажу о микроконтроллерах, объясню, что они собой представляют, как они работают, и приведу примеры некоторых микроконтроллеров.

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

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

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

Состав и компоненты

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

, как правило, построены по той же схеме компонентов и структур, а именно:

  1. CPU ( Control Processing Unit ) – мозг микроконтроллера, CPU отвечает за «требуемые задачи», такие как выборка, декодирование и выполнение (Harvard Architecure).
  2. Память – используется для хранения данных и программ. Микроконтроллер обычно имеет разделение на RAM и ROM.
  3. Порты ввода / вывода
  4. ( цифровой ) – эти порты используются в качестве интерфейсов для различных устройств, таких как светодиоды, ЖК-дисплеи, датчики GPS и т. Д.
  5. Последовательные порты ( аналоговый ) – это аналоговые порты, они используются для подключения нецифровых внешних компонентов.
  6. Таймеры и счетчики – используются для управления всеми операциями отсчета времени и счета в микроконтроллере.Его работа очень похожа на часы на персональных компьютерах.
  7. АЦП
  8. (аналого-цифровой преобразователь , ) – Основная функция АЦП заключается в изменении сигналов с аналоговых на цифровые.
  9. ЦАП
  10. (цифро-аналоговый преобразователь , ) – Основная функция ЦАП состоит в изменении сигналов с цифрового на аналоговый.
  11. Управление прерыванием – Управление прерыванием, используемое для обеспечения поведения прерывания для рабочей программы. Это прерывание может быть либо задержкой, либо прерыванием.

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

Arduino является примером микроконтроллера, поскольку Raspberry Pi является примером микропроцессора, оба из них могут использоваться для IoT, сбора данных и автоматизации, но у них есть различия.
Люди иногда путают микроконтроллеры с микропроцессорами, но между этими микроконтроллерами есть много различий, поэтому я перечислил только ключевые различия и организовал их в виде таблицы.

Микропроцессоры Микроконтроллеры
Может выполнять большинство повседневных задач, которые способен выполнять приличный компьютер Ваш ассортимент больше ограничен электроникой и датчиками или небольшими системами
На основе модели фон Неймана На основе архитектуры Гарварда
Большое количество инструкций для обработки Меньше инструкций для обработки
Предлагает встроенную программу мониторинга / отладчика с возможностью прерывания Нет встроенных мониторов, требуется прерывание вручную
Слишком много энергии Идеально для компактных систем с низким энергопотреблением
Многие микропроцессоры имеют тактовую частоту до 4 ГГц (быстрее) Микроконтроллеры могут работать со скоростью 200 МГц или меньше (медленнее)

Как работает микросхема?

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

Что такое микроконтроллеры? Что такое Ардуино? | by Omar A

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

Какое значение имеет «компьютер на микросхеме», когда его мощность намного меньше, чем у обычного компьютера? Что ж, на самом деле существует множество практических приложений для микроконтроллеров в целом. Они обычно встречаются в продуктах и ​​машинах, где есть необходимость программировать какую-либо функциональность без всех наворотов полноценного компьютера, обычно с необходимостью очень простого интерфейса.Примерами этих машин являются микроволны, автомобильные функции, такие как тормозные огни и управление двигателем, цифровые часы, стиральные машины и т. Д. Основная цель микроконтроллеров – на самом базовом уровне возможность управлять физическим миром, включая машины, с помощью программирования и логики.

Arduino – это бренд, который производит и продает собственные микроконтроллеры, так же как Apple продает ноутбуки Macbook. В этом посте я покажу некоторые основные детали и покажу несколько примеров очень интересных функций микроконтроллеров Arduino и того, как можно начать создавать значимые проекты.

Макетная плата :

Программное обеспечение (среда программирования):

Аппаратное обеспечение (датчики, резисторы, питание и т. Д.):

Простой светодиод:

Потенциометр с динамиком:

Датчик температуры со светодиодом:

Серводвигатель с обработкой:

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

Для подавляющего большинства электронных продуктов требуется микроконтроллер или микропроцессор в качестве «мозга».Для продвинутых продуктов, которым требуются возможности высокоскоростной обработки (например, смартфон или планшет), необходим микропроцессор, в противном случае микроконтроллер обычно является лучшим решением. Например, Arduino основан на микроконтроллере, а Raspberry Pi – на микропроцессоре.

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

Хотя поиск в Google может направить вас в правильном направлении, я рекомендую искать микроконтроллеры у основных дистрибьюторов электронных компонентов, таких как Digikey, Arrow и Mouser. Это позволит вам сузить область поиска только до микроконтроллеров, которые активно доступны. Это также позволяет быстро сравнивать цены.

В начале проекта неплохо было бы нарисовать блок-схему системы, которую вы представляете.Какие вещи вы собираетесь подключать к микроконтроллеру?

Блок-схема системы неоценима для этого раннего планирования и может сказать вам, сколько контактов ввода-вывода (I / O) и портов последовательной связи необходимо для проекта.

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

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

Память: Большинство микроконтроллеров, доступных сегодня, имеют встроенную флэш-память и оперативную память.FLASH – это энергонезависимая память, используемая для хранения программ, а RAM – энергозависимая память, используемая для временного хранения. Некоторые микроконтроллеры также включают в себя память EEPROM для постоянного хранения данных.

Цифровой ввод и вывод общего назначения (GPIO): Это выводы логического уровня, используемые для ввода и вывода. Обычно они могут опускаться или истощаться до нескольких десятков миллиампер и могут быть сконфигурированы как открытый сток или двухтактный.

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

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

In Circuit Programming (ISP): ISP позволяет вам программировать микроконтроллер, когда он установлен в цепи приложения, вместо того, чтобы снимать его для программирования.Двумя наиболее распространенными протоколами ISP являются JTAG и SWD.

Беспроводная связь: Если вашему продукту требуются возможности беспроводной связи, существуют специализированные микроконтроллеры, поддерживающие Bluetooth, WiFi, ZigBee и другие стандарты беспроводной связи.

Последовательная связь

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

Универсальный асинхронный передатчик-приемник (UART) – это последовательный порт, который передает цифровые слова, обычно длиной от 7 до 8 бит, между стартовым битом и дополнительным битом четности и одним или двумя стоповыми битами.UART обычно используется вместе с другими стандартами, такими как RS-232 или RS-485.

UART – самый старый тип последовательной связи. UART – это асинхронный протокол, что означает отсутствие тактового сигнала. Многие микроконтроллеры также включают синхронную версию UART, называемую USART.

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

Inter Integrated circuit (I2C): I2C, также обозначаемый как I2C, – это двухпроводная последовательная шина, используемая для связи между микроконтроллером и другими микросхемами на плате. Как и SPI, I2C также является синхронным протоколом. Однако, в отличие от SPI, I2C использует одну строку для ввода и вывода данных. Также вместо сигнала выбора микросхемы I2C использует уникальный адрес для каждого периферийного устройства. Преимущество I2C в том, что он использует только 2 провода, но он медленнее, чем SPI.

Универсальная последовательная шина (USB) – это стандарт, знакомый большинству людей. USB – один из самых быстрых протоколов последовательной связи. Обычно он используется для подключения периферийных устройств, требующих передачи больших объемов данных.

Controller Area Network (CAN) – это стандарт последовательной связи, разработанный специально для использования в автомобильных приложениях.

Известные ядра микроконтроллеров

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

ARM Cortex-M

32-битная серия ARM Cortex M – одно из наиболее часто используемых сегодня ядер микроконтроллеров. ARM на самом деле не производит и не продает микроконтроллеры, вместо этого они лицензируют свою архитектуру другим производителям микросхем.

Многие компании предлагают микроконтроллеры Cortex-M, включая ST Microelectronics, Freescale Semiconductor, Silicon Labs, Texas Instruments и Atmel.

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

Cortex M – мой любимый выбор для продуктов, которые будут выведены на рынок.Они недорогие, мощные и широко используются.

8051

8-битный микроконтроллер 8051 был разработан Intel еще в 1980 году. Это старейшее ядро ​​микроконтроллера, широко используемое до сих пор. 8051 в настоящее время доступен в усовершенствованных современных версиях, продаваемых по крайней мере 8 различными производителями полупроводников. Например, популярный чип Bluetooth Low-Energy от CSR (CSR101x) использует ядро ​​8051.

ПИК

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

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

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