Суббота, 21 апреля 2012 04:44

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

Written by
Rate this item
(0 votes)

   Надеюсь, Вы не сильно утомились, читая про двоичную арифметику, логические операции и т.д., но что поделаешь? Без этого никуда.

Дальше  переходим к рассмотрению следующей главы -микроконтроллеры ….

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

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

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

В настоящее время в мире выпускаются тысячи разновидностей микроконтроллеров. Они поставляются в различных корпусах, могут работать на частотах до 200 МГц, количество выводов МК может достигать несколько сотен, способны работать  при температуре от –55 до +125 °C , есть даже авиационные микроконтроллеры и т.д.. При этом цена изделий постоянно снижается .

Стоимость микроконтроллеров 18 серии тоже сравнительно невелика. К примеру стоимость одного экземпляра микроконтроллера PIC18F25K20, (который мы то же будем рассматривать в дальнейшем) менее 100 рублей , а возможностей у него достаточно много, учитывая то, что этот МК имеет на своем «борту» встроенные периферийные модули, такие, как  таймеры, AЦП, детектор пониженного питания , SPI и другие . Чуть позже мы более подробно остановимся на их изучении.

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

Вечный вопрос:

- На каком языке писать программы?

Ответ:

- На том, который Вы сейчас пытаетесь изучить, а именно на ассемблере.

Это, конечно, шутка. Те, кто пишет программы на «СИ», однозначно утверждают, что «только «СИ». Кто пишет на ассемблере (asm), говорят, что только на нем можно написать компактную программу, оптимизированную под конкретную задачу, без лишнего кода, места в памяти для которого в микроконтроллерах не так и много. Со всеми можно согласиться, но только в отдельных моментах. На мой взгляд, неплохо знать оба языка. Вот я  пишу в основном на ассемблере, тем не менее, понимаю, что «СИ» необходим, особенно там, где нужно быстро  написать программу и, в то же время, нет недостатка в необходимом объеме памяти программ.  Кроме этого, в «СИ», при необходимости можно сделать и вставку кода на ассемблере. Однако, не будем про «СИ», он нам пока не нужен, а многим никогда и не понадобится, т.к. и на asm можно писать довольно сложные программы.

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

alt

В основу типового микроконтроллера входят:

  • Центральное процессорное устройство      (ЦПУ).

Здесь все просто – процессор или исполнитель команд, записанных в машинных кодах.

  • Оперативное запоминающее устройство    (ОЗУ).

Или, как принято называть, просто «память». Эта та память, которая «стирается» при программном «сбросе» или пропадании питания микроконтроллера. То есть, она энергозависимая. В ОЗУ временно хранятся данные, необходимые для работы нашей программы.

  • Постоянное запоминающее устройство       (ПЗУ).

Тоже «память». Но информация из нее не «исчезает» при «сбросе» или пропадании питания, как в случае с ОЗУ. То есть она является энергонезависимой.

Их в микроконтроллерах (по крайней мере, в ПИКах 18 серии, во всех модификациях) две. Одна память называется «Память программ» и, соответственно, из названия понятно, что в этой памяти хранится написанная нами программа. Вторая память называется EEPROM, и в ней хранятся данные. И эти данные не  пропадут, даже при выключении  питания микроконтроллера.

  • Порты ввода/вывода, таймеры, цифро-аналоговые и аналого-цифровые преобразователи, счетчики и др. модули.

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

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

Read 2025 times Last modified on Воскресенье, 10 августа 2014 05:58

Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru